|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.03.2013, 03:40 | #1 |
Сама себе режиссер
Старожил
Регистрация: 27.04.2007
Сообщений: 3,365
|
Векторная алгебра
Сориентируйте, плиз, горе-математика: есть прямая и есть вектор, пересекающий эту прямую. Можно ли каким-то образом узнать направление этого вектора - к прямой или от прямой смотрит его "морда"?
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
|
28.03.2013, 05:08 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Если вектор пересекает прямую, то его морда смотрит от прямой, иначе была бы одна точка пересечения.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
28.03.2013, 06:38 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Что-то въехать в задачу не могу (ну, в смысле, не могу понять, действительно задача такова, как это написано или просто тут некая формулировка сокрыта, что даёт доп. смысл). Но вот рассуждения.
Прямая и вектор - "прямые" линии, и соответственно, и будучи просто прямыми, они могут либо пересекаться либо идти параллельно в декартовом пространстве. Вектор, как часть "своей" прямой - может не пересекать другую прямую именно по ограничению длины. Если в условии указано, что вектор _пересекает_ прямую, значит они не параллельны и имеют одну точку пересечения (ибо лежат на прямых). Из этого заключаем, что одна часть вектора лежит с одной стороны прямой , а другая - с другой. И получается, что "морда" хоть как будет смотреть от прямой. На прямую он никак не может смотреть в этом случае - ведь его "морда" при этом должна быть направлена на свою середину. Если же пересечения нет, то можно говорить о том, что вектор может быть параллелен прямой, "смотреть" от неё и "смотреть" на неё. Эту задачу можно решать обычным расчётом расстояния от точки до прямой. Точки - начало и конец вектора, которые в случае, если это действительно вектор (у которого нет размещения, т.е. его начало в 0/0), а не набор координат отрезка, надо ещё сложить с размещением. Если начало ближе конца - то от прямой, наоборот - к прямой. Ну а коли равны - значит они параллельны. На всякий случай теория , но уверен, Вам не понадобится Просто, видимо, сказывается какой-то фактор на возможность разобраться в задаче. Последний раз редактировалось phomm; 28.03.2013 в 06:43. |
28.03.2013, 07:49 | #4 | |||||
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Последний раз редактировалось Ezhik Kihze; 28.03.2013 в 07:58. |
|||||
28.03.2013, 07:57 | #5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Формулировка некорректна: прямая и вектор не могут пересекаться.
У прямой есть строго определенное положение в пространстве. У вектора такого положения нет - у него есть только направление, т.е. в пространстве он может располагаться как угодно. Соответственно, его всегда можно расположить так, что его отрезок будет пересекать прямую, а можно - что не будет. Если направленный отрезок на плоскости пересекает прямую, то "его морда" всегда будет смотреть от прямой. |
28.03.2013, 07:57 | #6 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Как вариант пересечения - когда точка начала либо точка конца вектора принадлежат прямой. Тогда надо определить, которая из этих двух точек лежит на прямой. Если начало - тогда вектор повернут мордой от линии. И наоборот.
ИМХО - это единственный возможный корректный случай. Все остальное -как сказал s-andriano
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 28.03.2013 в 07:59. |
28.03.2013, 08:46 | #7 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Может подойдет такая логика решения:
1. Путь есть прямая и векторы 1.JPG 2. Производим поворот и смещение системы координат так, чтобы наша прямая в этой системе лежала на оси 2.JPG 3. Код:
- если Morda > 0 - вектор смотрит на прямую - если Morda < 0 - вектор смотрит от прямой С этой точки зрения, если вектор пересекает прямую - он смотрит на неё. Последний раз редактировалось Sibedir; 28.03.2013 в 08:50. |
28.03.2013, 09:11 | #8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Sibedir, так в Вашем случае ни один вектор не пересекает прямую. Потому что вектор - это ограниченный направленный отрезок.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
28.03.2013, 11:01 | #9 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Так я и говорю
Цитата:
Последний раз редактировалось Sibedir; 28.03.2013 в 11:03. |
|
28.03.2013, 11:21 | #10 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
UPDATE О, а куда исходный пост Сержа исчез?!
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 28.03.2013 в 11:24. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
векторная алгебра | KIRILOW | Помощь студентам | 61 | 31.10.2012 15:45 |
LNK1561 (векторная программа) | finz | Помощь студентам | 6 | 20.05.2011 18:01 |
Векторная графика | AnReykfi | Помощь студентам | 0 | 15.05.2010 14:10 |
векторная графика. квадрат | varelik | Мультимедиа в Delphi | 18 | 07.09.2009 22:25 |
Векторная графика в C++ Builder 6 | Max2114 | C++ Builder | 3 | 19.01.2009 14:56 |