我想计算该点是否靠近矩形对角线。 该矩形表示为两个点(最小值和最大值)。现在我有第三个点,我想检查是否靠近对角线。
if (minBound < pointVector2 && pointVector2 < maxBound) {
CheckIfIsNearTheDiagonal(50, true);
}
minBound
和 maxBound
是边界点 (Vector2
)
我想检查点pointVector2
距(特定)对角线有多远。距离与参数 maxDistance 进行比较,如果在对角线周围的范围内则返回。
bool CheckIfIsNearTheDiagonal(float maxDistance, bool isLeftDownToRightUp ){
// Somehow count distance
return distance < maxDistance
}
有没有简单的方法或者我必须计算直线方程的一般形式以及点与直线之间的距离?
最佳答案
这给出了距点 p0 以及经过 p1 和 p2 的直线的距离:
public double Distance(Point p1, Point p2, Point p0)
{
double m = (p2.Y - p1.Y) / (p2.X - p1.X);
double q = (p1.Y * p2.X - p2.Y * p1.X) / (p2.X - p1.X);
return Math.Abs((p0.Y - m * p0.X - q) / Math.Sqrt(1 + m * m));
}
关于c# - 点靠近对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16565547/