Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在tkinter画布上旋转椭圆?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个简单的椭圆(红色),我想旋转椭圆。 以下代码仅返回展平椭圆(蓝色),但不旋转: 将tkinter作为tk导入 将numpy作为np导入 导入数学</p> <pre><code>def rotate(points, angle): new_points = list(points) rad = angle * (math.pi/180) cos_val = math.cos(rad) sin_val = math.sin(rad) for coords in new_points: x_val = coords[0] y_val = coords[1] coords[0] = x_val * cos_val - y_val * sin_val coords[1] = x_val * sin_val + y_val * cos_val return new_points window = tk.Tk() window.geometry("500x300") canvas = tk.Canvas(window, height=300, width=500) canvas.grid(row=0, column=0, sticky='w') # draw ellipse size=80 x0,y0=100,100 width,height=0.25*size,0.5*size x1,y1=x0+width,y0+height xc=x0+width/2 yc=y0+height/2 ellipse = canvas.create_oval([x0, y0, x1,y1],fill='blue') #draw rotated ellipse coord1=canvas.coords(ellipse) points=[[coord1[0],coord1[1]],[coord1[2],coord1[3]]] point2=rotate(points,30) coord2 = [item for sublist in point2 for item in sublist] ellipse2 = canvas.create_oval(coord2,fill='red') window.mainloop () </code></pre> <p>结果如下:</p> <p><a href="https://i.stack.imgur.com/2LDk0.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2LDk0.jpg" alt="red and blue ellipse. The blue one is supposed to be rotated"/></a></p> <p>红色椭圆应该旋转30度,但是没有旋转,它只是变平了。在</p> <p>问:如何在tkinter画布上旋转椭圆?在</p> <p>注意事项:</p> <ul> <li><p>使用python-am</3.p></li> <li><p>我检查了<a href="https://stackoverflow.com/questions/47122065/tkinter-py3-how-to-make-a-rotation-animation">similar question</a>上的stackoverflow,但没有正确的答案。</p></li> <li><p>不像多边形,我们可以简单地旋转每个顶点,椭圆没有顶点。</p></li> </ul>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我知道有两种方法:1)在椭圆的边缘画出每个点。网上有一些网页展示了如何计算所有点2)保存为图像并使用tkinter的PIL库旋转图像。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
10 回答
如何添加表示整数的擦边字符串?
7 回答
如何添加要在Bokeh中使用的新font.ttf文件?
2 回答
如何添加要显示的矩阵XY轴编号和XY轴
10 回答
如何添加计数?
7 回答
如何添加计数器函数?
7 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
3 回答
如何添加计数器来跟踪while循环中的月份和年份?
5 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
7 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
2 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
4 回答
如何添加评论拉梅尔亚姆
9 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
6 回答
如何添加谷歌地点自动完成到Flask?
4 回答
如何添加超时、python discord bot
6 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
4 回答
如何添加跟随游戏的敌人精灵
10 回答
如何添加路径以便python可以找到程序?
5 回答
如何添加身份验证/安全性以使用happybase访问HBase?
6 回答