Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Turtle;
- import turtlePck.TurtleGraphicsWindow;
- import java.lang.Math;
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- /**
- *
- * @author ZTILabPI
- */
- public class TurtleAlgorithms extends TurtleGraphicsWindow{
- public void positioningTurtle(int angle){
- right(angle);
- }
- public void sierpinski(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- sierpinski(bok/2, minBok);
- forward(bok);
- right(120);
- }
- }
- public void A1(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<5;i++){
- forward(bok);
- A1(bok/2, minBok);
- right(90);
- }
- }
- public void A2(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- forward(bok);
- A2(bok/2, minBok);
- right(120);
- }
- }
- public void A3(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<5;i++){
- forward(bok);
- right(270);
- A3(bok/2, minBok);
- right(180);
- }
- }
- public void A4(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- forward(bok);
- right(300);
- A4(bok/2, minBok);
- right(180);
- }
- }
- public void A5(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- forward(bok);
- left(300);
- A5(bok/2, minBok);
- left(300);
- }
- }
- public void A6(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<5;i++){
- forward(bok/4);
- right(90);
- A6(bok/2, minBok);
- left(90);
- forward(3*bok/4);
- left(90);
- }
- }
- public void A7(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- forward(bok/4);
- right(60);
- A7(bok/2, minBok);
- left(60);
- forward(3*bok/4);
- left(120);
- }
- }
- public void A8(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<7;i++){
- forward(bok/4);
- left(120);
- A8(bok/2, minBok);
- right(120);
- forward(3*bok/4);
- left(300);
- }
- }
- public void A9(int bok, int minBok ){
- if (bok<minBok) {
- forward(bok);
- right(90);
- forward(bok/2);
- return;
- }
- for(int i=1;i<2;i++){
- forward(bok);
- right(90);
- A9(bok-8, minBok);
- }
- }
- public void A10(int bok, int minBok ){
- if (bok<minBok) {
- forward(bok);
- left(120);
- forward(bok/2);
- return;
- }
- for(int i=1;i<2;i++){
- forward(bok);
- left(120);
- A10(bok-8, minBok);
- }
- }
- public void A11(int bok, int minBok ){
- if (bok<minBok) {
- left(60);
- forward(bok);
- left(60);
- forward(bok/2);
- left(60);
- forward(bok/2);
- return;
- }
- for(int i=1;i<2;i++){
- left(60);
- forward(bok);
- A11(bok-10, minBok);
- }
- }
- public void A12(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- forward(bok/2);
- A12(bok/3, minBok);
- forward(bok);
- right(120);
- A12(bok/3, minBok);
- }
- }
- public void A13(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- // for(int i=1;i<2;i++){
- forward(bok);
- left(45);
- A13(6*bok/9, minBok);
- right(90);
- A13(6*bok/9, minBok);
- left(45);
- back(bok);
- // }
- }
- public void B1(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=0;i<4;i++){
- forward(bok);
- left(90);
- forward(bok);
- left(90);
- B1(bok/2,minBok);
- }
- }
- public void B2(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<7;i++){
- forward(bok);
- right(60);
- forward(bok/2);
- left(120);
- forward(bok/8);
- left(120);
- B2(bok/2, minBok);
- right(120);
- forward((3*bok)/4);
- right(60);
- }
- }
- public void B3(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<5;i++){
- forward(bok);
- right(90);
- forward(bok/4);
- left(90);
- B3(bok/2, minBok);
- right(90);
- forward((3*bok)/4);
- left(270);
- }
- }
- public void B4(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=0;i<4;i++)
- {
- forward(bok);
- if(i%2==0)
- {
- right(90);
- B4(bok/2, minBok);
- left(90);
- }
- left(90);
- }
- }
- public void B5(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<5;i++){
- B5(bok/3, minBok);
- forward(bok/2);
- right(90);
- }
- }
- public void B6(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<4;i++){
- forward(bok);
- left(120);
- B6(bok/3, minBok);
- }
- }
- public void B7(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<7;i++){
- B7(bok/2, minBok);
- forward(bok);
- right(300);
- forward(bok/4);
- left(300);
- right(300);
- forward((3*bok)/4);
- left(60);
- }
- }
- public void B8(int bok, int minBok) {
- left(45);
- for (int i = 0; i < 3; i++) {
- forward(bok);
- if (bok > minBok) {
- B8(bok / 2, minBok);
- }
- back(bok);
- right(45);
- }
- left(90);
- }
- public void C1(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=0;i<1;i++)
- {
- forward(bok);
- left(125);
- C1(bok-4,minBok);
- }
- }
- public void C2(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=1;i<2;i++){
- forward(bok);
- left(144);
- C2(bok-8, minBok);
- }
- }
- public void C3(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=0;i<1;i++)
- {
- forward(bok);
- left(100);
- C3(bok-5,minBok);
- }
- }
- public void C4(int bok, int depth ){
- if (depth < 0) {
- return;
- }
- forward(bok);
- left(45);
- C4((int) Math.round(Math.sqrt(2)* (double) bok / 2.0), depth-1);
- right(90);
- forward((int) Math.round(Math.sqrt(2)* (double) bok / 2.0));
- C4((int) Math.round(Math.sqrt(2)* (double) bok / 2.0), depth-1);
- right(90);
- forward((int) Math.round(Math.sqrt(2)* (double) bok / 2.0));
- right(45);
- forward(bok);
- right(90);
- forward(bok);
- right(90);
- }
- public void C5(int bok, int minBok ){
- if (bok<minBok) {
- return;
- }
- for(int i=0;i<4;i++){
- C5(bok/3, minBok);
- forward(bok/3);
- C5(bok/3, minBok);
- forward(bok/3);
- forward(bok/3);
- left(90);
- }
- }
- public void C6(int bok, int depth ){
- if (depth < 0) {
- return;
- }
- C6(bok/2, depth-1);
- for(int j=0;j<3;j++){
- forward(bok);
- C6(bok/2, depth-1);
- back(bok);
- right(120);
- }
- }
- public void C7(int bok, int depth ){
- if (depth < 0) {
- return;
- }
- C7(bok/3, depth-1);
- for(int j=0;j<4;j++){
- forward(2*bok/3);
- C7(bok/3, depth-1);
- back(2*bok/3);
- right(90);
- }
- }
- public void snowFlake(int n, int bok){
- if (n==0){
- forward(bok);
- return;
- }
- snowFlake(n-1, bok/3);
- right(60);
- snowFlake(n-1, bok/3);
- left(120);
- snowFlake(n-1, bok/3);
- right(60);
- snowFlake(n-1, bok/3);
- }
- public void callSnowFlake(int n, int bok){
- for(int i=1; i<4; i++){
- snowFlake(n, bok);
- left(120);
- }
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////
- package Turtle;
- public class Main {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- // TODO code application logic here
- TurtleAlgorithms alg = new TurtleAlgorithms();
- // alg.positioningTurtle(45);
- // alg. sierpinski(bok, minBok);
- // alg.sierpinski(300, 50);
- // alg.A1(240, 20);
- // alg.A2(240, 20); //position 30
- // alg.A3(210, 10);
- // alg.A4(210, 10); //position 270
- // alg.A5(400, 30); //position 270
- // alg.A6(200, 25); //position 90
- // alg.A7(400, 50); //position 90
- // alg.A8(129, 32); //position 90
- // alg.A9(420, 40); //position 270
- // alg.A10(340, 40); //position 90
- // alg.A11(300, 40); //position 90
- // alg.A12(486, 18); //position 30
- // alg.A13(200, 2);
- // alg.B1(400, 10);
- // alg.B2(100, 25); //position 90
- // alg.B3(200, 20); //position 90
- // alg.B4(200, 10);
- // alg.B5(400, 10); //position 90
- // alg.B6(600, 20); //position 90
- // alg.B7(200, 25); //position 270
- // alg.B8(300, 30);
- // alg.C1(400, 10); //position 350
- // alg.C2(300, 25); //position 300
- // alg.C3(400, 10); //position 235
- // alg.C4(150, 10);
- // alg.C5(486, 6);
- // alg.C6(200, 4); //position 45
- // alg.C7(450, 5);
- // alg.callSnowFlake(3, 400);
- // alg.snowFlake(3, 400);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement