如何测量对角线距离点? [英] How can I measure diagonal distance points?
本文介绍了如何测量对角线距离点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以计算水平和垂直点,但无法弄清楚如何使用对角线点计算距离.有人可以帮我吗?
I can compute horizontal and vertical points, but I cant figure out how to compute distance using diagonal points. Can someone help me with this.
这是我的水平和垂直测量的代码:
here's the code for my horizontal and vertical measuring:
private float ComputeDistance(float point1, float point2)
{
float sol1 = point1 - point2;
float sol2 = (float)Math.Abs(Math.Sqrt(sol1 * sol1));
return sol2;
}
protected override void OnMouseMove(MouseEventArgs e)
{
_endPoint.X = e.X;
_endPoint.Y = e.Y;
if (ComputeDistance(_startPoint.X, _endPoint.X) <= 10)
{
str = ComputeDistance(_startPoint.Y, _endPoint.Y).ToString();
}
else
{
if (ComputeDistance(_startPoint.Y, _endPoint.Y) <= 10)
{
str = ComputeDistance(_startPoint.X, _endPoint.X).ToString();
}
}
}
假定已设置_startPoint.
Assuming that the _startPoint has been already set.
在此图像中,对角点显然是错误的.
In this image the diagonal point is obviously wrong.
推荐答案
您需要使用毕达哥拉斯定理.
You need to use Pythagoras' theorem.
d = Math.Sqrt(Math.Pow(end.x - start.x, 2) + Math.Pow(end.y - start.y, 2))
这篇关于如何测量对角线距离点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文