Finite Fourier Analysis on 7-point signals
A "signal" (sequence) of 7 points in the complex plane
(or, in simple words, a general heptagon)
can be expressed as a linear combination
of six regular heptagons ("elementary signals").
For each signal,
there is a unique linear combination producing it.
The six elementary signals are shown here.
|
The six elementary signals.
|
To produce a linear combination, each of the regular heptagons
may be scaled and rotated, as shown in the following image.
That operation, in the complex plane, is achieved by multiplying
the vertex coordinates by a complex constant ("coefficient").
|
Elementary signals (gray) multiplied by their coefficients.
Light gray disks indicate the first point of each signal.
|
The heptagons, in scaled and rotated form, are then added "point-wise",
i.e. the first points of each heptagons are summed up to yield the
first point of the signal, the second points likewise etc.
What we have stated in the first paragraph is the fact that
this operation can be performed in two directions:
"Analysis", finding the heptagons that add up to a given signal,
as well as
"Synthesis", adding up a set of scaled and rotated regular heptagons.
Taking a signal and performing analysis followed by synthesis
will yield the original signal.
In the same vein, take the six regular heptagons, scaled and rotated,
and then performing synthesis followed by analysis will produce
the six heptagons at the original scale and rotation.
The following examples have therefore been written as equations,
and they can be read in both directions.
Only those regular heptagons that have a non-zero coefficient
are shown.
|
|
Two examples.
|
Interactive Analysis and Synthesis
Perform analysis and synthesis yourself with these
JavaSketchpad applets.
In the first applet, move the seven signal points
Z1 to Z7
and watch the applet analyze the signal.
The points µ1 to µ6
are the first points of the six regular heptagons.
You can reveal the full heptagons ("stars") by using the "Show" buttons.
The second applet lets you move
µ1-µ6
and synthesizes the signal
Z1-Z7 accordingly.
JavaSketchpad code produced by the
jsp.awk script.
See Welcome.jsp for the source.
# CODEBASE="../JSP3"
# WIDTH = 500
# HEIGHT = 400
# Offscreen = 1
# BackRed = 247
# BackGreen = 247
# BackBlue = 255
# ActionFont = 'Helvetica'
# ActionBold = 0
# ActionItalic = 0
# ActionSize = 6
Image (271, 0, 'http://www.Mathematik.Uni-Bielefeld.DE/~lisken/jsp/stern7/star7sel1.gif');
$c1 FixedPoint (0, 5) [hidden];
$c2 FixedPoint (5, 5) [hidden];
$cs Segment ($c1, $c2) [hidden];
$O FixedPoint (250, 200) [hidden];
$U FixedPoint (400, 200) [hidden];
$XY Origin&Unit ($O, $U) [hidden];
$X AxisX ($XY) [hidden];
$Z1 Point (400, 200) [label ('Z1')];
$Z2 Point (343.5234703, 82.7252776) [label ('Z2')];
$Z3 Point (216.6218600, 53.7608132) [label ('Z3')];
$Z4 Point (114.8546698, 134.9174391) [label ('Z4')];
$Z5 Point (114.8546698, 265.0825609) [label ('Z5')];
$Z6 Point (216.6218600, 346.2391868) [label ('Z6')];
$Z7 Point (343.5234703, 317.2747224) [label ('Z7')];
$_Z1 Coordinates ($Z1, $XY, 10, 15, 'Z1 = P ') [color (159, 159, 159), hidden];
$_Z2 Coordinates ($Z2, $XY, 10, 30, 'Z2 = P ') [color (159, 159, 159), hidden];
$_Z3 Coordinates ($Z3, $XY, 10, 45, 'Z3 = P ') [color (159, 159, 159), hidden];
$_Z4 Coordinates ($Z4, $XY, 10, 60, 'Z4 = P ') [color (159, 159, 159), hidden];
$_Z5 Coordinates ($Z5, $XY, 10, 75, 'Z5 = P ') [color (159, 159, 159), hidden];
$_Z6 Coordinates ($Z6, $XY, 10, 90, 'Z6 = P ') [color (159, 159, 159), hidden];
$_Z7 Coordinates ($Z7, $XY, 10, 105, 'Z7 = P ') [color (159, 159, 159), hidden];
$( CPoint (namep, namec, namex, namey, \
pointformat, ypos, string, termx, termy)
$namex Calculate (0, 0, '', $termx) \
($_Z1, $_Z2, $_Z3, $_Z4, $_Z5, $_Z6, $_Z7) \
[color (159, 159, 159), hidden];
$namey Calculate (0, 0, '', $termy) \
($_Z1, $_Z2, $_Z3, $_Z4, $_Z5, $_Z6, $_Z7) \
[color (159, 159, 159), hidden];
$namep PlotXY ($namey, $XY, $namex) $pointformat;
$namec Coordinates ($1, $XY, 10, $ypos, $string) [color (159, 159, 159), hidden];
$)
CPoint ("$mu0", "$_mu0", "$x0", "$y0", \
"[label ('µ0'), color (223, 223, 223)]", 135, 'µ0 = P ', \
'#A1 #B1 + #C1 + #D1 + #E1 + #F1 + #G1 + 0.1428571429 *', \
'#A2 #B2 + #C2 + #D2 + #E2 + #F2 + #G2 + 0.1428571429 *' \
);
$!O Reference ($mu0);
$!U VectorTranslation ($U, $O, $mu0) [hidden];
$!XY Origin&Unit ($O, $U) [hidden];
$!X AxisX ($XY) [hidden];
CPoint ("$mu1", "$_mu1", "$x1", "$y1", "[label ('µ1')]", 165, 'µ1 = P ', \
'0.1428571429 #A1 * 0.08906997171 #B1 * + 0.1116902118 #B2 * + 0.03178870480 #C1 * - 0.1392754161 #C2 * + 0.1287098383 #D1 * - 0.06198339135 #D2 * + 0.1287098383 #E1 * - 0.06198339135 #E2 * - 0.03178870480 #F1 * - 0.1392754161 #F2 * - 0.08906997171 #G1 * + 0.1116902118 #G2 * -', \
'0.1428571429 #A2 * 0.1116902118 #B1 * - 0.08906997171 #B2 * + 0.1392754161 #C1 * - 0.03178870480 #C2 * - 0.06198339135 #D1 * - 0.1287098383 #D2 * - 0.06198339135 #E1 * + 0.1287098383 #E2 * - 0.1392754161 #F1 * + 0.03178870480 #F2 * - 0.1116902118 #G1 * + 0.08906997171 #G2 * +' \
);
CPoint ("$mu2", "$_mu2", "$x2", "$y2", "[label ('µ2')]", 180, 'µ2 = P ', \
'0.1428571429 #A1 * 0.03178870480 #B1 * - 0.1392754161 #B2 * + 0.1287098383 #C1 * - 0.06198339135 #C2 * - 0.08906997171 #D1 * + 0.1116902118 #D2 * - 0.08906997171 #E1 * + 0.1116902118 #E2 * + 0.1287098383 #F1 * - 0.06198339135 #F2 * + 0.03178870480 #G1 * - 0.1392754161 #G2 * -', \
'0.1428571429 #A2 * 0.1392754161 #B1 * - 0.03178870480 #B2 * - 0.06198339135 #C1 * + 0.1287098383 #C2 * - 0.1116902118 #D1 * + 0.08906997171 #D2 * + 0.1116902118 #E1 * - 0.08906997171 #E2 * + 0.06198339135 #F1 * - 0.1287098383 #F2 * - 0.1392754161 #G1 * + 0.03178870480 #G2 * -' \
);
CPoint ("$mu3", "$_mu3", "$x3", "$y3", "[label ('µ3')]", 195, 'µ3 = P ', \
'0.1428571429 #A1 * 0.1287098383 #B1 * - 0.06198339135 #B2 * + 0.08906997171 #C1 * + 0.1116902118 #C2 * - 0.03178870480 #D1 * - 0.1392754161 #D2 * + 0.03178870480 #E1 * - 0.1392754161 #E2 * - 0.08906997171 #F1 * + 0.1116902118 #F2 * + 0.1287098383 #G1 * - 0.06198339135 #G2 * -', \
'0.1428571429 #A2 * 0.06198339135 #B1 * - 0.1287098383 #B2 * - 0.1116902118 #C1 * + 0.08906997171 #C2 * + 0.1392754161 #D1 * - 0.03178870480 #D2 * - 0.1392754161 #E1 * + 0.03178870480 #E2 * - 0.1116902118 #F1 * - 0.08906997171 #F2 * + 0.06198339135 #G1 * + 0.1287098383 #G2 * -' \
);
CPoint ("$mu4", "$_mu4", "$x4", "$y4", "[label ('µ4')]", 210, 'µ4 = P ', \
'0.1428571429 #A1 * 0.1287098383 #B1 * - 0.06198339135 #B2 * - 0.08906997171 #C1 * + 0.1116902118 #C2 * + 0.03178870480 #D1 * - 0.1392754161 #D2 * - 0.03178870480 #E1 * - 0.1392754161 #E2 * + 0.08906997171 #F1 * + 0.1116902118 #F2 * - 0.1287098383 #G1 * - 0.06198339135 #G2 * +', \
'0.1428571429 #A2 * 0.06198339135 #B1 * + 0.1287098383 #B2 * - 0.1116902118 #C1 * - 0.08906997171 #C2 * + 0.1392754161 #D1 * + 0.03178870480 #D2 * - 0.1392754161 #E1 * - 0.03178870480 #E2 * - 0.1116902118 #F1 * + 0.08906997171 #F2 * + 0.06198339135 #G1 * - 0.1287098383 #G2 * -' \
);
CPoint ("$mu5", "$_mu5", "$x5", "$y5", "[label ('µ5')]", 225, 'µ5 = P ', \
'0.1428571429 #A1 * 0.03178870480 #B1 * - 0.1392754161 #B2 * - 0.1287098383 #C1 * - 0.06198339135 #C2 * + 0.08906997171 #D1 * + 0.1116902118 #D2 * + 0.08906997171 #E1 * + 0.1116902118 #E2 * - 0.1287098383 #F1 * - 0.06198339135 #F2 * - 0.03178870480 #G1 * - 0.1392754161 #G2 * +', \
'0.1428571429 #A2 * 0.1392754161 #B1 * + 0.03178870480 #B2 * - 0.06198339135 #C1 * - 0.1287098383 #C2 * - 0.1116902118 #D1 * - 0.08906997171 #D2 * + 0.1116902118 #E1 * + 0.08906997171 #E2 * + 0.06198339135 #F1 * + 0.1287098383 #F2 * - 0.1392754161 #G1 * - 0.03178870480 #G2 * -' \
);
CPoint ("$mu6", "$_mu6", "$x6", "$y6", "[label ('µ6')]", 240, 'µ6 = P ', \
'0.1428571429 #A1 * 0.08906997171 #B1 * + 0.1116902118 #B2 * - 0.03178870480 #C1 * - 0.1392754161 #C2 * - 0.1287098383 #D1 * - 0.06198339135 #D2 * - 0.1287098383 #E1 * - 0.06198339135 #E2 * + 0.03178870480 #F1 * - 0.1392754161 #F2 * + 0.08906997171 #G1 * + 0.1116902118 #G2 * +', \
'0.1428571429 #A2 * 0.1116902118 #B1 * + 0.08906997171 #B2 * + 0.1392754161 #C1 * + 0.03178870480 #C2 * - 0.06198339135 #D1 * + 0.1287098383 #D2 * - 0.06198339135 #E1 * - 0.1287098383 #E2 * - 0.1392754161 #F1 * - 0.03178870480 #F2 * - 0.1116902118 #G1 * - 0.08906997171 #G2 * +' \
);
ShowButton (374, 37, ' ') \
($_mu0, $_mu1, $_mu2, $_mu3, $_mu4, $_mu5, $_mu6, \
$_Z1, $_Z2, $_Z3, $_Z4, $_Z5, $_Z6, $_Z7);
HideButton (446, 37, ' ') \
($_mu0, $_mu1, $_mu2, $_mu3, $_mu4, $_mu5, $_mu6, \
$_Z1, $_Z2, $_Z3, $_Z4, $_Z5, $_Z6, $_Z7);
$M Reference ($mu0);
Circle by radius ($O, $cs) [hidden];
Circle interior ($1) [color (223, 223, 223)];
$( star7 (Center, Radius, angle, colour, hidden, pointformat, buttony)
$P1 Reference ($Radius);
$P2 Rotation ($1, $Center, $angle) $pointformat;
$P3 Rotation ($1, $Center, $angle) $pointformat;
$P4 Rotation ($1, $Center, $angle) $pointformat;
$P5 Rotation ($1, $Center, $angle) $pointformat;
$P6 Rotation ($1, $Center, $angle) $pointformat;
$P7 Rotation ($1, $Center, $angle) $pointformat;
$sr Segment ($Center, $P1) [color ($colour) $hidden];
Midpoint ($1) [hidden];
$sp Polygon ($1, $P1, $P2) [color ($colour) $hidden];
$s1 Segment ($P1, $P2) [color ($colour), hidden];
$s2 Segment ($P2, $P3) [color ($colour) $hidden];
$s3 Segment ($P3, $P4) [color ($colour) $hidden];
$s4 Segment ($P4, $P5) [color ($colour) $hidden];
$s5 Segment ($P5, $P6) [color ($colour) $hidden];
$s6 Segment ($P6, $P7) [color ($colour) $hidden];
$s7 Segment ($P7, $P1) [color ($colour) $hidden];
$status Translation ($c1, 340, -$buttony) [color ($colour) $hidden];
ShowButton (374, $buttony, ' ') \
($sr, $sp, $s2, $s3, $s4, $s5, $s6, $s7, $status);
HideButton (446, $buttony, ' ') \
($sr, $sp, $s2, $s3, $s4, $s5, $s6, $s7, $status);
$)
star7 ($O, $mu1, 0.8975979011, \
"200, 50, 50", ", hidden", "[hidden]", 57);
star7 ($O, $mu2, 1.795195802, \
"200, 250, 50", ", hidden", "[hidden]", 74);
star7 ($O, $mu3, 2.692793703, \
" 50, 150, 250", ", hidden", "[hidden]", 91);
star7 ($O, $mu4, 3.590391605, \
"250, 50, 250", ", hidden", "[hidden]", 108);
star7 ($O, $mu5, 4.487989507, \
" 50, 250, 50", ", hidden", "[hidden]", 125);
star7 ($O, $mu6, 5.385587406, \
" 50, 50, 250", ", hidden", "[hidden]", 142);
# CODEBASE="../JSP3"
# WIDTH = 500
# HEIGHT = 400
# Offscreen = 1
# BackRed = 247
# BackGreen = 247
# BackBlue = 255
# ActionFont = 'Helvetica'
# ActionBold = 0
# ActionItalic = 0
# ActionSize = 6
Image (271, 0, 'http://www.Mathematik.Uni-Bielefeld.DE/~lisken/jsp/stern7/star7sel2.gif');
$c1 FixedPoint (0, 5) [hidden];
$c2 FixedPoint (5, 5) [hidden];
$cs Segment ($c1, $c2) [hidden];
$O FixedPoint (250, 200) [hidden];
$U FixedPoint (400, 200) [hidden];
$XY Origin&Unit ($O, $U) [hidden];
$X AxisX ($XY) [hidden];
$mu0 Point (220, 170) [label ('µ0')];
$mu1 Point (235, 185) [label ('µ1')];
$mu2 Point (250, 200) [label ('µ2')];
$mu3 Point (265, 215) [label ('µ3')];
$mu4 Point (280, 230) [label ('µ4')];
$mu5 Point (295, 245) [label ('µ5')];
$mu6 Point (310, 260) [label ('µ6')];
$!O Reference ($mu0);
$!U VectorTranslation ($U, $O, $mu0) [hidden];
$!XY Origin&Unit ($O, $U) [hidden];
$!X AxisX ($XY) [hidden];
$_mu0 Coordinates ($mu0, $XY, 10, 15, 'µ0 = P ') [color (159, 159, 159), hidden];
$_mu1 Coordinates ($mu1, $XY, 10, 30, 'µ1 = P ') [color (159, 159, 159), hidden];
$_mu2 Coordinates ($mu2, $XY, 10, 45, 'µ2 = P ') [color (159, 159, 159), hidden];
$_mu3 Coordinates ($mu3, $XY, 10, 60, 'µ3 = P ') [color (159, 159, 159), hidden];
$_mu4 Coordinates ($mu4, $XY, 10, 75, 'µ4 = P ') [color (159, 159, 159), hidden];
$_mu5 Coordinates ($mu5, $XY, 10, 90, 'µ5 = P ') [color (159, 159, 159), hidden];
$_mu6 Coordinates ($mu6, $XY, 10, 105, 'µ6 = P ') [color (159, 159, 159), hidden];
$( CPoint (namep, $namec, namex, namey, \
pointformat, ypos, string, termx, termy)
$namex Calculate (0, 0, '', $termx) \
($_mu0, $_mu1, $_mu2, $_mu3, $_mu4, $_mu5, $_mu6) \
[color (159, 159, 159), hidden];
$namey Calculate (0, 0, '', $termy) \
($_mu0, $_mu1, $_mu2, $_mu3, $_mu4, $_mu5, $_mu6) \
[color (159, 159, 159), hidden];
$namep PlotXY ($namey, $XY, $namex) $pointformat;
$namec Coordinates ($1, $XY, 10, $ypos, $string) \
[color (159, 159, 159), hidden];
$)
CPoint ("$Z1", "$_Z1", "$x1", "$y1", "[label ('Z1')]", 135, 'Z1 = P ', \
'#A1 #B1 + #C1 + #D1 + #E1 + #F1 + #G1 +', \
'#A2 #B2 + #C2 + #D2 + #E2 + #F2 + #G2 +' \
);
CPoint ("$Z2", "$_Z2", "$x2", "$y2", "[label ('Z2')]", 150, 'Z2 = P ', \
'#A1 0.6234898018 #B1 * + 0.7818314825 #B2 * - 0.2225209335 #C1 * - 0.9749279123 #C2 * - 0.9009688678 #D1 * - 0.4338837393 #D2 * - 0.9009688678 #E1 * - 0.4338837393 #E2 * + 0.2225209335 #F1 * - 0.9749279123 #F2 * + 0.6234898018 #G1 * + 0.7818314825 #G2 * +', \
'#A2 0.7818314825 #B1 * + 0.6234898018 #B2 * + 0.9749279123 #C1 * + 0.2225209335 #C2 * - 0.4338837393 #D1 * + 0.9009688678 #D2 * - 0.4338837393 #E1 * - 0.9009688678 #E2 * - 0.9749279123 #F1 * - 0.2225209335 #F2 * - 0.7818314825 #G1 * - 0.6234898018 #G2 * +' \
);
CPoint ("$Z3", "$_Z3", "$x3", "$y3", "[label ('Z3')]", 165, 'Z3 = P ', \
'#A1 0.2225209335 #B1 * - 0.9749279123 #B2 * - 0.9009688678 #C1 * - 0.4338837393 #C2 * + 0.6234898018 #D1 * + 0.7818314825 #D2 * + 0.6234898018 #E1 * + 0.7818314825 #E2 * - 0.9009688678 #F1 * - 0.4338837393 #F2 * - 0.2225209335 #G1 * - 0.9749279123 #G2 * +', \
'#A2 0.9749279123 #B1 * + 0.2225209335 #B2 * - 0.4338837393 #C1 * - 0.9009688678 #C2 * - 0.7818314825 #D1 * - 0.6234898018 #D2 * + 0.7818314825 #E1 * + 0.6234898018 #E2 * + 0.4338837393 #F1 * + 0.9009688678 #F2 * - 0.9749279123 #G1 * - 0.2225209335 #G2 * -' \
);
CPoint ("$Z4", "$_Z4", "$x4", "$y4", "[label ('Z4')]", 180, 'Z4 = P ', \
'#A1 0.9009688678 #B1 * - 0.4338837393 #B2 * - 0.6234898018 #C1 * + 0.7818314825 #C2 * + 0.2225209335 #D1 * - 0.9749279123 #D2 * - 0.2225209335 #E1 * - 0.9749279123 #E2 * + 0.6234898018 #F1 * + 0.7818314825 #F2 * - 0.9009688678 #G1 * - 0.4338837393 #G2 * +', \
'#A2 0.4338837393 #B1 * + 0.9009688678 #B2 * - 0.7818314825 #C1 * - 0.6234898018 #C2 * + 0.9749279123 #D1 * + 0.2225209335 #D2 * - 0.9749279123 #E1 * - 0.2225209335 #E2 * - 0.7818314825 #F1 * + 0.6234898018 #F2 * + 0.4338837393 #G1 * - 0.9009688678 #G2 * -' \
);
CPoint ("$Z5", "$_Z5", "$x5", "$y5", "[label ('Z5')]", 195, 'Z5 = P ', \
'#A1 0.9009688678 #B1 * - 0.4338837393 #B2 * + 0.6234898018 #C1 * + 0.7818314825 #C2 * - 0.2225209335 #D1 * - 0.9749279123 #D2 * + 0.2225209335 #E1 * - 0.9749279123 #E2 * - 0.6234898018 #F1 * + 0.7818314825 #F2 * + 0.9009688678 #G1 * - 0.4338837393 #G2 * -', \
'#A2 0.4338837393 #B1 * - 0.9009688678 #B2 * - 0.7818314825 #C1 * + 0.6234898018 #C2 * + 0.9749279123 #D1 * - 0.2225209335 #D2 * - 0.9749279123 #E1 * + 0.2225209335 #E2 * - 0.7818314825 #F1 * - 0.6234898018 #F2 * + 0.4338837393 #G1 * + 0.9009688678 #G2 * -' \
);
CPoint ("$Z6", "$_Z6", "$x6", "$y6", "[label ('Z6')]", 210, 'Z6 = P ', \
'#A1 0.2225209335 #B1 * - 0.9749279123 #B2 * + 0.9009688678 #C1 * - 0.4338837393 #C2 * - 0.6234898018 #D1 * + 0.7818314825 #D2 * - 0.6234898018 #E1 * + 0.7818314825 #E2 * + 0.9009688678 #F1 * - 0.4338837393 #F2 * + 0.2225209335 #G1 * - 0.9749279123 #G2 * -', \
'#A2 0.9749279123 #B1 * - 0.2225209335 #B2 * - 0.4338837393 #C1 * + 0.9009688678 #C2 * - 0.7818314825 #D1 * + 0.6234898018 #D2 * + 0.7818314825 #E1 * - 0.6234898018 #E2 * + 0.4338837393 #F1 * - 0.9009688678 #F2 * - 0.9749279123 #G1 * + 0.2225209335 #G2 * -' \
);
CPoint ("$Z7", "$_Z7", "$x7", "$y7", "[label ('Z7')]", 225, 'Z7 = P ', \
'#A1 0.6234898018 #B1 * + 0.7818314825 #B2 * + 0.2225209335 #C1 * - 0.9749279123 #C2 * + 0.9009688678 #D1 * - 0.4338837393 #D2 * + 0.9009688678 #E1 * - 0.4338837393 #E2 * - 0.2225209335 #F1 * - 0.9749279123 #F2 * - 0.6234898018 #G1 * + 0.7818314825 #G2 * -', \
'#A2 0.7818314825 #B1 * - 0.6234898018 #B2 * + 0.9749279123 #C1 * - 0.2225209335 #C2 * - 0.4338837393 #D1 * - 0.9009688678 #D2 * - 0.4338837393 #E1 * + 0.9009688678 #E2 * - 0.9749279123 #F1 * + 0.2225209335 #F2 * - 0.7818314825 #G1 * + 0.6234898018 #G2 * +' \
);
ShowButton (374, 37, ' ') \
($_mu0, $_mu1, $_mu2, $_mu3, $_mu4, $_mu5, $_mu6, \
$_Z1, $_Z2, $_Z3, $_Z4, $_Z5, $_Z6, $_Z7);
HideButton (446, 37, ' ') \
($_mu0, $_mu1, $_mu2, $_mu3, $_mu4, $_mu5, $_mu6, \
$_Z1, $_Z2, $_Z3, $_Z4, $_Z5, $_Z6, $_Z7);
$M Reference ($mu0);
Circle by radius ($M, $cs) [hidden];
Circle interior ($1) [color (223, 223, 223)];
$( star7 (Center, Radius, angle, colour, hidden, pointformat, buttony)
$P1 Reference ($Radius);
$P2 Rotation ($1, $Center, $angle) $pointformat;
$P3 Rotation ($1, $Center, $angle) $pointformat;
$P4 Rotation ($1, $Center, $angle) $pointformat;
$P5 Rotation ($1, $Center, $angle) $pointformat;
$P6 Rotation ($1, $Center, $angle) $pointformat;
$P7 Rotation ($1, $Center, $angle) $pointformat;
$sr Segment ($Center, $P1) [color ($colour) $hidden];
Midpoint ($1) [hidden];
$sp Polygon ($1, $P1, $P2) [color ($colour) $hidden];
$s1 Segment ($P1, $P2) [color ($colour), hidden];
$s2 Segment ($P2, $P3) [color ($colour) $hidden];
$s3 Segment ($P3, $P4) [color ($colour) $hidden];
$s4 Segment ($P4, $P5) [color ($colour) $hidden];
$s5 Segment ($P5, $P6) [color ($colour) $hidden];
$s6 Segment ($P6, $P7) [color ($colour) $hidden];
$s7 Segment ($P7, $P1) [color ($colour) $hidden];
$status Translation ($c1, 340, -$buttony) [color ($colour) $hidden];
ShowButton (374, $buttony, ' ') \
($sr, $sp, $s2, $s3, $s4, $s5, $s6, $s7, $status);
HideButton (446, $buttony, ' ') \
($sr, $sp, $s2, $s3, $s4, $s5, $s6, $s7, $status);
$)
star7 ($O, $mu1, 0.8975979011, \
"200, 50, 50", ", hidden", "[hidden]", 57);
star7 ($O, $mu2, 1.795195802, \
"200, 250, 50", ", hidden", "[hidden]", 74);
star7 ($O, $mu3, 2.692793703, \
" 50, 150, 250", ", hidden", "[hidden]", 91);
star7 ($O, $mu4, 3.590391605, \
"250, 50, 250", ", hidden", "[hidden]", 108);
star7 ($O, $mu5, 4.487989507, \
" 50, 250, 50", ", hidden", "[hidden]", 125);
star7 ($O, $mu6, 5.385587406, \
" 50, 50, 250", ", hidden", "[hidden]", 142);
26. Jan 1999,
Sebastian Lisken