我不太确定自己在做什么错,因为这应该很简单...
我有2个给定的点,外加第三个点的X-现在我需要该第三行的Y。

那是一个非常简单的方程:y = mx + b。
但是由于我不能在C#程序中使用它(嗯,我确定有一个库,但是这里的性能很重要),所以我试图“写出公式”。

我的函数看起来像这样:

public static float GetY(Vector2 point1, Vector2 point2, float x)
    {
        var m = (point2.Y - point1.Y) / (point2.X + point1.Y);
        var b = point1.Y - (m * point1.X);

        return m*x + b;
    }

现在,此公式中的某些内容是错误的,因为有时我无法获得正确的值。你知道我在做什么错吗?

最佳答案

在您发布的代码中,您似乎打错了字。这:

var m = (point2.Y - point1.Y) / (point2.X + point1.Y);

...应该:
var m = (point2.Y - point1.Y) / (point2.X - point1.X);

关于c# - 线性函数: y = mx + b (2 points given) in code,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20017164/

10-13 01:39