Текущий архив: 2004.07.18;
Скачать: CL | DM;
Вниз
собсна взаимодействие шариков.... Найти похожие ветки
← →
Morok (2004-03-19 11:04) [0]ftp://ross.usinsk.ru/Project1.rar
начал делать физ движек и вот загвоздочка шарики при некоторых условиях в момент столкновения наползают друг на друга (как бы прилипают)
я вобщем понимаю из-за чего это происходит и попытался избавится от этого неприятного момента но, что я только не делал все равно что-то не то.....блин может кому не лень проанализируете кусок кода, как можно уберечься от наползания?:
function TCollider.CollideSphereWithSphere ( S1: TPBodySphere; S2: TPBodySphere ): Boolean;
Var
D: TVector;
l: Single;
begin
D := VectorSubtract( S1.P, S2.P );
result := (VectorLength( D ) < (S1.R + S2.R));
end;
procedure TCollider.ReflectSphereBySphere ( S1: TPBodySphere; S2: TPBodySphere );
Var
N, tmp: TVector;
Im, Im1, Im2: TVector;
l, cosa, k, k1, k2: single;
begin
N[3]:=0;tmp[3]:=0;Im1[3]:=0;Im2[3]:=0;Im[3]:=0;
Im1 := S1.V;
Im2 := S2.V;
VectorScale(Im1, S1.M);
VectorScale(Im2, S2.M);
Im := VectorAdd (Im1, Im2);
S1.V := VectorSubtract(Im, Im1);
S2.V := VectorSubtract(Im, Im2);
VectorScale(S1.V, 1/S1.M);
VectorScale(S2.V, 1/S2.M);
end;
← →
Morok (2004-03-22 09:14) [1]Ну народ! ну хоть что-то скажите типа: "Че пристал?" или "че те надо ваще"
но не молчите! плиз!
← →
Ландграф Павел © (2004-03-22 19:46) [2]Morok> ну сервер... скорость скачивания около ~550 байт/сек так и плюнул скачивать... вышли на мыло если хочешь - заценю!
← →
Morok (2004-03-23 09:02) [3]я уже понял ) это у меня исходящий трафик маленький, злой провайдер рубит все на свете, я даже не думал что настолько маленький %), я решил проблемму, я просто немного затупил.....
возник другой вопрос, на счет моделирования физики...
допустим шар движется слишком быстро т.е за одну итерацию он перепрыгивает область в которой проходит коллизинг, допустим, со стеной
в голову сразу приходит что можно хранить предидущую координату и проверять пересечение вектора {Pnew, Pold} с плоскостью
и поправлять координаты объекта насильно %) НО насилие не есть гуд....
второй способ, если я правильно понял, я подсмотрел в каком то исходнике, что-то связано со временем точнее с изменением шага интегрирования, вот как это реализуется я не понял.... может кто знает? или кто что подскажет?
← →
Morok (2004-03-23 13:38) [4]и сразу еще одна трабла, как вообще получить Матрицу положения объекта в пространстве?
я хочу связать графический объект с физическим и соответственно нужно синхронизировать их вращение в пространстве...
не въеду никак с чего начать....
← →
Morok (2004-03-24 11:50) [5]интересный у меня тут монолог выходит, всем спасибо до всего допер сам!!!!
сделал динамический шаг интегрирования и все терь пучком....
← →
Morok (2004-03-24 16:49) [6]последний мой вопрос на этом форуме, может хоть кто-то соблаговалит ответить....
есть система связаных частиц, из которых построен куб, как избежать раскачивания системы?
на сколько я понимаю это происходит из-за погрешности интегрирования, какие методы народ используюет?
← →
чебуратор (2004-03-26 19:01) [7]вообще не понимаю, о чем ты.. почему нельзя для обьекта матрицу преобразований?
и координаты для физики и для графики считать по ней? и ничего не раскачивается, все синхронно
← →
Morok (2004-03-30 08:17) [8]все сделал, просто давно не писал ниче все позабыл.....
Страницы: 1 вся ветка
Текущий архив: 2004.07.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.025 c