2014-10-10 61 views
0

這個任務是要求我用四個參數繪製星型函數。 Python圖形:形狀與功能?

「用於繪製星的星 窗口的線的星形 顏色的星 尺寸的中心點」這是給出的實例的畫面:http://i.stack.imgur.com/urvt2.jpg

該提示:給出的中心點,你可以克隆它並移動它以創建5點中的每一點(例如:p1 = cenpt.clone(),p1.move(0,-0.85 * size))

我錯誤地解釋了第一個提示嘗試和迄今爲止,我主要是硬編碼。

import graphics 
def main(): 
window= graphics.GraphWin("x", 600, 400) 
center = graphics.Point(300, 200) 
center.setFill("red") 
center.draw(window) 
p1 = center.clone() 
p1.move(0,-110) 
p1.setFill('red') 
p1.draw(window) 
p2 = p1.clone() 
p2.move(150, 250) 
p2.setFill('red') 
p2.draw(window) 
line1 = graphics.Line(p1,p2) 
line1.setFill("black") 
line1.draw(window) 
window.getMouse() 
main() 

顯然這不適合功能的目的。我怎樣才能修改這個函數來爲函數中的給定參數工作?

回答

0

如果我是你,我會定義一個給定座標和中心點的函數,在所需的座標上繪製一個點。

事情是這樣的:

def makePoint (point, x, y): 
    newpoint = point.clone() 
    newpoint.move(x-300, y-200) 
    newpoint.setfill('red') 
    return newpoint 

,然後調用該函數每一次你想要點。如果我想用它在座標400,500處畫一個點,我會這樣稱呼它:makePoint(center, 400, 500).draw(window)

您還可以製作一個剛剛在座標x和y處繪製新點而不是複製和移動單個點點相當容易,但它聽起來不像你的教練想要的那樣。