Python是一種十分流行的編程語言,它具有簡潔、易學、可讀性強的特點。其中,龍形曲線是Python語言中一個常用的圖形繪制問題,這里我們來講一下它是如何實現的。
所謂龍形曲線,就是指如下圖的一種圖形:
-- -- | | | | -- -- -- -- | | | | | | | | -- -- -- -- -- | | | | | | | | | | -- -- -- -- | | | | | -- -- -- | | | | | -- --
這個圖形是由以下規則生成的:
- 初始狀態為一條長度為1的線段。
- 尋找線段的中點,然后以該點為端點旋轉這條線段45度,并在旋轉后的線段的末端加上一個新的長度相等的線段。
- 重復步驟2。
Python代碼實現:
import turtle def dragon(level, length): def helper(level, length, sign): if level == 0: turtle.forward(length) else: helper(level - 1, length, 1) turtle.left(sign * 90) helper(level - 1, length, -1) helper(level, length, 1) if __name__ == '__main__': turtle.speed(0) turtle.penup() turtle.goto(-250, 0) turtle.pendown() dragon(12, 6) turtle.done()
以上代碼實現的是一個12級龍形曲線,線段長度為6。其中,helper函數實現了遞歸繪制曲線的過程,level指的是當前遞歸深度,length為線段長度,sign用于控制右轉左轉。
最后再附上一張繪制完成的龍形曲線圖:
--. / \ -- -- / \ -- -- / \ -- -- / \ -- -- | | -- -- / \ -- -- / \ -- -- / \ -- --