Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ Как определить начало декартовых координат в окружности

Автор: DaLeoKey 13.11.2017 0:09

Есть задача: По заданным координатам центра Р0 (хо, уо) и некоторой точки окружности Р1(x1, y1) должны вычисляться длина окружности и площадь круга, образованного ею.
И надо улучшить программу, чтобы ещё определялось, находится ли начало декартовых координат внутри окружности, вне ее или на окружности.

Автор: OCTAGRAM 13.11.2017 16:27

Дистанция на плоскости Евклида между точками (x1, y1) и (x2, y2) считается по формуле Пифагора:

Sqrt (Sqr (x2 - x1) + Sqr (y2 - y1))


Если дистанция от начала координат (0, 0) до центра окружности P0 меньше дистанции от P0 до P1, то начало координат — внутри круга. Если точно равно, то на окружности, если больше — то вне круга.

Автор: Федосеев Павел 14.11.2017 1:08

Можно добавить небольшое уточнение.

Если координаты точки окружности и центра окружности целые числа, то при определении положения начала координат относительно окружности можно не извлекать квадратный корень, сравнивая суммы квадратов.

Причина - при сравнении вещественных чисел в машинной реализации невозможно сравнение на точное равенство.