kopia lustrzana https://github.com/sepandhaghighi/samila
base added
rodzic
1058677b27
commit
d963b3c254
|
@ -1,2 +1,18 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Samila functions."""
|
||||
|
||||
def float_range(start, stop, step):
|
||||
"""
|
||||
Generate float range.
|
||||
|
||||
:param start: start point
|
||||
:type start: float
|
||||
:param stop: stop point
|
||||
:type step: float
|
||||
:param step: step
|
||||
:type step: float
|
||||
:return: yield result
|
||||
"""
|
||||
while start < stop:
|
||||
yield float(start)
|
||||
start += step
|
||||
|
|
|
@ -1,2 +1,34 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Samila generative image."""
|
||||
import random
|
||||
import itertools
|
||||
import matplotlib.pyplot as plt
|
||||
from .functions import float_range
|
||||
from .params import *
|
||||
|
||||
class GenerativeImage:
|
||||
|
||||
def __int__(self, function1, function2):
|
||||
self.function1 = function1
|
||||
self.function2 = function2
|
||||
|
||||
def generate(self, seed=None, start=DEFAULT_START, step=DEFAULT_STEP, stop=DEFAULT_STOP):
|
||||
self.data1 = []
|
||||
self.data2 = []
|
||||
self.seed = seed
|
||||
random.seed(self.seed)
|
||||
range1 = list(float_range(start, stop, step))
|
||||
range2 = list(float_range(start, stop, step))
|
||||
range_prod = list(itertools.product(range1, range2))
|
||||
for item in range_prod:
|
||||
self.data1.append(self.function1(item[0], item[1]))
|
||||
self.data2.append(self.function2(item[0], item[1]))
|
||||
|
||||
def plot(self, color=DEFAULT_COLOR, spot_size=DEFAULT_SPOT_SIZE, size=DEFAULT_IMAGE_SIZE, projection=DEFAULT_PROJECTION):
|
||||
fig = plt.figure()
|
||||
fig.set_size_inches(size[0], size[1])
|
||||
ax = fig.add_subplot(111, projection=projection)
|
||||
ax.scatter(self.data2, self.data1, alpha=0.1, c=color, s=spot_size)
|
||||
ax.axis('off')
|
||||
|
||||
|
||||
|
|
|
@ -1,2 +1,11 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Samila params."""
|
||||
import math
|
||||
|
||||
DEFAULT_START = -1 * math.pi
|
||||
DEFAULT_STOP = math.pi
|
||||
DEFAULT_STEP = 0.01
|
||||
DEFAULT_COLOR = "black"
|
||||
DEFAULT_IMAGE_SIZE = (10,10)
|
||||
DEFAULT_SPOT_SIZE = 0.01
|
||||
DEFAULT_PROJECTION = None
|
||||
|
|
Ładowanie…
Reference in New Issue