|
1 | 1 | ## Common Waves |
2 | 2 |
|
3 | | -**Sine Wave:** `Math.sin(t\*vf)\*va` |
| 3 | +**Sine Wave:** `Math.sin(t*vf)*va` |
4 | 4 |
|
5 | | -**Square Wave:** `Math.sign(Math.sin(t\*vf))\*va` |
| 5 | +**Square Wave:** `Math.sign(Math.sin(t*vf))*va` |
6 | 6 |
|
7 | | -**Triangle Wave:** `(2/Math.PI)\*Math.asin(Math.sin(2\*t\*vf))\*va` |
| 7 | +**Triangle Wave:** `(2/Math.PI)*Math.asin(Math.sin(2*t*vf))*va` |
8 | 8 |
|
9 | | -**Triangle Wave (GGB):** `(2/Pi)\*asin(sin(2\*t\*vf))\*va` |
| 9 | +**Triangle Wave (GGB):** `(2/Pi)*asin(sin(2*t*vf))*va` |
10 | 10 |
|
11 | 11 |
|
12 | 12 |
|
13 | 13 | ## Hybrid Wave |
14 | 14 |
|
15 | | -**GGB:** `(sin(t vf)\*((2)/(π)) sin^(-1)(sin(2 t vf))+sgn(sin(t vf)))\*((1.84)/(π)) va` |
| 15 | +**GGB:** `(sin(t vf)*((2)/(π)) sin^(-1)(sin(2 t vf))+sgn(sin(t vf)))*((1.84)/(π)) va` |
16 | 16 |
|
17 | | -**JS:** `((Math.sin(t\*vf)\*((2)/(Math.PI))\*Math.asin(Math.sin(2\*t\*vf))+Math.sign(Math.sin(t\*vf)))\*((1.84)/(Math.PI)))\*va` |
| 17 | +**JS:** `((Math.sin(t*vf)*((2)/(Math.PI))*Math.asin(Math.sin(2*t*vf))+Math.sign(Math.sin(t*vf)))*((1.84)/(Math.PI)))*va` |
18 | 18 |
|
19 | 19 |
|
20 | 20 |
|
21 | 21 | ## Modified Hybrid Wave |
22 | 22 |
|
23 | | -**GGB:** `((sin(t vf)\*((2)/(π)) sin^(-1)(sin(2 t vf))+sgn(sin(t vf)))\*((0.54)/(π))+(sin(t vf)\*((2)/(π)) sin^(-1)((sin(2 t vf))^(vp))))\*va` |
| 23 | +**GGB:** `((sin(t vf)*((2)/(π)) sin^(-1)(sin(2 t vf))+sgn(sin(t vf)))*((0.54)/(π))+(sin(t vf)*((2)/(π)) sin^(-1)((sin(2 t vf))^(vp))))*va` |
24 | 24 |
|
25 | | -**JS:** `((Math.sin(t\*vf)\*((2)/(Math.PI))\*Math.asin(Math.sin(2\*t\*vf))+Math.sign(Math.sin(t\*vf)))\*((0.54)/(Math.PI))+(Math.sin(t\*vf)\*((2)/(Math.PI))\*Math.asin((Math.sin(2\*t\*vf))\*\*(vp))))\*va` |
| 25 | +**JS:** `((Math.sin(t*vf)*((2)/(Math.PI))*Math.asin(Math.sin(2*t*vf))+Math.sign(Math.sin(t*vf)))*((0.54)/(Math.PI))+(Math.sin(t*vf)*((2)/(Math.PI))*Math.asin((Math.sin(2*t*vf))**(vp))))*va` |
26 | 26 |
|
27 | 27 | *Parameter should be an integer; Polarity changes base pattern* |
28 | 28 |
|
29 | 29 |
|
30 | 30 |
|
31 | 31 | ## Mountain Wave |
32 | 32 |
|
33 | | -**GGB**: `((2)/(π)) sin^(-1)(sin(t\*2 vf)) va+((2)/(π)) tan(sin(t vf)) va vp` |
| 33 | +**GGB**: `((2)/(π)) sin^(-1)(sin(t*2 vf)) va+((2)/(π)) tan(sin(t vf)) va vp` |
34 | 34 |
|
35 | | -**JS**: `(2/Math.PI)\*Math.asin(Math.sin(2\*t\*vf))\*va + (2/Math.PI)\*Math.tan(Math.sin(t\*vf))\*va\*vp` |
| 35 | +**JS**: `(2/Math.PI)*Math.asin(Math.sin(2*t*vf))*va + (2/Math.PI)*Math.tan(Math.sin(t*vf))*va*vp` |
36 | 36 |
|
37 | 37 |
|
38 | 38 |
|
39 | 39 | ## Cosine Sine Wave |
40 | 40 |
|
41 | 41 | **GGB:** `sin(cos(t vf) vp) va` |
42 | 42 |
|
43 | | -**JS:** `Math.sin(Math.cos(t\*vf)\*vp)\*va` |
| 43 | +**JS:** `Math.sin(Math.cos(t*vf)*vp)*va` |
44 | 44 |
|
45 | 45 |
|
46 | 46 |
|
47 | 47 | ## Spike Wave |
48 | 48 |
|
49 | 49 | **GGB:** `(sin(t vf))^(vp) va` |
50 | 50 |
|
51 | | -**JS**: `(Math.sin(t\*vf)\*\*vp)\*va` |
| 51 | +**JS**: `(Math.sin(t*vf)**vp)*va` |
52 | 52 |
|
53 | 53 | *Parameter (vp) should be an odd integer* |
54 | 54 |
|
|
58 | 58 |
|
59 | 59 | **GGB:** `cos(tan(t vf) vp) va` |
60 | 60 |
|
61 | | -**JS:** `Math.cos(Math.tan(t\*vf)\*vp)\*va` |
| 61 | +**JS:** `Math.cos(Math.tan(t*vf)*vp)*va` |
62 | 62 |
|
63 | 63 |
|
64 | 64 |
|
65 | 65 | ## Sintan Wave |
66 | 66 |
|
67 | 67 | **GGB:** `sin(tan(t vf)) va` |
68 | 68 |
|
69 | | -**JS:** `Math.sin(Math.tan(t\*vf))\*va` |
| 69 | +**JS:** `Math.sin(Math.tan(t*vf))*va` |
70 | 70 |
|
71 | 71 |
|
72 | 72 |
|
73 | 73 | ## Pulse Wave |
74 | 74 |
|
75 | 75 | **GGB:** `sin(cos(t vf) (5+vp-1)) sin^(7)(t vf) va` |
76 | 76 |
|
77 | | -**JS**: `((Math.sin(Math.cos(t\*vf)\*(5+vp-1)))\*((Math.sin(t\*vf)\*\*7)))\*va` |
| 77 | +**JS**: `((Math.sin(Math.cos(t*vf)*(5+vp-1)))*((Math.sin(t*vf)**7)))*va` |
78 | 78 |
|
79 | 79 |
|
80 | 80 |
|
81 | 81 | ## Noisy Sine Wave |
82 | 82 |
|
83 | | -**GGB:** `(((2)/(π)) sin^(-1)(sin(t vf) cos(tan(t vf)))+sin(t vf))\*((va)/(2))` |
| 83 | +**GGB:** `(((2)/(π)) sin^(-1)(sin(t vf) cos(tan(t vf)))+sin(t vf))*((va)/(2))` |
84 | 84 |
|
85 | | -**JS:** `(((2)/(Math.PI))\*Math.asin(Math.sin(t\*vf)\*Math.cos(Math.tan(t\*vf)))+Math.sin(t\*vf))\*((va)/(2))` |
| 85 | +**JS:** `(((2)/(Math.PI))*Math.asin(Math.sin(t*vf)*Math.cos(Math.tan(t*vf)))+Math.sin(t*vf))*((va)/(2))` |
86 | 86 |
|
87 | 87 |
|
88 | 88 |
|
89 | 89 | ## Batman Wave |
90 | 90 |
|
91 | 91 | **GGB:** `((sin^(-1)(sin(t vf vp)))/(tan(t vf))) va` |
92 | 92 |
|
93 | | -**JS:** `((Math.asin(Math.sin(t\*vf\*vp)))/(Math.tan(t\*vf)))\*va` |
| 93 | +**JS:** `((Math.asin(Math.sin(t*vf*vp)))/(Math.tan(t*vf)))*va` |
94 | 94 |
|
95 | 95 | *Parameter (vp) should be an odd integer other than 1* |
96 | 96 |
|
|
100 | 100 |
|
101 | 101 | **GGB:** `sinh^(-1)(tan(cos(t vf+cos(t vp vf)))) va` |
102 | 102 |
|
103 | | -**JS:** `Math.asinh(Math.tan(Math.cos(t\*vf+Math.cos(t\*vp\*vf))))\*va` |
| 103 | +**JS:** `Math.asinh(Math.tan(Math.cos(t*vf+Math.cos(t*vp*vf))))*va` |
104 | 104 |
|
105 | 105 |
|
106 | 106 |
|
107 | 107 | ## Insect Wave |
108 | 108 |
|
109 | 109 | **GGB:** `sin(tanh^(-1)(sin(t vf))) va` |
110 | 110 |
|
111 | | -**JS:** `Math.sin(Math.atanh(Math.sin(t\*vf)))\*va` |
| 111 | +**JS:** `Math.sin(Math.atanh(Math.sin(t*vf)))*va` |
112 | 112 |
|
113 | 113 | *It makes a buzzing sound, like an insect* |
114 | 114 |
|
115 | 115 |
|
116 | 116 |
|
117 | 117 | ## Needle Wave |
118 | 118 |
|
119 | | -**GGB:** `((sin(tanh^(-1)(sin(t \* vf))) \* va sinh^(-1)(tan(cos(t \* vf + cos(t \* vf)))) \* va)/(sin(cos(t \* vf)) \* va))` |
| 119 | +**GGB:** `((sin(tanh^(-1)(sin(t * vf))) * va sinh^(-1)(tan(cos(t * vf + cos(t * vf)))) * va)/(sin(cos(t * vf)) * va))` |
120 | 120 |
|
121 | | -**JS:** `((Math.sin(Math.atanh(Math.sin(t\*vf)))\*va\*Math.asinh(Math.tan(Math.cos(t\*vf+Math.cos(t\*vf))))\*va)/(Math.sin(Math.cos(t\*vf))\*va))` |
| 121 | +**JS:** `((Math.sin(Math.atanh(Math.sin(t*vf)))*va*Math.asinh(Math.tan(Math.cos(t*vf+Math.cos(t*vf))))*va)/(Math.sin(Math.cos(t*vf))*va))` |
122 | 122 |
|
123 | 123 |
|
124 | 124 |
|
125 | 125 | ## Nested Sine Wave |
126 | 126 |
|
127 | 127 | **GGB:** `sin(t vf+sin(t vf vp)) va` |
128 | 128 |
|
129 | | -**JS:** `Math.sin((t\*vf)+Math.sin(t\*vf\*vp))\*va` |
| 129 | +**JS:** `Math.sin((t*vf)+Math.sin(t*vf*vp))*va` |
130 | 130 |
|
131 | 131 | *Works well if parameter is an even integer* |
132 | 132 |
|
133 | 133 |
|
134 | 134 |
|
135 | 135 | ## Nested Cosine Sine Wave |
136 | 136 |
|
137 | | -**GGB:** `sin(cos(t \* vf) \* vp) \* va sin(t \* vf + sin(t \* vf \* vp)) \* va` |
| 137 | +**GGB:** `sin(cos(t * vf) * vp) * va sin(t * vf + sin(t * vf * vp)) * va` |
138 | 138 |
|
139 | | -**JS:** `(Math.sin(Math.cos(t\*vf)\*vp)\*va)\*(Math.sin((t\*vf)+Math.sin(t\*vf\*vp))\*va)` |
| 139 | +**JS:** `(Math.sin(Math.cos(t*vf)*vp)*va)*(Math.sin((t*vf)+Math.sin(t*vf*vp))*va)` |
140 | 140 |
|
141 | 141 | *Works well if parameter is an integer* |
142 | 142 |
|
143 | 143 |
|
144 | 144 |
|
145 | 145 | ## Fin Wave |
146 | 146 |
|
147 | | -**GGB:** `((2)/(π)) sin^(-1)(sin(t vf))\*((2)/(π)) cos^(-1)(cos(t vf)) va` |
| 147 | +**GGB:** `((2)/(π)) sin^(-1)(sin(t vf))*((2)/(π)) cos^(-1)(cos(t vf)) va` |
148 | 148 |
|
149 | | -**JS:** `(((2)/(Math.PI))\*Math.asin(Math.sin(t\*vf)))\*(((2)/(Math.PI))\*Math.acos(Math.cos(t\*vf)))\*va` |
| 149 | +**JS:** `(((2)/(Math.PI))*Math.asin(Math.sin(t*vf)))*(((2)/(Math.PI))*Math.acos(Math.cos(t*vf)))*va` |
150 | 150 |
|
151 | 151 |
|
152 | 152 |
|
153 | 153 | ## Trisine Wave |
154 | 154 |
|
155 | | -**GGB:** `sin^(-1)(sin(2 t vf) sin(t vf))+sin^(-1)(sin(2 t vf)) sin^(-1)(sin(t vf\*5)) va` |
| 155 | +**GGB:** `sin^(-1)(sin(2 t vf) sin(t vf))+sin^(-1)(sin(2 t vf)) sin^(-1)(sin(t vf*5)) va` |
156 | 156 |
|
157 | | -**JS:** `Math.asin(Math.sin(2\*t\*vf)\*Math.sin(t\*vf))+Math.asin(Math.sin(2\*t\*vf))\*Math.asin(Math.sin(t\*vf\*5))\*va` |
| 157 | +**JS:** `Math.asin(Math.sin(2*t*vf)*Math.sin(t*vf))+Math.asin(Math.sin(2*t*vf))*Math.asin(Math.sin(t*vf*5))*va` |
158 | 158 |
|
159 | 159 |
|
160 | 160 |
|
161 | 161 | ## Trisine Mountain Wave |
162 | 162 |
|
163 | 163 | **GGB:** `(sin^(-1)(sin(t vf+sin(t vf)))+sin^(-1)(cos(t vf-5))) va` |
164 | 164 |
|
165 | | -**JS:** `(Math.asin(Math.sin((t\*vf)+Math.sin(t\*vf)))+Math.asin(Math.cos(t\*vf-5)))\*va` |
| 165 | +**JS:** `(Math.asin(Math.sin((t*vf)+Math.sin(t*vf)))+Math.asin(Math.cos(t*vf-5)))*va` |
166 | 166 |
|
167 | 167 |
|
168 | 168 |
|
169 | 169 | ## Lightning Wave |
170 | 170 |
|
171 | | -**GGB:** `(sin^(5)(t vf\*2)+sin(t vf)-sin^(-1)(sin(t vf\*2)) sin^(-1)(cos(t vf\*2))-sin(tan(t vf\*9))) va` |
| 171 | +**GGB:** `(sin^(5)(t vf*2)+sin(t vf)-sin^(-1)(sin(t vf*2)) sin^(-1)(cos(t vf*2))-sin(tan(t vf*9))) va` |
172 | 172 |
|
173 | | -**JS:** `((Math.sin(t\*vf\*2)\*\*5)+Math.sin(t\*vf)-Math.asin(Math.sin(t\*vf\*2))\*Math.asin(Math.cos(t\*vf\*2))-Math.sin(Math.tan(t\*vf\*9)))\*va` |
| 173 | +**JS:** `((Math.sin(t*vf*2)**5)+Math.sin(t*vf)-Math.asin(Math.sin(t*vf*2))*Math.asin(Math.cos(t*vf*2))-Math.sin(Math.tan(t*vf*9)))*va` |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 | 177 | ## Drip Wave |
178 | 178 |
|
179 | 179 | **GGB:** `(((2)/(π)) sin^(-1)(sin(t vf))+sin^(19)(t vf)) va` |
180 | 180 |
|
181 | | -**JS:** `(((2)/(Math.PI))\*Math.asin(Math.sin(t\*vf))+(Math.sin(t\*vf))^19)\*va` |
| 181 | +**JS:** `(((2)/(Math.PI))*Math.asin(Math.sin(t*vf))+(Math.sin(t*vf))^19)*va` |
182 | 182 |
|
183 | 183 |
|
184 | 184 |
|
185 | 185 | ## Bird Wave |
186 | 186 |
|
187 | | -**GGB:** `((2)/(π)) sin^(-1)(sin(2 t vf)) sin(t vf)\*1.4 va` |
| 187 | +**GGB:** `((2)/(π)) sin^(-1)(sin(2 t vf)) sin(t vf)*1.4 va` |
188 | 188 |
|
189 | | -**JS:** `(((2)/(Math.PI))\*Math.asin(Math.sin(2\*t\*vf))\*Math.sin(t\*vf)\*1.4)\*va` |
| 189 | +**JS:** `(((2)/(Math.PI))*Math.asin(Math.sin(2*t*vf))*Math.sin(t*vf)*1.4)*va` |
190 | 190 |
|
191 | 191 |
|
192 | 192 |
|
193 | 193 | ## M/W Wave |
194 | 194 |
|
195 | 195 | **GGB:** `sin(tan^(-1)(sin(t vf))+sin^(-1)(sin(3 t vf))) va` |
196 | 196 |
|
197 | | -**JS:** `(Math.sin(Math.atan(Math.sin(t\*vf))+Math.asin(Math.sin(3\*t\*vf))))\*va` |
| 197 | +**JS:** `(Math.sin(Math.atan(Math.sin(t*vf))+Math.asin(Math.sin(3*t*vf))))*va` |
198 | 198 |
|
199 | 199 |
|
200 | 200 |
|
201 | 201 | ## Bird Dip Wave |
202 | 202 |
|
203 | | -**GGB:** `sin(t vf) cos^(2)(tan(t vf) cos(t\*3 vf)) va` |
| 203 | +**GGB:** `sin(t vf) cos^(2)(tan(t vf) cos(t*3 vf)) va` |
204 | 204 |
|
205 | | -**JS:** `Math.sin(t\*vf)\*(Math.cos(Math.tan(t\*vf)\*Math.cos(t\*3\*vf))\*\*2)\*va` |
| 205 | +**JS:** `Math.sin(t*vf)*(Math.cos(Math.tan(t*vf)*Math.cos(t*3*vf))**2)*va` |
206 | 206 |
|
| 207 | + |
| 208 | + |
| 209 | +## Double Helix Square Wave |
| 210 | + |
| 211 | +**GGB:** `sin(tan(cos(t vf)) sgn(sin(t*3 vf))) va` |
| 212 | + |
| 213 | +**JS:** `Math.sin(Math.tan(Math.cos(t*vf))*Math.sign(Math.sin(t*3*vf)))*va` |
0 commit comments