python - 两点之间的曲线方程,而曲线极限由两点定义

标签 python math pygame

我一直在尝试在 python 中找到一种方法来计算曲线方程,该曲线与它们各自点的轴正好相交 90 度,而曲线不超过第一个点的 y 值和第二个点的 x 值。作为视觉效果,我正在尝试编写一些代码来为这样的直线创建方程式:

enter image description here

无论如何,这样的事情是可能的吗?谢谢!

最佳答案

如果我理解正确的话,一个以原点为中心,长轴和短轴的端点位于 x 轴和 y 轴上给定点的椭圆就可以了。如果x轴上的点的x坐标为a y 轴上的点的 y 坐标为 b比一个方程是

x**2/a**2 + y**2/b**2 == 1

如果您想要一个根据 x 值计算 y 值的函数方程,

y = b * math.sqrt(1 - (x / a) ** 2)

适用于 0 <= x <= a .

另一种在 x==a 附近获得更平滑图形的方法这是 0 <= t <= math.pi / 2 的参数化吗? :

x = a * math.cos(t)
y = b * math.sin(t)

另一种更灵活的解决方案是使用贝塞尔曲线而不是椭圆,但这更复杂。

关于python - 两点之间的曲线方程,而曲线极限由两点定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44861115/

相关文章:

python - 高效的 numpy 零阶保持

algorithm - 多分辨率小波分解代码

Python with/Pygame - 这两组的区别?

python - Pygame:显示直到延迟后才更新

python - pygame,如何在调整窗口大小时更新窗口大小

python - 捕获 git log 输出中所有 git commit 页脚/尾部行的正则表达式是什么?

python - python 2.7 Tkinter tcl错误

python - 我在 pycharm 中导入 nmap 时遇到问题

python datetime 和 pandas to_datetime 在覆盖相同的时间戳时有不同的输出

javascript - 转换矩阵值后,如何从 style.transform 旋转获得正确的度数?