Skip to content

Commit a11c96a

Browse files
New Generate Modes (#250)
* feat : F1F2_VS_F1 and F1F2_VS_F2 modes added * doc : document updated * doc : CHANGELOG.md updated * fix : tests updated
1 parent 5dbf2d3 commit a11c96a

6 files changed

Lines changed: 19 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
66

77
## [Unreleased]
88
### Added
9-
- 1 new generation mode
9+
- 3 new generation modes
1010
1. `RANDOM`
11+
2. `F1F2_VS_F1`
12+
3. `F1F2_VS_F2`
1113
### Changed
1214
- Elapsed time added to CLI
1315
- CLI bug fixed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Samila is a generative art generator written in Python, Samila lets you create i
123123
```
124124
<img src="https://github.com/sepandhaghighi/samila/raw/master/otherfiles/images/10.png">
125125

126-
ℹ️ Supported modes : `F1_VS_F2`, `F2_VS_F1`, `F1_VS_INDEX`, `F2_VS_INDEX`, `INDEX_VS_F1`, `INDEX_VS_F2`, `F1_VS_X1`, `F1_VS_X2`, `F2_VS_X1`, `F2_VS_X2`, `X1_VS_F1`, `X1_VS_F2`, `X2_VS_F1`, `X2_VS_F2` and `RANDOM`
126+
ℹ️ Supported modes : `F1_VS_F2`, `F2_VS_F1`, `F1_VS_INDEX`, `F2_VS_INDEX`, `INDEX_VS_F1`, `INDEX_VS_F2`, `F1_VS_X1`, `F1_VS_X2`, `F2_VS_X1`, `F2_VS_X2`, `X1_VS_F1`, `X1_VS_F2`, `X2_VS_F1`, `X2_VS_F2`, `F1F2_VS_F1`, `F1F2_VS_F2` and `RANDOM`
127127

128128
ℹ️ Default mode is `F1_VS_F2`
129129

examples/demo.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
"source": [
103103
"We have the option to select from various generation modes.\n",
104104
"\n",
105-
"ℹ️ The avaliable modes are `F1_VS_F2`, `F2_VS_F1`, `F1_VS_INDEX`, `F2_VS_INDEX`, `INDEX_VS_F1`, `INDEX_VS_F2`, `F1_VS_X1`, `F1_VS_X2`, `F2_VS_X1`, `F2_VS_X2`, `X1_VS_F1`, `X1_VS_F2`, `X2_VS_F1`, `X2_VS_F2` and `RANDOM`"
105+
"ℹ️ The avaliable modes are `F1_VS_F2`, `F2_VS_F1`, `F1_VS_INDEX`, `F2_VS_INDEX`, `INDEX_VS_F1`, `INDEX_VS_F2`, `F1_VS_X1`, `F1_VS_X2`, `F2_VS_X1`, `F2_VS_X2`, `X1_VS_F1`, `X1_VS_F2`, `X2_VS_F1`, `X2_VS_F2`, `F1F2_VS_F1`, `F1F2_VS_F2` and `RANDOM`"
106106
]
107107
},
108108
{

samila/genimage.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ def generate(
145145
elif self.generate_mode == GenerateMode.X2_VS_F2.value:
146146
data1_ = point[1]
147147
data2_ = self.function2(point[0], point[1]).real
148+
elif self.generate_mode == GenerateMode.F1F2_VS_F1.value:
149+
data1_ = self.function1(point[0], point[1]).real * self.function2(point[0], point[1]).real
150+
data2_ = self.function1(point[0], point[1]).real
151+
elif self.generate_mode == GenerateMode.F1F2_VS_F2.value:
152+
data1_ = self.function1(point[0], point[1]).real * self.function2(point[0], point[1]).real
153+
data2_ = self.function2(point[0], point[1]).real
148154
self.data1.append(data1_)
149155
self.data2.append(data2_)
150156
except Exception:

samila/params.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ class GenerateMode(Enum):
9292
X1_VS_F2 = "x1_vs_f2"
9393
X2_VS_F1 = "x2_vs_f1"
9494
X2_VS_F2 = "x2_vs_f2"
95+
F1F2_VS_F1 = "f1f2_vs_f1"
96+
F1F2_VS_F2 = "f1f2_vs_f2"
9597
RANDOM = "random"
9698

9799

test/overall_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,12 @@
414414
>>> g.generate(start=-2*math.pi, step=0.1, stop=math.pi/2, mode=GenerateMode.X2_VS_F2)
415415
>>> g.generate_mode == GenerateMode.X2_VS_F2.value
416416
True
417+
>>> g.generate(start=-2*math.pi, step=0.1, stop=math.pi/2, mode=GenerateMode.F1F2_VS_F1)
418+
>>> g.generate_mode == GenerateMode.F1F2_VS_F1.value
419+
True
420+
>>> g.generate(start=-2*math.pi, step=0.1, stop=math.pi/2, mode=GenerateMode.F1F2_VS_F2)
421+
>>> g.generate_mode == GenerateMode.F1F2_VS_F2.value
422+
True
417423
>>> os.remove("test.png")
418424
>>> os.remove("test2.png")
419425
>>> os.remove("data.json")

0 commit comments

Comments
 (0)