DIM SHARED xspacing
, w
, theta
, amplitude
, period
, dx
xspacing = 16
theta = 0.0
amplitude = 75.0
period = 500.0
dx
= (_PI(2) / period
) * xspacing
yvalues(i).a = yvalues(i - 1).a + 1
calcWave
renderWave
'http:// Increment theta (try different values for
'http:// 'angular velocity' here)
theta = theta + 0.02
'http:// For every x value, calculate a y value with sine function
x = theta
yvalues(i).a = yvalues(i).a + .1
x = x + dx
'http:// A simple way to draw the wave with an ellipse at each location
c~&
= hsb
(yvalues
(x
).a
MOD 360, 127, 127, 127) CircleFill x * xspacing, height / 2 + yvalues(x).y, 50, c~&
H = map(__H, 0, 255, 0, 360)
S = map(__S, 0, 255, 0, 1)
B = map(__B, 0, 255, 0, 1)
hsb~&
= _RGBA32(B
* 255, B
* 255, B
* 255, A
)
fmx = B - (B * S) + S
fmn = B + (B * S) - S
fmx = B + (B * S)
fmn = B - (B * S)
H = H - 360
H = H / 60
H
= H
- (2 * INT(((iSextant
+ 1) MOD 6) / 2))
fmd = (H * (fmx - fmn)) + fmn
fmd = fmn - (H * (fmx - fmn))
FUNCTION map!
(value!
, minRange!
, maxRange!
, newMinRange!
, newMaxRange!
) map! = ((value! - minRange!) / (maxRange! - minRange!)) * (newMaxRange! - newMinRange!) + newMinRange!
x0 = R
y0 = 0
e = 0
y0 = y0 + 1
LINE (x
- x0
, y
+ y0
)-(x
+ x0
, y
+ y0
), C
, BF
LINE (x
- x0
, y
- y0
)-(x
+ x0
, y
- y0
), C
, BF
e = e + 2 * y0
LINE (x
- y0
, y
- x0
)-(x
+ y0
, y
- x0
), C
, BF
LINE (x
- y0
, y
+ x0
)-(x
+ y0
, y
+ x0
), C
, BF
x0 = x0 - 1
e = e - 2 * x0
LINE (x
- R
, y
)-(x
+ R
, y
), C
, BF