首页 > 解决方案 > svg 文件的分形设计

问题描述

我对编码很陌生,我正在尝试在其中一个盒子机翼上创建一个带有分形螺旋设计的盒子 svg 文件。我在这方面遇到了困难,我希望有人可以就我哪里出错提供一些指导。

这是我的代码的一部分:

import turtle

def spiral(x, y):

    spiral1 = turtle.setpos({},{})

    return spiral1.format(x,y)

    t = turtle.Turtle()
    t.pensize(1)
    t.pencolor('orange')
    t.speed(0)
    for i in range (10):
        t.circle(10 + i, 45)

spiral_1 = spiral(int(box_x)*96, int(box_height)*96)

这给了我一个错误:* 'dict' 和 'float' 不支持的操作数类型

基本上我想要做的是将这个螺旋写到我的实际svg文件中,该文件具有我已经定义的特定坐标(即box_height))。我不太确定从这里去哪里。我真的很感谢你的帮助。

编辑:也许我需要弄清楚如何用 svg 代码而不是海龟生成模式

标签: pythonpython-2.7turtle-graphics

解决方案


我希望有人可以就我哪里出错提供一些指导

我很难弄清楚你在哪里做了:

spiral1 = turtle.setpos({},{})

这似乎不是 Python 参数语法并且setpos()总是返回None,因此将结果保存到spiral1.

return spiral1.format(x,y)

None没有format()方法。此外,return代码中的 at this point 会导致它忽略接下来的六行代码。实际上,根本不画画。

spiral_1 = spiral(int(box_x)*96, int(box_height)*96)

spiral()没有返回任何有用的东西,所以没有必要保存结果。让我们重新编写你的代码,让它真正画出一个螺旋:

from turtle import Screen, Turtle

box_x, box_y = 96, 96

def spiral(x, y):

    turtle.penup()
    turtle.setposition(x, y)
    turtle.pendown()

    for i in range(100):
        turtle.circle(10 + i, 45)

screen = Screen()

turtle = Turtle()
turtle.pencolor('orange')
turtle.speed('fastest')

spiral(box_x, box_y)

screen.exitonclick()

我不明白为什么这个问题被标记为[分形]。我也不明白为什么它被标记为 [xml] 和 [svg],因为它是一个简单的 Python 语法和海龟图形问题。而且你真的不应该开始使用 Python 2.7,因为它不再受支持。

在此处输入图像描述


推荐阅读