Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Определение Пересечений   Найти похожие ветки 

 
nukeATK   (2003-07-20 00:27) [0]

Надо наити точку пересечения луча с треугольником. Где мона наити работающий пример или почитать что-то, не подскажете?
заранее благодарен.


 
Ev_genus   (2003-07-20 04:35) [1]

Пусть луч = точка + вектор. Тогда уравнение прямой в которой лежит луч будет иметь следующий вид
x=xp+xv*t
y=yp+yv*t
z=zp+zv*t
где (xp, yp, zp) - координаты точки выхода, а (xv, yv zv) - координаты вектора луча.
Построим уравнение плоскости, проходящей через заданний треугольник с вершинами (x1, y1, z1), (x2, y2, z2), (x3, y3, z3). Уравнение записивается через определитель

| x1-x2 y1-y2 z1-z2 |
| x1-x3 y1-y3 z1-z3 | = 0
| x1-x y1-y z1-z |

Для нахождения пересечения нужно подставить уравнение прямой в уравнение плоскости и найти значение параметра t, а затем подставив его обратно в уравнение прямой найти координаты.


 
Marser   (2003-07-20 11:54) [2]


> Где мона наити

И уже больше ничего не нуна! :-))



Страницы: 1 вся ветка

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.01 c
3-56481
Denisiy
2003-10-28 15:58
2003.11.17
TStoredProc - ошибку выдает... Чего не хватает


1-56717
Fox Mulder
2003-11-06 04:04
2003.11.17
Кнопки мыши


14-56879
RoLeX
2003-10-26 19:14
2003.11.17
Дайте TserverSocket и TClientSocket!!


14-56840
FoBE
2003-10-27 21:05
2003.11.17
Шифровка


3-56521
ss300
2003-10-27 17:09
2003.11.17
DateTime





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский