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.txt · Zuletzt geändert: 2022/07/11 09:57 von torsten.roehl