Форум программистов, компьютерный форум CyberForum.ru

Попадание точки в эллипс (окружность) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.76
zmei88
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 10
30.04.2010, 21:28     Попадание точки в эллипс (окружность) #1
Интересует как возможно реализовать на языке Си попадание точки с произвольными координатами в эллипс с заданными расстояния от одного конца до другого, ну или хотя бы тоже самое сделать, но для окружности с заданным радиусом. Если честно просто не знаю как к этому подойти, может кто знает где прочитать или как это реализовать, просто сроки поджимают...Буду очень благодарен за помощь...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SorokinWS
67 / 67 / 1
Регистрация: 02.11.2009
Сообщений: 334
30.04.2010, 21:50     Попадание точки в эллипс (окружность) #2
Цитата Сообщение от zmei88 Посмотреть сообщение
эллипс с заданными расстояния от одного конца до другого
Итак, мы имеем эллипс, с расстоянием по горизонтали 2a и по вертикали 2b заметьте, именно и 2b так как мы будем работать с половиной расстояния.

Эллипс задаётся по формуле: x^2/a^2+y^2/b^2=1
Подставляем координаты точки в уравнение и смотрим:
1. Уравнение = 1 - точка лежит на эллипсе.
2. Уравнение < 1 - точка лежит в эллипсе.
3 Уравнение > 1 - точка лежит вне эллипса.
zmei88
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 10
30.04.2010, 22:13  [ТС]     Попадание точки в эллипс (окружность) #3
хммм....тогда для окружности насколько я понимаю можно точно таким же способом сделать??

Добавлено через 14 минут
а еще такой вопрос, если мы повернем эллипс на некоторый угол, условие проверки изменится??
SorokinWS
67 / 67 / 1
Регистрация: 02.11.2009
Сообщений: 334
30.04.2010, 23:07     Попадание точки в эллипс (окружность) #4
Цитата Сообщение от zmei88 Посмотреть сообщение
хммм....тогда для окружности насколько я понимаю можно точно таким же способом сделать??
Да, окружность - это частный случай эллипса. Просто a и b будут равны.

Цитата Сообщение от zmei88 Посмотреть сообщение
а еще такой вопрос, если мы повернем эллипс на некоторый угол, условие проверки изменится??
В этом случае, следует использовать преобразование мировых координат, в координаты элипса.
Суть на рисунке:

1.Получаем координаты точки a в мировых координатах.
2.Преобразуем мировые координаты Точки в координаты эллипса.
По формулам:
X. = ((Xмир2*cos(A))+(Yмир2*sin(A)))-Xмир1
Y. = ((Yмир2*cos(A))+(Xмир2*sin(A)))-Yмир1

3.Проводим проверку по формуле:
x^2/a^2+y^2/b^2=1
Миниатюры
Попадание точки в эллипс (окружность)  
Delf1n
Сообщений: n/a
13.05.2012, 13:35     Попадание точки в эллипс (окружность) #5
Цитата Сообщение от SorokinWS Посмотреть сообщение
X. = ((Xмир2*cos(A))+(Yмир2*sin(A)))-Xмир1
Y. = ((Yмир2*cos(A))+(Xмир2*sin(A)))-Yмир1
неверно
X. = ((Xмир2*cos(A))-(Yмир2*sin(A)))-Xмир1
Y. = ((Yмир2*cos(A))+(Xмир2*sin(A)))-Yмир1

без визуализации такую ошибку трудно отловить.

тема старая, но никто не указал на ошибку, по поиску можно наткнуться на неё и потратить не мало времени
77Bender77
 Аватар для 77Bender77
18 / 18 / 0
Регистрация: 16.12.2010
Сообщений: 145
22.10.2012, 18:38     Попадание точки в эллипс (окружность) #6
Цитата Сообщение от SorokinWS Посмотреть сообщение
1.Получаем координаты точки a в мировых координатах.
а как их получить??
Yandex
Объявления
22.10.2012, 18:38     Попадание точки в эллипс (окружность)
Ответ Создать тему
Опции темы

Текущее время: 22:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru