Как узнать, находится ли точка на окружности в С++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как узнать, находится ли точка на окружности в С++?

Сообщение Anonymous »

Я знаю формулу проверки точки внутри/на/вне круга, но мои результаты неверны. Я прочитал уравнение, чтобы проверить, находится ли точка внутри круга, но моя реализация неверна. То, что координаты центра круга всегда (0,0), может быть неправильным.
Моя функция:

Код: Выделить всё

boolean checkMousePos()
{
double rel_x = 200;
double rel_y = 200;
double distance = 0;
double rad = 130;

bool bCheck = false;

// Pythagoras
// distance = sqrt(((rel_x - size_x)sqrd) + ((rel_y - size_y)sqrd))

rad = rad * rad;

rel_x = rel_x * rel_x;
rel_y = rel_y * rel_y;
distance = sqrt(rel_x + rel_y);

if(distance x как 10 и относительный_point->y как 10 (за пределами радиуса грани датчика), bCheck вернет true. Точно так же фраза «is x or y > r» не может работать, потому что координаты x и y внутри круга могут достигать максимум 212 каждая, когда радиус равен 130.
Что я ошибся? 

Подробнее здесь: [url]https://stackoverflow.com/questions/79787358/how-to-find-if-a-point-is-on-a-circle-in-c[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»