我不太确定自己在做什么错,因为这应该很简单...
我有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/