玫瑰曲线是指极坐标表示为ρ=a*sin(nθ)(a为定长,n为整数),在平面内围绕某一中心点平均分布整数个正弦花瓣的曲线。

在极坐标系中,以下方程表示的曲线称为玫瑰曲线:
r = sin ( k θ ) 或 r = cos ( k θ )
当 k 是奇数时,玫瑰曲线有 k 个花瓣;当 k 是偶数时,玫瑰曲线有 2k 个花瓣。
对应的,在用turtle进行作图时,极坐标需要转化为笛卡尔坐标系,也就是x-y轴。
x=r*cos( θ) y=r*sin( θ)
这样我们就可以写出python的绘图代码了,你可以先试试再参考下面的代码哦!
import turtle import math t=turtle.Turtle() def rose(r,n): t.down() for i in range(0,360): p=r*math.sin(n*i*3.14/180) t.goto(p*math.cos(i*3.14/180),p*math.sin(i*3.14/180)) t.up() turtle.tracer(0) t.pencolor("red") rose(300,4) t.pencolor("green") rose(200,3) t.pencolor("blue") rose(100,6) turtle.update()
怎么样?还是挺有意思的吧!


还没有评论,来说两句吧...