Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.1 Rekursive skildpadder Supertrekanter....

Lignende præsentationer


Præsentationer af emnet: "I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.1 Rekursive skildpadder Supertrekanter...."— Præsentationens transcript:

1 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.1 Rekursive skildpadder Supertrekanter....

2 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.2 Penta, etc.  triangle  penta  poly  macro  pasta  bigMac  semiFinal  final  ultimo  finitto

3 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.3 Hvordan tegnes en macro? macro(160); poly(80); penta(40); triangle(20);

4 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.4 Tegning af macro...

5 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.5 Omdøbning  triangle  penta  poly  macro  pasta  bigMac  semiFinal  final  ultimo  finitto  superTriangle 0  superTriangle 1  superTriangle 2  superTriangle 3  superTriangle 4  superTriangle 5  superTriangle 6  superTriangle 7  superTriangle 8  superTriangle 9

6 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.6 poly og macro public void poly(int l) { penta(l/2); move(l/2); penta(l/2); turn(120); move(l/2); turn(-120); penta(l/2); turn(-120); move/l/2); turn(120); } public void macro(int l) { poly(l/2); move(l/2); poly(l/2); turn(120); move(l/2); turn(-120); poly(l/2); turn(-120); move/l/2); turn(120); }

7 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.7 superTriangle 2 og 3 public void superTriangle2(int l) { superTriangle1(l/2); move(l/2); superTriangle1(l/2); turn(120); move(l/2); turn(-120); superTriangle1(l/2); turn(-120); move/l/2); turn(120); } public void superTriangle3(int l) { superTriangle2(l/2); move(l/2); superTriangle2(l/2); turn(120); move(l/2); turn(-120); superTriangle2(l/2); turn(-120); move/l/2); turn(120); }

8 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.8 Parametrisering public void superTriangle(int d, int l) { superTriangle(d-1, l/2); move(l/2); superTriangle(d-1, l/2); turn(120); move(l/2); turn(-120); superTriangle(d-1, l/2); turn(-120); move/l/2); turn(120); } superTriangle(3, 160); svarer til macro(160); superTriangle(2, 160); svarer til poly(160); superTriangle(1, 160); svarer til penta(160); UPS!... superTriangle(0, 160); svarer til

9 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.9 Fuldstændig løsning public void superTriangle(int d, int l) { // d >= 0 if ( d == 0 ) triangle(l); else { superTriangle(d-1, l/2); move(l/2); superTriangle(d-1, l/2); turn(120); move(l/2); turn(-120); superTriangle(d-1, l/2); turn(-120); move/l/2); turn(120); } superTriangle(3, 160); svarer til macro(160); superTriangle(2, 160); svarer til poly(160); superTriangle(1, 160); svarer til penta(160); superTriangle(0, 160); svarer tiltriangle(160);

10 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.10 Hvordan tegnes en penta? sT(1,40); sT(0,20); sT: superTriangle triangle(20); penta penta: 3 små trekanter

11 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.11 Hvordan tegnes en poly? sT(2,80); sT(1,40); poly penta poly: 3 + 3 + 3 = 9 små trekanter

12 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.12 Hvordan tegnes en macro? sT(3,160); sT(2,80); poly macro: 9 + 9 + 9 = 27 små trekanter

13 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.13 Udfoldet rekursionstræ sT(3,160); sT(2,80); sT(1,40); sT(0,20);

14 i o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.14 Tegning af macro...


Download ppt "I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.1 Rekursive skildpadder Supertrekanter...."

Lignende præsentationer


Annoncer fra Google