linear phase difference change:
x = sin(theta + phasetheta);
y = cos(theta)
and
x = sin(thetax);
y = cos(thetay);
are equivalent forms, assuming thetax has a different delta than thetay. What's important is the *ratio* of theta to phasetheta (or thetax to thetay). When the ratio is a simple fraction, the shape is simple and predictable; ratios that aren't simple fractions (e.g. .51) tend to produce elaborate net-like shapes.
trig phase difference change:
x = sin(theta)
y = cos(theta + sin(phasetheta));
Again, it's the ratio between the deltas that matters. Incrementing theta by .1 and phasetheta by .01 will have the same effect as .2 and .02.
original:
static double rad = .25;
double ox = sin(theta + sin(phasetheta) + i);
double oy = cos(theta2);
m_View->SetNormOrigin(ox * rad +.35, oy * rad +.35, FALSE);
theta += .01;
theta2 += .02;
phasetheta += .0311;
slower and better:
static double rad = .25;
double ox = sin(theta + sin(phasetheta));
double oy = cos(theta2);
m_View->SetNormOrigin(ox * rad +.35, oy * rad +.35, FALSE);
theta += .001;
theta2 += .002;
phasetheta += .00211;
Saturday, June 25, 2005
lissajous origin
constant phase difference: affects width of oval, difference of PI/2 gives a line
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment