I
icegirl914
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在做一个画图程序,用矢量图,但是碰到了一个问题,是关于判点跟直线的距离是否在有效范围内,我用了:
A = (float)y2 - y1;
B = (float)x1 - x2;
C = (float)(x2 * y1 - x1 * y2);
if (xx == ((B * yy + C) / A))
{
return 0;
}
d = (fabs(A * xx + B * yy + C)) / sqrt(A * A + B * B);
但返回的结果却有误差,明明点在线上,但是得到的值却很大,是我的算法有误吗???
A = (float)y2 - y1;
B = (float)x1 - x2;
C = (float)(x2 * y1 - x1 * y2);
if (xx == ((B * yy + C) / A))
{
return 0;
}
d = (fabs(A * xx + B * yy + C)) / sqrt(A * A + B * B);
但返回的结果却有误差,明明点在线上,但是得到的值却很大,是我的算法有误吗???