Главная страница
    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.047 c
1-1089286563
Ivolg
2004-07-08 15:36
2004.07.25
Размер


1-1089223799
ZiRoCool
2004-07-07 22:09
2004.07.25
как НЕ главную форму отобразить в панели задач, в рантайме?


6-1085670241
half_litre
2004-05-27 19:04
2004.07.25
Причина ClientDisconnect ??


4-1086109696
lena19
2004-06-01 21:08
2004.07.25
перехват скролинга компонента


1-1089507911
Serg_lys
2004-07-11 05:05
2004.07.25
Графика в Delphi





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