python海龟画斜着的椭圆.py

如本文章标有价格,需议价或其它事情商议请加微信pythonxia

python turtle画斜椭圆图

"""
   python海龟画斜着的椭圆.py
"""
import math
from turtle import *

def draw_oval2(a,b=None,width=5,fill=''):
        """以海龟为中心点画椭圆,这个方法会根据角色的方向对椭圆进行倾斜,所以速度慢
            a:长半轴,b:短半轴,
            width:边框像素值 
            fill:填充颜色,如果为空字符串,则无颜色            
        """
        if b == None : b = a
        
        cx,cy = tom.pos()                 # 中心点坐标
        cors = []                          # 多边形坐标点
        k = math.radians(tom.heading())   # 椭圆的倾斜角度
        for t in range(361):
          j= math.radians(t) 
          x = cx + a*math.cos(j)*math.cos(k)-b*math.sin(j)*math.sin(k) 
          y = cy + a*math.cos(j)*math.sin(k)+b*math.sin(j)*math.cos(k)
          cors.append(x)
          cors.append(-y)
        item = screen.cv.create_polygon(cors, fill=fill,width=width,outline='black')
       
def draw_oval(a,b=None,width=5,fill=''):
    """ 以海龟为中心点画椭圆,这个方法不会根据角色的方向对椭圆进行倾斜,所以速度快.
        a:长半轴,b:短半轴,
        width:边框像素值 
        fill:填充颜色,
        outline:边框颜色        
    """
    if b == None : b = a
    x,y = tom.pos()
    x0,y0 = x-a,-y-b
    x1,y1 = x+a,b-y
    item = screen.cv.create_oval(x0,y0,x1,y1,fill=fill,width=width)
   
tom = Turtle()
screen = tom.getscreen()
tom.pensize(10)
tom.left(45)
draw_oval2(100,50)
screen.mainloop()

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » python海龟画斜着的椭圆.py
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页