我正在创建一个绘制二次贝塞尔曲线的程序,其中曲线的点随着程序运行而移动。我沿着它画了 40 个点来绘制曲线,使它看起来有点立体。但是,我希望绘制的曲线部分始终具有相同的长度,即 200 个单位。我所做的只是在 X 单位长的曲线上最多画出 200 个单位。这样做的问题是,随着曲线变大,在视觉上绘制的部分会缩小。无论曲线有多长,我都希望它始终保持不变,但我不知道如何去做。
这是它的样子。我还将发布您必须在 CodeSkulptor 3 中运行才能获得这些结果的代码(它是一个 Web IDE,我无法在此处发布链接,如果您搜索它就会显示出来)。
蓝色部分是绘制曲线的部分,当总曲线长度较短时,此处显示较长
当总曲线较长时,它会略短。当您延长总曲线时,它会变得更短。
更新:
我已经重新设计了程序以产生我想要的结果,但是它通过每秒使用大量迭代来实现,这会大大减慢画布的速度。我不相信这是一个解决方案,而是表明我正在努力完成的事情。我希望有人可以帮助我找到一种方法,使该程序产生相同的结果,但无需数千次迭代。
新代码以及作为原始问题一部分的所有代码位于此处:https ://py3.codeskulptor.org/#user303_MAsllc2ZJd4RIOO.py