【问题标题】:Equation of a curve between two points whereas the curve limits are defined by the two points两点之间的曲线方程,而曲线限制由两点定义
【发布时间】:2017-07-01 20:56:03
【问题描述】:

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

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

【问题讨论】:

    标签: python math pygame


    【解决方案1】:

    如果我对您的理解正确,那么在 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)
    

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

    【讨论】:

    • 感谢您的快速回复!我相信这正是我所需要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2017-02-18
    • 1970-01-01
    • 2019-02-03
    相关资源
    最近更新 更多