Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/64: Рейтинг темы: голосов - 64, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 11.04.2020
Сообщений: 67

Напишите метод вычисления расстояния от отрезка до точки

02.10.2021, 16:27. Показов 14729. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сама задача:

Напишите метод вычисления расстояния от отрезка до точки.
Для проверки своего решения запустите скачанный проект.
Расстоянием от отрезка до точки называется расстояние от ближайшей точки отрезка до точки. Это либо расстояние до точки от прямой, содержащей отрезок, либо расстояние до точки от одного из концов отрезка.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 a = Math.Sqrt(((x - ax) * (x - ax)) + ((y - ay) * (y - ay)));
            double b = Math.Sqrt(((x - bx) * (x - bx)) + ((y - by) * (y - by)));
            double c = Math.Sqrt(((ax - bx) * (ax - bx)) + ((ay - by) * (ay - by)));
 
            if (x >= ax && x <= bx && b != 0)
            {
 
                                double e = (a + b + c) / 2.0;
                                double f = Math.Sqrt((e * (e - a) * (e - b) * (e - c)));
 
                                return (2.0 * f) / c;
                            }
                    else if ((x <= ax || x >= bx) && c != 0)
                    {
                        return Math.Min(a, b);
                    }
                    else return 0;
        }
    }
}
P.S. Не проходит все тесты в визуалке.А при сдаче кода выдает ошибку:
Error on test: segment AB({X=2, Y=-2},{X=-1, Y=1}) and point X({X=2, Y=2}) expected dist 2.82842712474619 but was 3.16227766016838
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.10.2021, 16:27
Ответы с готовыми решениями:

Напишите метод вычисления расстояния от отрезка до точки
// Вставьте сюда финальное содержимое файла DistanceTask.cs using System; namespace DistanceTask { public static class...

Нахождение расстояния от точки до отрезка
Написать программу на С находящую расстояние от точки до отрезка

Разработать метод вычисления длины отрезка по координатам и метод для проверки треугольника
Нужна помощь.Разработать метод f(x1,y1,x2,y2), который вычисляет длину отрезка по координатам вершин(x1,y1) и (x2,y2), и метод t(a,b,c),...

42
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
03.10.2021, 22:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от escoult Посмотреть сообщение
Так нет. Вектор имеет направление. Отрезок нет.
И что?
Застрелиться теперь?
Какая разница?
Мне нужно только одно из свойств векторов.
Я его использую.

Цитата Сообщение от escoult Посмотреть сообщение
Точка и прямая - элементарные геометрические фигуры планиметрии.
А угол?
Мы же именно его тип определяем.
Вот треугольника здесь никакого нет, так же как и векторов.
Мы используем их свойства.
Вам приспичило треугольник, мне вектора.
Оба варианта равноправы.

Добавлено через 28 секунд
Цитата Сообщение от escoult Посмотреть сообщение
обоснование неверности вашего
То есть мой код выдаёт неверные результаты?

Добавлено через 55 секунд
Цитата Сообщение от escoult Посмотреть сообщение
Я привел обоснование своего способа
Вы пока никаких обоснований не привели.
Вы просто привели свою хотелку.
Чем она лучше других хотелок вы не обосновали.
0
1534 / 542 / 127
Регистрация: 09.01.2018
Сообщений: 1,762
03.10.2021, 22:55
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Застрелиться теперь?
Зачем? Решать исходя из того что дано.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Какая разница?
Кардинальная. Правила сложения векторов, правила умножения векторов. Наконец смысл скалярного произведения. Да и нет у вас векторов.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вот треугольника здесь никакого нет, так же как и векторов.
Треугольник есть. Есть три точки на плоскости. Если они не лежат на одной прямой - то они образуют треугольник. А вот вектора там действительно нет.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
То есть мой код выдаёт неверные результаты?
Не факт. Я же написал, что не проверял.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вы пока никаких обоснований не привели.
Ну, правда... Я уж столько написал, да все мимо вас прошло.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
03.10.2021, 23:07
Цитата Сообщение от escoult Посмотреть сообщение
Да и нет у вас векторов.
Так же как и треугольника.

Цитата Сообщение от escoult Посмотреть сообщение
Если они не лежат на одной прямой - то они образуют треугольник.
Нисколько.
Это вы построили на них треугольник.
А я построил вектора.
Одно не лучше другого.

Цитата Сообщение от escoult Посмотреть сообщение
Я же написал, что не проверял.
Так какие претензии тогда могут быть к коду?
То что я реализовал метод который вам не нравится?
Ну, так это дело вкуса, а не правильности-неправильности.

Цитата Сообщение от escoult Посмотреть сообщение
Ну, правда... Я уж столько написал, да все мимо вас прошло.
Вы НИЧЕГО не написали по обоснованию того что что ВЕРНА реализация ТОЛЬКО вашего способа.
Вы пишите только о том, что вам НРАВИТСЯ ваша реализация и не нравится моя.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2021, 23:07

Написать функцию, вычисления расстояния от точки до контура
Нужно написать функцию, которая бы вычисляла расстояние от точки до контура и возвращала бы его. Спасибо.

Составить функцию вычисления расстояния от точки до начала координат
На форуме нашел такое решение, но не пойму как записать вычисление расстояния через функцию для n-ой точки? uses crt; var ...

Разработать программу для вычисления кратчайшего расстояния от произвольной точки
С++ Разработать программу для вычисления кратчайшего расстояния от произвольной точки плоскости с координатами X, Y до контура...

Напишите функцию, возвращающую длину отрезка от начала координат до точки, заданной своими координатами
Напишите функцию, возвращающую длину отрезка от начала координат до точки, заданной своими координатами. Для введённой последовательности...

Метод возвращает неправильно расстояние от отрезка до точки
В частности при A(-30;0), B(30;0), K(60;30) правильный ответ 42,4264068711929. Я вычисляю, с расчерчивание в тетради и получается 30....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
43
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru