|
龍形曲線是由NASA的物理學家J.E.Heighway所提出,這種曲線每次前進一定長度,然後轉動90度或-
90度繼續前進,但是走過的路徑並不重複。
下圖為龍形曲線的1次至4次繪圖結果:

Java程式繪圖如下所示:
package onlyfun.caterpillar.graphics.recursive; import java.awt.Color; import java.awt.Graphics; import javax.swing.JApplet; import onlyfun.caterpillar.graphics.Turtle; public class DragonCurve extends JApplet { private Turtle t; public void init() { t = new Turtle(); setBackground(Color.black); } public void dragon(int n, double a, Turtle t) { if(n == 0) t.move(4); else { dragon(n-1, 90, t); t.turn(a); dragon(n-1, -90, t); } } public void paint(Graphics g) { g.setColor(Color.yellow); t.setGraphics(g); t.window(0, 0, getSize().width, getSize().height); t.view(0, 0, getSize().width, getSize().height);
t.setpoint(150, 150); dragon(10, 90, t); } }

其實也並不一定要以90度為單位來轉彎,您可以自行設定為其它的角度來試試看會畫出什麼圖形。 |