2014-10-10 62 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处绘制新点而不是复制和移动单个点点相当容易,但它听起来不像你的教练想要的那样。