Browse Source

use a CompoundPath

master
Fr3deric 5 years ago
parent
commit
1f1ae141e7
  1. 14
      lindenmayer-system/lindenmeyer-system.js

14
lindenmayer-system/lindenmeyer-system.js

@ -53,11 +53,15 @@ function draw_initstate(state) { @@ -53,11 +53,15 @@ function draw_initstate(state) {
function draw_forward() {
return function(p, state) {
draw_initstate(state);
if(p.length == 0) {
p.add(new paper.Point(0, 0));
if(p.children.length == 0) {
p.addChild(new paper.Path());
}
var lastp = p.segments[p.segments.length - 1].point;
p.add(lastp.add(
var pp = p.lastChild;
if(pp.length == 0) {
pp.add(new paper.Point(0, 0));
}
var lastp = pp.segments[pp.segments.length - 1].point;
pp.add(lastp.add(
new paper.Point(Math.sin(state.dir), Math.cos(state.dir))
));
}
@ -95,7 +99,7 @@ function draw_angle_add(delta) { @@ -95,7 +99,7 @@ function draw_angle_add(delta) {
function draw(word, actions) {
var p = new paper.Path();
var p = new paper.CompoundPath();
var state = {};
for(let w of word) {
if(w in actions) {

Loading…
Cancel
Save