Compare commits
5
Commits
f574472a78
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c85ccb2eb | ||
|
|
6436ada263 | ||
|
|
c8aa16c246 | ||
|
|
124caff620 | ||
|
|
1ab54b5b76 |
@@ -6,7 +6,7 @@ import org.junit.jupiter.api.BeforeEach;
|
|||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
/*
|
|
||||||
public class ADS4_2_test {
|
public class ADS4_2_test {
|
||||||
HilbertServer hlb;
|
HilbertServer hlb;
|
||||||
Turtle turtle;
|
Turtle turtle;
|
||||||
@@ -97,4 +97,3 @@ public class ADS4_2_test {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package ch.zhaw.ads;
|
||||||
|
|
||||||
|
public class HilbertServer implements CommandExecutor {
|
||||||
|
Turtle turtle;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String execute(String command) {
|
||||||
|
int depth = Integer.parseInt(command);
|
||||||
|
double dist = 0.8 / (Math.pow(2,depth+1)-1);
|
||||||
|
turtle = new Turtle(0.1, 0.1);
|
||||||
|
hilbert(depth, dist, -90);
|
||||||
|
return turtle.getTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void hilbert(int depth, double dist, double angle){
|
||||||
|
if(depth < 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
depth --;
|
||||||
|
turtle.turn(-angle);
|
||||||
|
// draw recursive
|
||||||
|
hilbert(depth, dist, -angle);
|
||||||
|
turtle.move(dist);
|
||||||
|
turtle.turn(angle);
|
||||||
|
// draw recursive
|
||||||
|
hilbert(depth, dist, angle);
|
||||||
|
turtle.move(dist);
|
||||||
|
// draw recursive
|
||||||
|
hilbert(depth, dist, angle);
|
||||||
|
turtle.turn(angle);
|
||||||
|
turtle.move(dist);
|
||||||
|
// draw recursive
|
||||||
|
hilbert(depth, dist, -angle);
|
||||||
|
turtle.turn(-angle);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package ch.zhaw.ads;
|
package ch.zhaw.ads;
|
||||||
|
|
||||||
public class SnowflakeServer implements CommandExecutor {
|
public class SnowflakeServer implements CommandExecutor {
|
||||||
double distanz = 1.0;
|
double distanz = 0.7;
|
||||||
Turtle turtle;
|
Turtle turtle;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -9,11 +9,11 @@ public class SnowflakeServer implements CommandExecutor {
|
|||||||
int steps = Integer.parseInt(command);
|
int steps = Integer.parseInt(command);
|
||||||
turtle = new Turtle();
|
turtle = new Turtle();
|
||||||
turtle.reset(0.5, 0.9);
|
turtle.reset(0.5, 0.9);
|
||||||
turtle.turn(60);
|
turtle.turn(240);
|
||||||
|
|
||||||
for(int i = 0; i > 3; i++){
|
for(int i = 0; i < 3; i++){
|
||||||
turtle.turn(-120);
|
drawSnowFlake(steps, distanz);
|
||||||
drawSnowFlake(steps, 0.7 * distanz);
|
turtle.turn(120);
|
||||||
}
|
}
|
||||||
return turtle.getTrace();
|
return turtle.getTrace();
|
||||||
}
|
}
|
||||||
@@ -25,11 +25,11 @@ public class SnowflakeServer implements CommandExecutor {
|
|||||||
distanz = distanz / 3;
|
distanz = distanz / 3;
|
||||||
steps--;
|
steps--;
|
||||||
drawSnowFlake(steps, distanz);
|
drawSnowFlake(steps, distanz);
|
||||||
turtle.turn(60);
|
turtle.turn(-60);
|
||||||
drawSnowFlake(steps, distanz);
|
drawSnowFlake(steps, distanz);
|
||||||
turtle.turn(-120);
|
turtle.turn(120);
|
||||||
drawSnowFlake(steps, distanz);
|
drawSnowFlake(steps, distanz);
|
||||||
turtle.turn(60);
|
turtle.turn(-60);
|
||||||
drawSnowFlake(steps, distanz);
|
drawSnowFlake(steps, distanz);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user