Difference between revisions of "N-gones - Slow version"

From JSXGraph Wiki
Jump to navigationJump to search
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<html>
 
<html>
 
<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" />
 
<link rel="stylesheet" type="text/css" href="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css" />
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/prototype.js"></script>
+
<form><textarea id="inputtext" rows=5 cols=35 wrap="off" style="width:600px;">
<script type="text/javascript" src="http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js"></script>
+
speed=25;
<form><textarea id="inputtext" rows=12 cols=35 wrap="off" style="width:600px;">
+
t.cs().hideTurtle().setProperty({strokeWidth:4,strokeOpacity:0.6,fillOpacity:0.3});
/*
+
ngon(10,60);
function mn_eck(ne,sz) {
+
</textarea><br />
   for(var i=ne;i>0;i--) {
+
<input type="button" value="run" onClick="runturtle()">
 +
<input type="button" value="clear" onClick="clearturtle()">
 +
</form>
 +
</html>
 +
 
 +
<jsxgraph width="600" height="600">
 +
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.rt(360/ne);
     for(var j=ne;j>0;j--) {
+
     t.fd(sz);
       t.rt(360/ne);
+
    j--;
       t.fd(sz);
+
    if (j<=0) {
 +
       j=ne;
 +
       i--;
 
     }
 
     }
 +
    var st = 'innerloop('+(i)+','+(j)+','+(ne)+','+(sz)+')';
 +
    setTimeout(st,speed);
 
   }
 
   }
 
}
 
}
*/
 
  
function mn_eck(ne,sz) {
+
function ngon(ne,sz) {
outerloop(ne,sz);
+
  innerloop(ne,ne,ne,sz);
 +
}
 +
function runturtle() {
 +
  var code = document.getElementById('inputtext').value;
 +
  if (code=='') { return; }
 +
  eval(code);
 +
}
 +
function clearturtle() {
 +
  t.cs();
 
}
 
}
 +
</jsxgraph>
  
t.cs().hideTurtle().setProperty({strokeWidth:4,strokeOpacity:0.6,fillOpacity:0.3});
 
mn_eck(7,80);
 
</textarea><br />
 
<input type="button" value="run" onClick="runturtle()">
 
<input type="button" value="clear" onClick="clearturtle()">
 
</form>
 
</html>
 
  
<jsxgraph width="600" height="600">-->
+
== Sourcecode ==
var brd = JXG.JSXGraph.initBoard('jxgbox', {originX:300, originY:300, unitX:1, unitY:1});
+
 
var t = brd.createElement('turtle',[],{fillColor:'yellow'});
+
<source lang="javascript">
 +
var brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox: [-300, 300, 300, -300]});
 +
var t = brd.create('turtle',[],{fillColor:'yellow'});
 +
var speed;
  
function outerloop(i,ne,sz) {
+
function innerloop(i,j,ne,sz) {
 
   if (i>0) {
 
   if (i>0) {
 +
    if (j==ne) { t.rt(360/ne); }
 
     t.rt(360/ne);
 
     t.rt(360/ne);
     for(var j=ne;j>0;j--) {
+
     t.fd(sz);
       t.rt(360/ne);
+
    j--;
       t.fd(sz);
+
    if (j<=0) {
 +
       j=ne;
 +
       i--;
 
     }
 
     }
     var st = 'outerloop('+(i-1)+','+ne+','+sz+')';
+
     var st = 'innerloop('+(i)+','+(j)+','+(ne)+','+(sz)+')';
    alert(st);
+
     setTimeout(st,speed);
     setTimeout(st,25);
 
 
   }
 
   }
 
}
 
}
  
 +
function ngon(ne,sz) {
 +
  innerloop(ne,ne,ne,sz);
 +
}
  
 
function runturtle() {
 
function runturtle() {
  brd.suspendUpdate();
+
   var code = document.getElementById('inputtext').value;
 
 
   var code = $('inputtext').value;
 
 
   if (code=='') { return; }
 
   if (code=='') { return; }
 
   eval(code);
 
   eval(code);
  brd.unsuspendUpdate();
 
 
}
 
}
 
function clearturtle() {
 
function clearturtle() {
 
   t.cs();
 
   t.cs();
 
}
 
}
//runturtle();
+
</source>
</jsxgraph>
 
  
 
[[Category:Examples]]
 
[[Category:Examples]]
 
[[Category:Turtle Graphics]]
 
[[Category:Turtle Graphics]]

Latest revision as of 15: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();
}