重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
畫圓的函數如下
網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、微信小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了九龍坡免費建站歡迎大家使用!
turtle.circle(radius,??extent=None,?steps=None)
參數分別為半徑、弧度和畫圓弧線段的數量
半徑為負,方向相反的原因可以看下turtle庫的源代碼
w?=?1.0?*?extent?/?steps
w2?=?0.5?*?w
l?=?2.0?*?radius?*?math.sin(w2*math.pi/180.0*self._degreesPerAU)
if?radius??0:
l,?w,?w2?=?-l,?-w,?-w2
時設計模塊時,可能就希望用半徑的正負控制劃線的方向
1、先搞清楚畫筆的基本用法。
2、再搞清楚橢圓的函數。
3、根據別人的代碼,自己多調試幾次就畫出有意思的圖形了。
代碼如下:
import?turtle
pen=turtle.Turtle()?#定義畫筆實例
a=1
for?i?in?range(120):
if?0=i30?or?60=i90:
a=a+0.2
pen.lt(3)?#向左轉3度
pen.fd(a)?#向前走a的步長
else:
a=a-0.2
pen.lt(3)
pen.fd(a)
print(pen)
turtle.mainloop()
示例:
from sympy.geometry import Circle, Ellipse
e = Ellipse(Point(0, 0), 5, 7)
e.intersection(Circle(Point(1,0),5))
輸出:
[Point(25/6,?7?sqrt(11)/6),Point(25/6,7?sqrt(11)/6)]
P.S. 不過有時候如果結果太復雜就會time out
from turtle import *
def yin(radius, color1, color2):
width(3)
color("black", color1)
begin_fill()
circle(radius/2., 180)
circle(radius, 180)
left(180)
circle(-radius/2., 180)
end_fill()
left(90)
up()
forward(radius*0.35)
right(90)
down()
color(color1, color2)
begin_fill()
circle(radius*0.15)
end_fill()
left(90)
up()
backward(radius*0.35)
down()
left(90)
def main():
reset()
yin(200, "black", "white")
yin(200, "white", "black")
ht()
return "Done!"
if __name__ == '__main__':
main()
mainloop()