Pygame 的圆圈随着变大而变得有问题

问题描述 投票:0回答:1

我目前正在用Python开发一个立体投影引擎,对于渲染部分我使用pygame引擎。所以基本上我通过立体投影将一些点和线从球体投影到平面上,当投影经线和平行线(围绕球体的圆)时,在平面上它由圆表示。

问题是,当我在没有运动的情况下渲染它时,我的投影按预期工作,但是当我开始旋转时,圆圈变得越来越大(按计划),并且随着它变大,窗口开始冻结并且 pygame 圆圈的渲染开始闪烁。 .

这是问题的视频

所以基本上我尝试在没有渲染部分的情况下使用 print 语句而不是 pygame.draw.circle(...) 来运行代码,我希望代码会被我的旋转脚本减慢,但它运行得尽可能快可能可以(120 fps)。

然后我查看了放入函数中的圆半径,这是窗口崩溃之前得到的结果:

...
12492.12368416791
7347430.620862632
21807.522253669482
14919866.806242492
85923.12710299579
3057002.798986355
44285.02896747698

>>> Window crash

所以我认为这是因为这个,我想知道我们如何才能只绘制一个圆段或如何优化它......

有点长,感谢您的阅读。

python python-3.x pygame
1个回答
-1
投票

您可爱的叙述几乎没有伴随源代码等技术细节。

根据半径值的顺序和分布,我推测相当大的数字被重复添加到半径中,并且我们看到该值模 2 ** 24。

© www.soinside.com 2019 - 2024. All rights reserved.