Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Пересечение луча и "какой-то" фигуры...   Найти похожие ветки 

 
Goida ©   (2004-03-30 10:17) [0]

Как мне определить пересекается лучь с фигурой в пространстве или нет?
Мне нужны хотябы базовые формулы или правила...


 
Morok   (2004-03-30 10:57) [1]

фигура состоит из полигонов, определяй пересечения со всеми полигонами............

луч - отрезок.

p1,p2 - координаты начала и конца отрезка.

есть формула определения расстония от точки до плоскости.

dist1 := P1 * Plane.Normal + Plane.D;
dist2 := P2 * Plane.Normal + Plane.D;

if (dist1 > 0 and dist2 < 0) or
   (dist1 < 0 and dist2 > 0) then луч пересекает плоскость

вроде ниче не попутал.....


 
Morok   (2004-03-30 11:02) [2]

а еще нужно объект заключать в б бокс и прверять сначала на пересечение с боксом (например можно объект вписать в шар)
ну и далее понятно.....


 
Goida ©   (2004-03-30 11:12) [3]

Другими словами, нужо искать пересечение луча с плоскостью (полигоном), так?


 
Morok   (2004-03-30 11:25) [4]

ну да, так, а как же иначе.....


 
Shopot ©   (2004-03-30 23:31) [5]

А вообще возьми любую книгу по Аналитической геометрии.
Там это все очень хорошо описано. И еще там есть про 3-х
мерные построения. Ну вообщем все, чтобы написать самому
2-d, 3-d игру.


 
Goida ©   (2004-04-01 15:20) [6]

Что-то читаю и никак разобраться не могу, а как, например, мне найти точку пересечения с треугольником в пространстве? А со сферой?


 
shiftdel   (2004-04-05 01:12) [7]

это очень просто: запусти google и набери в строке поиска "пересечение луча с треугольником" или "пересечение луча со сферой". И смотри статьи. Еще есть сайты, на которых можно поискать (типа dtf.ru или gamedev.ru).
вообще удивительно, чего же хотел Goida - чтоб ему в форуме изложили краткий курс аналитической геометрии?
(почитал этот форум и как-то хочется спросить не знаю кого - сколько глупости надо иметь, чтоб задавать некоторые вопросы)


 
Tano ©   (2004-04-06 00:44) [8]

Отправил на мыло свой модуль - там примитивная 3D-геометрия.
Компилятор: TMT Pascal 32bit. Алгоритм простой, там главное посмотри используемые структуры (record) и функцию
FindCrossLinAndPl(var Lin :tLine3D; var Pl :tPlane3D; var CrPo :tPoint3D; var S :Double);
Писал подобное и на ASM (быстрее считает, использует инструкции FPU), но там разобраться - глухо, сам не помню, давно было.
Формулы вроде в комментах писал (в формате Pascal)
Непонятно - пиши.
ЗЫ. Интересно, а попадаются программеры, которых никогда не интересовало 3D-моделирование? ;-)



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

Форум: "Игры";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.033 c
14-1089114335
Григорьев Антон
2004-07-06 15:45
2004.07.25
Нужны оппоненты для диссертации


14-1088911799
Григорьев Антон
2004-07-04 07:29
2004.07.25
А кто за статьи на этом сайте отвечает?


1-1089051990
Кастуся
2004-07-05 22:26
2004.07.25
Проверка стринги


8-1083638047
тихий вовочка
2004-05-04 06:34
2004.07.25
Как избежать пропадания рисунка


1-1089127014
Buster
2004-07-06 19:16
2004.07.25
Как написать у CheckBox текст в две строки?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский