Главная страница
    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.47 MB
Время: 0.033 c
1-1089435194
Ivolg
2004-07-10 08:53
2004.07.25
Процедуры и функциии


4-1086769691
Elf
2004-06-09 12:28
2004.07.25
Структруры и Винды


1-1089705993
Jakut
2004-07-13 12:06
2004.07.25
ListView + Gauge


1-1089074956
CyBeR
2004-07-06 04:49
2004.07.25
Переход на формы по закладкам


14-1089057420
miwa
2004-07-05 23:57
2004.07.25
Где найти драйвера под linux для soft-modem а Conexant?





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