test01
                Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| test01 [2022/07/11 09:55] – torsten.roehl | test01 [2022/07/11 09:57] (aktuell) – torsten.roehl | ||
|---|---|---|---|
| Zeile 14: | Zeile 14: | ||
| <div id=" | <div id=" | ||
| <script type=" | <script type=" | ||
| - | + | var brd = JXG.JSXGraph.initBoard(' | |
| - | board1 | + | |
| - | board1.suspendUpdate(); | + | |
| - | var s = board1.create(' | + | |
| - | board1.create(' | + | |
| - | function(t) { | + | |
| - | var val = 0, sv = s.Value()+1, | + | |
| - | k = 1; | + | |
| - | for(var i = 0; i < sv; i++) { | + | |
| - | val = val + Math.sin(2*Math.PI*k*t)/ | + | |
| - | k += 1; | + | |
| - | } | + | |
| - | return val+2; | + | |
| - | }, -10, 10], {strokeColor: | + | |
| - | board1.create(' | + | var p = brd.create(' | 
| - | function(t) { | + | var q = brd.create(' | 
| - | var val = 0, sv = s.Value()+1, | + | var circ = brd.create(' | 
| - | k = 1; | + | |
| - | for(var i = 0; i < sv; i++) { | + | |
| - | val = val + Math.sin(2*Math.PI*(2*k-1)*t)/ | + | |
| - | k += 1; | + | |
| - | } | + | |
| - | return val-2; | + | |
| - | }, -10, 10], {strokeColor: | + | |
| - | board1.unsuspendUpdate(); | + | // Create an empty curve | 
| + | var ticks = brd.create(' | ||
| + |  | ||
| + | strokeColor: | ||
| + | strokeOpacity: | ||
| + | // Make ticks out of the curve | ||
| + | ticks.updateDataArray = function() { | ||
| + | var cx = circ.center.X(), | ||
| + | cy = circ.center.Y(), | ||
| + | r = circ.Radius(), | ||
| + | i, | ||
| + | ticklen = 0.3, // Length of ticks in user space coordinates | ||
| + | steps = 20, // Number of ticks | ||
| + | d = ticklen * 0.5, | ||
| + | alpha = 2 * Math.PI / steps; | ||
| + | |||
| + | this.dataX = []; | ||
| + | this.dataY = []; | ||
| + | for (i = 0; i < steps; i++) { | ||
| + | // Start of a tick | ||
| + | this.dataX.push( cx + (r - d)* Math.cos(i * alpha) ); | ||
| + | this.dataY.push( cy + (r - d) * Math.sin(i * alpha) ); | ||
| + | // End of tick | ||
| + | this.dataX.push( cx + (r + d) * Math.cos(i * alpha) ); | ||
| + | this.dataY.push( cy + (r + d) * Math.sin(i * alpha) ); | ||
| + | // Interrupt the curve | ||
| + | this.dataX.push( NaN ); | ||
| + | this.dataY.push( NaN ); | ||
| + | } | ||
| + | }; | ||
| + | brd.update(); | ||
| </ | </ | ||
test01.1657533337.txt.gz · Zuletzt geändert:  von torsten.roehl
                
                