Sono in grado di calcolare i punti orizzontali e verticali, ma non riesco a capire come calcolare la distanza utilizzando i punti diagonali. Qualcuno può aiutarmi con questo.Come posso misurare i punti di distanza diagonale?
Ecco il codice per la mia misura orizzontale e verticale:
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();
}
}
}
Supponendo che il _startPoint è già stato impostato.
In questa immagine il punto diagonale è ovviamente sbagliato.
Math. Sqrt (sol1 * sol1) == Math.Abs (sol1) –