![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 26.09.2011
Сообщений: 3
|
![]()
Задается точка и вектор.
Нужно определить размещение точки по отношению к направленному отрезку (спереди/ сзади, слева/справа или на отрезку). Как это реализовать, нужен алгоритм? Язык: C. Последний раз редактировалось Iamg8; 26.09.2011 в 19:51. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
С точки зрения чистой геометрии можно придраться к постановке задачи (что такое "спереди/ сзади" хотя бы?), ну да ладно...
... 1. Выполняешь параллельный перенос заданных трёх точек, так чтобы начало вектора оказалось в начале координат. 2. Выполняешь поворот относительно начала координат, так чтобы вектор совпал с положительным направлением какой-то из осей. 3. Анализируешь новые координаты точки. |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
пример исходный вектор(с нулевым началом и (x<0, y=0). (-2,0) точка (-3,0) слева A<x <0. после поворота на положительную полуось X ось (x1>0) имеем [вектор (2,0) точка (3,0)] A1>x>0 точка оказалась справа. а может быть все гораздо проще ? 1.JPG точка (X,Y) вектор ((X1,Y1)(X2,Y2)) Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.09.2011 в 09:02. |
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]() Цитата:
Давайте сперва "договоримся от терминах". Чтобы понятия "слева / справа / на оси" имели смысл, я смотрю на поставленное условие, как на задачу механики. То есть, имеется точка приложения силы (обозначим её A), вектор силы (AB), и некая точка C, положение которой относительно вектора [силы] и точки его приложения нужно определить. В Вашем примере A имеет координаты (0,0), B - (-2,0), C - (-3,0). Правильно я понял? То есть C лежит на оси действия силы (AB), при этом "перед" точкой её приложения. 1. Параллельный перенос ничего не меняет: A1(0,0), B1(-2,0), C1(-3,0) 2. Поворот до совпадения вектора с [O,X): A2(0,0), B2(2,0), C2(3,0) Точка C2 по-прежнему лежит на оси действия силы, "перед" точкой её приложения. |
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 27.09.2011 в 15:04. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Да. По крайней мере слова ТС "определить размещение точки по отношению к направленному отрезку" я понял именно так. И думаю, дальнейшие гадания и споры до появления ТС с разъяснениями (а в том, что он здесь ещё раз появится, я почему-то сомневаюсь), не имеют смысла.
|
![]() |
![]() |
![]() |
#7 | ||
Регистрация: 26.09.2011
Сообщений: 3
|
![]() Цитата:
Решать её нужно геометрически (в "стандартной" декартовой системе координат), извиняюсь, что сразу не указал. Цитата:
Это все еще нужно рисовать, не подскажете еще какой библиотекой воспользоваться под С? // спасибо за ответы, в следующем посте, возможно, напишу код. Последний раз редактировалось Iamg8; 28.09.2011 в 21:08. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определение принадлежности точки | druger | Помощь студентам | 1 | 18.09.2011 16:45 |
Положение точки относительно кривых Безье | Александр Кедрик | Общие вопросы C/C++ | 2 | 10.08.2011 17:36 |
Проверка положения точки относительно треугольника | AnDre_rus | Общие вопросы C/C++ | 2 | 12.11.2010 19:38 |
Определение номера итема относительно корневого раздела в TreeView | Dozent | Общие вопросы Delphi | 7 | 07.04.2010 17:15 |
Определить, лежат ли обе точки относительно прямой в одной полуплоскости - задача на С++. | Wia | Помощь студентам | 4 | 21.12.2008 02:06 |