Форум: "Игры";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
ВнизСфера и треугольник Найти похожие ветки
← →
VolanD666 (2006-02-03 10:28) [0]Здравствуейте, программеры! Занялся я тут Collision Detection ( на основе сферы ). Нашел статью про то, как определить пересечение сферы с треугольником. Вот только не много ее не пойму. Пересечение сферы с плоскостью треугольника я сделал, а как найти "точку пересечения", что то не могу разобраться. Подскажите, please...
← →
XProger © (2006-02-03 11:39) [1]Точка пересечения лежит в треугольнике.
Точка пересечения лежит на перпендикуляре опущенном из центра сферы на плоскость...
Хотя, зачем находить точку пересечения? Нашёл факт, что сфера "въехала" в плоскость треугольника - отодвинул сферу на (Radius - Dist) * Normal, где Radius - радиус сферы, Dist - расстояние до плоскости треугольника и Normal - нормаль к треугольнику.
Вот кривой примерчик на тему http://xproger.mirgames.ru/?id=2#XSource
← →
VolanD666 (2006-02-03 12:04) [2]
> Хотя, зачем находить точку пересечения?
Ну, а если сфера пересекла плоскость, а не треугольник?
← →
XProger © (2006-02-03 13:26) [3]VolanD666, Pos - Normal * Dist - вот твоя точка
← →
VolanD666 (2006-02-03 14:30) [4]
> VolanD666, Pos - Normal * Dist - вот твоя точка
В этой статье так же написано, вот это я как раз и не понял :-)
← →
XProger © (2006-02-03 14:48) [5]Листочек бумажки и ручка :)
← →
VolanD666 (2006-02-03 15:13) [6]Все равно не понял. Как отнимая от вектора-положения игрока нормаль к треугольнику ( длиной Dist ) мы можем получить точку пересечения :-O
← →
XProger © (2006-02-03 15:29) [7]Читай первые 2 строки [1] поста :)
← →
Кефир87 © (2006-02-03 16:30) [8]Pos и Normal - Векторные величины (x,y,z) а Dist скалярная величина - нверно радиус сферы 8)
← →
XProger © (2006-02-03 16:39) [9]Dist - расстояние до плоскости по нормали Normal (перпендикуляру) из центра сферы Pos ;)
← →
VolanD666 (2006-02-03 18:01) [10]
> Читай первые 2 строки [1] поста :)
Отнимая от одного конца вектора, сам вектор, мы получим другую его точку?
Только вот я не понял про нормаль, а если треугольник далеко, то и нормаль не может быть рядом со сферой. ( я нормаль находил векторным произведением, между двумя векторами-сторонами треугольника )?
← →
XProger © (2006-02-03 21:06) [11]Pos - радиус-вектор
Normal - единичный вектор
Теперь, быстро лезем в учебник по алгебре за 8 класс (или яндекс) и понимаем различие!
← →
VolanD666 (2006-02-04 07:50) [12]В общем, с векторами я понял, а что с нормалью?
← →
XProger © (2006-02-04 12:32) [13]VolanD666, а что с ней?
← →
VolanD666 (2006-02-04 13:02) [14]Ok, все получилось!
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.049 c