![]() |
Нормаль коллизии
Всё бы здорово только надо это порделать с анимированной моделью.Первая модель сложная вогнутая, но мне нужно узнать соприкосновение сферы с выгнутой частью этой модели. Кароче мне нужна нормаль к поверхности сферы и прикосающейся к ней анимированной модели. Что можете посоветовать?
|
Ответ: Нормаль коллизии
Если у тебя есть точка на сфере, то от центра сферы к точке можешь найти вектор ты. Приведя его к единичной длине получишь нормаль к этой точке поверхности сферы.
Хоть бы схему нарисовал, да? ЗЫ чувствую себя кэпом. |
Ответ: Нормаль коллизии
dsd, это априори известно, про сферу то, я еще упомянул модель мою, и нормаль к ней в той точке в которой соприкасается сфера и модель. Нормаль к поверхности сферы, легко. Нормаль к поверхности неопределенного 'анимированного' меша сложнее, и к тому же надо найти точку их соприкосновения.
|
Ответ: Нормаль коллизии
А проверить все точки в радиусе ли сферы они или нет? А также проверить плоскости всех полигонов, а не ближе ли они к центру сферы, чем радиус оной? В чем проблема то? Или нужна команда с флагом которая все сама сделает?
|
Ответ: Нормаль коллизии
dsd, до того как ты написал первый пост я уже это реализовал.)) На модели вертексы нужные красятся, сейчас у меня загвоздка как правильно нормаль из неё вытянуть. Помогеш мне? nx,ny,nz определил, но как правильно в глобал их передать?
|
Ответ: Нормаль коллизии
xTform для чего создана была? А ваще всякие там матрицы смещения, поворота, масштаба. Ну синусы, косинусы разные.
|
Ответ: Нормаль коллизии
dsd, да вот что то не выходит с tform'ом, а "всяки" это сложно. Ща попробую как то отбразить их, наверн через лайн, а то не пойму что вообще выходит. Кстать анимация довольно быстрая и меш бывает проваливается в сферу в первом же касании давольно глубоко, этим еще осложняется.
|
Ответ: Нормаль коллизии
смотри. Есть полигоны. Для каждого полигона ты можешь найти его центр. Ну и радиус сферы внутри которой этот полигон точно поместится.
Проверить есть ли пересечение этих сфер просто. И ты это уже делал когда обратную кинематику делал. Если нет пересечения, значит полигон не касается. Если есть и касание по какой-то вершине или ребру, то нормаль это минус нормаль сферы к этой точке. А если касание происходит на полигоне то нормаль это нормаль плоскости совпадающей с полигоном. |
Ответ: Нормаль коллизии
Пока на малой скорости проверяю дистанцию от точек. Если этого будет не достаточно то попробую, но пока сложновато понимаю как это... про то что ты сказал.
А глянь вот это как думаеш, должно работать? Код:
x=xVertexX(surf,Vertex) |
Ответ: Нормаль коллизии
Нормаль тоже тформить надо. А так че бы и не работать ей?
Но ты лучше кубик вытяни и ставь на тформленную точку и равняй по тформленному вектору, так оно наглядней по моему. |
Ответ: Нормаль коллизии
dsd,лады попробую.
|
Ответ: Нормаль коллизии
Хм, а ровнять вектор_пинчем и _явом? Линия получилось смотрит параллельно плоскости ксания. Не порядок...
|
Ответ: Нормаль коллизии
О господи! xAlignToVector, же.
|
Ответ: Нормаль коллизии
ах да!) верно!))
|
Ответ: Нормаль коллизии
dsd, объясни подробней прошу, про то что если нормаль шара вычесть из точки то получу нормаль точки, или я тебя не понял? ( ПОСТ_8 )
|
Ответ: Нормаль коллизии
Нарисуй схему уже. Там по разному. Тут уже больше термех, чем математика начинается. Что я тебе три семестра по памяти пересказать должен? А вообще бросай бэйсик, раз начал зарываться в детали, то даже на нем ничего не напишешь. Только выбери приличный язык где память руками выделять не надо. Там копаться будет интересней, чем с бэйском.
|
Ответ: Нормаль коллизии
А какие языки знаеш которые подошли бы под это определение?
По теме есть вопрос нормали ложаться параллельно плоскости, как бы ты повернул ее. Ничего в голову не приходит? |
Ответ: Нормаль коллизии
Нашел в энете, нормаль к плоскости по трем точкам можно найти через формулы:
Nx=((y1-y2)*(z3-z2)-(z1-z2)*(y3-y2)) Ny=((z1-z2)*(x3-x2)-(x1-x2)*(z3-z2)) Nz=((x1-x2)*(y3-y2)-(y1-y2)*(x3-x2)) Мож кому поможет. |
Ответ: Нормаль коллизии
Я знаю только бэйсик и издали плюсы. Наверно ява или си.
Плоскость? Твоя нормаль линия действия силы. Точки это опоры. Можно считать что не закрепленные но с массой, прикладываешь моменты сил, смотришь моменты инерции составляешь шесть уравнений для каждого полигона считаешь ускорения линейные и угловые или как там оно называется, плюсуешь к шести скоростям. Песня же :) |
Ответ: Нормаль коллизии
Цитата:
|
Ответ: Нормаль коллизии
Цитата:
|
Часовой пояс GMT +4, время: 14:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot