Войти
ПрограммированиеФорумФизика

Физика «на пальцах»: Обнаружение столкновений для выпуклых геометрий (комментарии) (3 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#30
0:28, 15 дек. 2012

BlackOverlord
повлияет. точек лучше брать хотя бы десяток.

#31
21:30, 21 дек. 2012

еще пара вопросов, по 4 фазе
1) строятся две вспомогательные плоскости с нормалями равными pd, и результирующие контактные точки лежат на одной из них. но ведь грани объектов (контактные площадки) не обязаны лежать в этих плоскостях
2) в конце говорится что "они имеют право пересекаться, так как их нормали могут отличаться на eps", но ведь мы сами задали плоскостям одинаковые нормали? или это другие плоскости?

#32
21:44, 21 дек. 2012

BlackOverlord
да, это хорошее замечание. внёс правку в статью. контактные площадки не обязаны быть параллельны и, вообще говоря, их точки не обязаны даже строго лежать в одной плоскости. поэтому проекция делается на некоторые усреднённые плоскости.

Прошло более 7 месяцев
#33
18:00, 24 июля 2013

Вопрос по 3 фазе. Если Вы сами говорите, что даже у боксов могут быть контактные площадки из 1, 2 или 4 точек, то как из одной или двух точкек можно получить многоугольник? Как закодить сии случаи? Заранее спасибо.

#34
11:11, 26 июля 2013

uw5fl
Здесь под многоугольником понимается просто множество точек. 1, 2 или 10 - не важно.

#35
9:22, 31 июля 2013

а если нормали от ребер то куда проецировать ??

#36
5:29, 1 авг. 2013

не могу придумать как взять n0 n1 вектора ?

так что ли

Vector N = PDaxis;
 Vector n0 = N.corss( Vector(1,1,1) );
           n0.Normalise();
 Vector n1 = N.cross( n0 );

>фаза 3
>Спроецируем обе контактные площадки в плоскость, перпендикулярную направлению axis

от куда её взять

#37
20:40, 1 авг. 2013

MDS
как ето сделать ?

#38
11:42, 2 авг. 2013

werasaimon
> так что ли
> Vector N = PDaxis;
> Vector n0 = N.corss( Vector(1,1,1) );
> n0.Normalise();
> Vector n1 = N.cross( n0 );
в первом приближении можно и так

#39
13:28, 3 авг. 2013

мб я вообще нуб и копипастер, но, вот, во всяком случае, кто пишет на делфях, заценит
http://vk.com/club55322766

#40
18:46, 4 авг. 2013

uw5fl
какое отношение имеет к теме?

#41
1:51, 6 авг. 2013

Suslik
> werasaimon
> > так что ли
> > Vector N = PDaxis;
> > Vector n0 = N.corss( Vector(1,1,1) );
> > n0.Normalise();
> > Vector n1 = N.cross( n0 );
> в первом приближении можно и так

а так

  
               N.Normalise();    
               Vector n0 = ( N ^ Vector::X );
      if( fabs( n0.GetLength() ) < 0.01f ) n0 = ( N ^ Vector::Y );
               Vector n1 = ( N ^ n0 );
         n0.Normalise();
               n1.Normalise();

#42
9:55, 6 авг. 2013

werasaimon
так лучше

#43
21:50, 7 авг. 2013

а тема в том, что я хотел бы понять, почему эта дура не работает, и выставил его на обозрение. Потому как много к кому обращался, и никто толком не помог. А вы чуть что- сразу бан(

#44
1:50, 8 авг. 2013

uw5fl
а есть твой код на С++

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумФизика