Skip to content

Instantly share code, notes, and snippets.

@8q
Created June 8, 2018 00:29
Show Gist options
  • Save 8q/f20cb16c1900f6ced1fe943901fc78bc to your computer and use it in GitHub Desktop.
Save 8q/f20cb16c1900f6ced1fe943901fc78bc to your computer and use it in GitHub Desktop.
import java.util.*;
float len = 20.0;
float deg = 87.5;
void setup()
{
fullScreen();
background(255);
strokeWeight(2);
String str = "F";
for (int i = 0; i <4; i++)
{
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray())
{
switch(c)
{
case 'F':
sb.append("F+F-F-F+F");
break;
default:
sb.append(c);
}
}
str = sb.toString();
}
translate(0, height);
pushMatrix();
arr = str.toCharArray();
//for (char c : str.toCharArray())
//{
// switch(c)
// {
// case 'F':
// line(0, 0,len, 0);
// translate(len, 0);
// break;
// case 'f':
// translate(len, 0);
// case '+':
// rotate(radians(-deg));
// break;
// case '-':
// rotate(radians(deg));
// break;
// }
//}
}
char[] arr;
int i = 0;
void draw()
{
if(++i >= arr.length) return;
popMatrix();
switch(arr[i])
{
case 'F':
line(0, 0, len, 0);
translate(len, 0);
break;
case 'f':
translate(len, 0);
case '+':
rotate(radians(-deg));
break;
case '-':
rotate(radians(deg));
break;
}
pushMatrix();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment