Вопрос

Как найти расстояние между двумя System.Drawing.Point?

Я гуглил и не нашел...

Dim p1 As New Point(0, 10)
Dim p2 As New Point(10, 10)
Dim distance = ??

В данном случае должно быть 10, а что здесь?

Dim p1 As New Point(124, 942)
Dim p2 As New Point(34, 772)
Dim distance = ??

Спасибо!

Это было полезно?

Решение

Формула расстояния:sqrt( (x2 - x1)^2 + (y2 - y1)^2 )

Другие советы

Point p1 = new Point(7, 5);
Point p2 = new Point(26, 29);
double distance = Math.Round(Math.Sqrt(Math.Pow((p2.X - p1.X), 2) + Math.Pow((p2.Y - p1.Y), 2)), 1);

Если вы хотите знать, откуда взялась формула, которую вам дают люди, ее можно обобщить как Теорема Пифагора.

Псевдокод:

SquareRoot(Square(p1.x - p2.x)+Square(p1.y-p2.y))
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top