我一直在尝试在 python 中找到一种方法来计算曲线方程,该曲线与它们各自点的轴正好相交 90 度,而曲线不超过第一个点的 y 值和第二个点的 x 值。作为视觉效果,我正在尝试编写一些代码来为这样的直线创建方程式:
无论如何,这样的事情是可能的吗?谢谢!
最佳答案
如果我理解正确的话,一个以原点为中心,长轴和短轴的端点位于 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/