Напишите метод вычисления расстояния от отрезка до точки - C#
Формулировка задачи:
Листинг программы
- // Вставьте сюда финальное содержимое файла DistanceTask.cs
- using System;
- namespace DistanceTask
- {
- public static class DistanceTask
- {
- // Расстояние от точки (x, y) до отрезка AB с координатами A(ax, ay), B(bx, by)
- public static double GetDistanceToSegment(double ax, double ay, double bx, double by, double x, double y)
- {
- double ak = Math.Sqrt(((x - ax)*(x - ax))+((y-ay)*(y-ay)));
- double kb = Math.Sqrt(((x - bx)*(x - bx))+((y-by)*(y-by)));
- double ab = Math.Sqrt(((ax - bx)*(ax - bx))+((ay-by)*(ay-by)));
- if(x >= ax && x <= bx && ab != 0 )
- {
- double p = (ak + kb + ab)/2;
- double s = Math.Sqrt((p*(p - ak)*(p - kb)*(p - ab)));
- return (2 * s)/ab;
- }
- else if((x <= ax || x >= bx) && ab != 0)
- {
- return Math.Min(ak,kb);
- }else return 0;
- }
- }
- }
Решение задачи: «Напишите метод вычисления расстояния от отрезка до точки»
textual
Листинг программы
- double p = (ak + kb + ab)/2.0;
- double s = Math.Sqrt((p*(p - ak)*(p - kb)*(p - ab)));
- return (2.0 * s)/ab;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д