Тема: Задачка.
Показать сообщение отдельно
Старый 15.05.2003, 03:17   #2   
Memory test: failed
 
Аватар для DMakeev
 
Сообщений: 699
Регистрация: 21.03.2003
Возраст: 43
Записей в дневнике: 7

DMakeev вне форума Не в сети
Так кто кого разбивает? Как я понял, у тебя есть несколько прямых, заданных парами точек и несколько плоскостей. Нужно найти сколько раз разбивают каждую прямую данные плоскости.
Можно пробежаться по всел парам плоскость/прямая и найти все тоски пересечения, а затем посмотреть, к кому что относится. Делается не сложно, но перебором (если память не изменяет, нужно уравнения прямых и плоскостей перевести в параметрические и там была ормулина на понахождению точки пересечения. Сейчас не помню, могу посмотреть).
Можно пойти от противного - если плоскость не пересекпет прямую, то она параллельна (хорошая вещь логика), формулина параллельности есть в учебнике геометрии. Но надо обрабатывать вариант пересечения в одной точке двух и более плоскостей с прямой. Для этого нужно найти прямые пересечения плоскостей и посмотреть, пересекают ли они искомые прямые.
Какой извариантов оптимальнее на вскидку не скажу, ИМХО второй, но не факт, пробовать надо.

DMakeev добавил [date]1052958019[/date]:
PS Описание алгоритма пересечения прямой с плоскостью: http://algolist.manual.ru/maths/geom...ineplain3d.php
  Ответить с цитированием