N-gones - Slow version: Difference between revisions
From JSXGraph Wiki
| A WASSERMANN (talk | contribs) No edit summary | A WASSERMANN (talk | contribs) No edit summary | ||
| (37 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| <html> | <html> | ||
| <form><textarea id="inputtext" rows= | <link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" /> | ||
| <form><textarea id="inputtext" rows=5 cols=35 wrap="off" style="width:600px;"> | |||
| speed=25; | |||
| t.cs().hideTurtle().setProperty({strokeWidth:4,strokeOpacity:0.6,fillOpacity:0.3}); | |||
| ngon(10,60); | |||
| </textarea><br /> | </textarea><br /> | ||
| <input type="button" value="run" onClick="runturtle()"> | <input type="button" value="run" onClick="runturtle()"> | ||
| Line 22: | Line 12: | ||
| <jsxgraph width="600" height="600"> | <jsxgraph width="600" height="600"> | ||
| var brd = JXG.JSXGraph.initBoard('jxgbox', { | var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-300, 300, 300, -300]}); | ||
| var t = brd. | var t = brd.create('turtle',[],{fillColor:'yellow'}); | ||
| var speed; | |||
| function innerloop(i,j,ne,sz) { | |||
|    if (i>0) { | |||
|      if (j==ne) { t.rt(360/ne); } | |||
|      t.rt(360/ne); | |||
|      t.fd(sz); | |||
|      j--; | |||
|      if (j<=0) { | |||
|        j=ne; | |||
|        i--; | |||
|      } | |||
|      var st = 'innerloop('+(i)+','+(j)+','+(ne)+','+(sz)+')'; | |||
|      setTimeout(st,speed); | |||
|    } | |||
| } | |||
| function ngon(ne,sz) { | |||
|   innerloop(ne,ne,ne,sz); | |||
| } | |||
| function runturtle() { | function runturtle() { | ||
|    var code =  |    var code = document.getElementById('inputtext').value; | ||
|    if (code=='') { return; } |    if (code=='') { return; } | ||
|    eval(code); |    eval(code); | ||
| Line 33: | Line 41: | ||
|    t.cs(); |    t.cs(); | ||
| } | } | ||
| </jsxgraph> | </jsxgraph> | ||
| == Sourcecode == | |||
| <source lang="javascript"> | |||
| var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-300, 300, 300, -300]}); | |||
| var t = brd.create('turtle',[],{fillColor:'yellow'}); | |||
| var speed; | |||
| function innerloop(i,j,ne,sz) { | |||
|    if (i>0) { | |||
|      if (j==ne) { t.rt(360/ne); } | |||
|      t.rt(360/ne); | |||
|      t.fd(sz); | |||
|      j--; | |||
|      if (j<=0) { | |||
|        j=ne; | |||
|        i--; | |||
|      } | |||
|      var st = 'innerloop('+(i)+','+(j)+','+(ne)+','+(sz)+')'; | |||
|      setTimeout(st,speed); | |||
|    } | |||
| } | |||
| function ngon(ne,sz) { | |||
|   innerloop(ne,ne,ne,sz); | |||
| } | |||
| function runturtle() { | |||
|   var code = document.getElementById('inputtext').value; | |||
|   if (code=='') { return; } | |||
|   eval(code); | |||
| } | |||
| function clearturtle() { | |||
|   t.cs(); | |||
| } | |||
| </source> | |||
| [[Category:Examples]] | [[Category:Examples]] | ||
| [[Category:Turtle Graphics]] | [[Category:Turtle Graphics]] | ||
Latest revision as of 13:34, 3 March 2021
Sourcecode
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-300, 300, 300, -300]});
var t = brd.create('turtle',[],{fillColor:'yellow'});
var speed;
function innerloop(i,j,ne,sz) {
   if (i>0) {
     if (j==ne) { t.rt(360/ne); }
     t.rt(360/ne);
     t.fd(sz);
     j--;
     if (j<=0) {
       j=ne;
       i--;
     }
     var st = 'innerloop('+(i)+','+(j)+','+(ne)+','+(sz)+')';
     setTimeout(st,speed);
   }
}
function ngon(ne,sz) {
  innerloop(ne,ne,ne,sz);
}
function runturtle() {
  var code = document.getElementById('inputtext').value;
  if (code=='') { return; }
  eval(code);
}
function clearturtle() {
  t.cs();
}
