我一直试图在python中找到一种方法来计算曲线的方程,该曲线与各自点的轴精确相交90度,而曲线不超过第一个点的y值和第二点的x值。作为一个视觉,我正在尝试编写一些代码,为这样的行创建一个等式:
无论如何,这样的事情是可能的吗?谢谢!
答案 0 :(得分:3)
如果我理解正确的话,在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)
另一种更灵活的解决方案是使用Bezier曲线而不是椭圆,但这更复杂。