[ODE] Slipch -> Aceeleration of angular velocity

Ivan Bolcina ivan.bolcina at volja.net
Mon Feb 24 02:31:02 2003


This is a multi-part message in MIME format.

------=_NextPart_000_000B_01C2DBEF.B6D56420
Content-Type: text/plain;
	charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

It compiles now. DLL problem it was. But how to use it? Which are in and =
which out parameters. Say, If I put 1000 Nm on X axis, what will =
acceleraon of angular velocity around this axis be?





Hi! Me again.
Function wont compile.
What to do?

bye,ivan

> void dBodyAngAccelFromTorqu(const dBodyID body, dReal* ang_accel, =
const
dReal* torque){
>       dMass m;
>       dMatrix3 invI;
>       dBodyGetMass(body,&m);
>       dInvertPDMatrix (m.I, invI, 3);
>       dMULTIPLY1_333(ang_accel,invI, torque);
>       }
----- Original Message -----
From: "slipch" <slipch@gsc-game.kiev.ua>
To: <ODE@q12.org>
Sent: Tuesday, January 21, 2003 12:02 PM
Subject: Re: [ODE] Acceleration on angular velocity


> Hello Ivan,
>
> Monday, January 20, 2003, 9:16:13 PM, you wrote:
>
> IB> HI, I need help.
>
> IB> I have dBody. I want to apply torque to it. This torque will =
increase
angular velocity of this body - body will be rotating faster and faster.
What will this acceleration be? Is there a way to
> IB> ask ode, what acceleration of angular velocity will some torque
produce? Right now, I measure acceleration :-(
>
> IB> thanx,ivan
>
> M=3DI*b;  =3D>   b=3DI'*M;
>
> Where b - acceleration of angular velocity (vector),
>       M - accumulative torque applied to the body (vector),
>       I - inertia tensor of the body (matrix 3x3 from dMass parameter)
>           of the body)
>       I'- inverse matrix I
>
> It must looks something like:
>
> void dBodyAngAccelFromTorqu(const dBodyID body, dReal* ang_accel, =
const
dReal* torque){
>       dMass m;
>       dMatrix3 invI;
>       dBodyGetMass(body,&m);
>       dInvertPDMatrix (m.I, invI, 3);
>       dMULTIPLY1_333(ang_accel,invI, torque);
>       }
>
> ,where torque is  accumulative torque.
>
> If there is no other torque applied and no contacts you mast get right
> angular acceleration.
>
> --
> Best regards,
>  slipch                            mailto:slipch@gsc-game.kiev.ua
>
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode

_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode
------=_NextPart_000_000B_01C2DBEF.B6D56420
Content-Type: text/html;
	charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-2">
<META content=3D"MSHTML 6.00.2800.1141" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>
<DIV><FONT size=3D2>It compiles now. DLL problem it was. But how to use =
it? Which=20
are in and which out parameters. Say, If I put 1000 Nm on X axis, what =
will=20
acceleraon of angular velocity around this axis be?</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV>Hi! Me again.<BR>Function wont compile.<BR>What to=20
do?<BR><BR>bye,ivan<BR><BR>&gt; void dBodyAngAccelFromTorqu(const =
dBodyID body,=20
dReal* ang_accel, const<BR>dReal*=20
torque){<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dMass=20
m;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dMatrix3=20
invI;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
dBodyGetMass(body,&amp;m);<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
dInvertPDMatrix (m.I, invI, =
3);<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
dMULTIPLY1_333(ang_accel,invI,=20
torque);<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>----- Original =
Message=20
-----<BR>From: "slipch" &lt;<A=20
href=3D"mailto:slipch@gsc-game.kiev.ua">slipch@gsc-game.kiev.ua</A>&gt;<B=
R>To:=20
&lt;<A href=3D"mailto:ODE@q12.org">ODE@q12.org</A>&gt;<BR>Sent: Tuesday, =
January=20
21, 2003 12:02 PM<BR>Subject: Re: [ODE] Acceleration on angular=20
velocity<BR><BR><BR>&gt; Hello Ivan,<BR>&gt;<BR>&gt; Monday, January 20, =
2003,=20
9:16:13 PM, you wrote:<BR>&gt;<BR>&gt; IB&gt; HI, I need =
help.<BR>&gt;<BR>&gt;=20
IB&gt; I have dBody. I want to apply torque to it. This torque will=20
increase<BR>angular velocity of this body - body will be rotating faster =
and=20
faster.<BR>What will this acceleration be? Is there a way to<BR>&gt; =
IB&gt; ask=20
ode, what acceleration of angular velocity will some torque<BR>produce? =
Right=20
now, I measure acceleration :-(<BR>&gt;<BR>&gt; IB&gt;=20
thanx,ivan<BR>&gt;<BR>&gt; M=3DI*b;&nbsp; =3D&gt;&nbsp;&nbsp;=20
b=3DI'*M;<BR>&gt;<BR>&gt; Where b - acceleration of angular velocity=20
(vector),<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; M - accumulative =
torque=20
applied to the body =
(vector),<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I -=20
inertia tensor of the body (matrix 3x3 from dMass=20
parameter)<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
of the body)<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I'- inverse =
matrix=20
I<BR>&gt;<BR>&gt; It must looks something like:<BR>&gt;<BR>&gt; void=20
dBodyAngAccelFromTorqu(const dBodyID body, dReal* ang_accel, =
const<BR>dReal*=20
torque){<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dMass=20
m;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dMatrix3=20
invI;<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
dBodyGetMass(body,&amp;m);<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
dInvertPDMatrix (m.I, invI, =
3);<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
dMULTIPLY1_333(ang_accel,invI,=20
torque);<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&gt;<BR>&gt; =
,where=20
torque is&nbsp; accumulative torque.<BR>&gt;<BR>&gt; If there is no =
other torque=20
applied and no contacts you mast get right<BR>&gt; angular=20
acceleration.<BR>&gt;<BR>&gt; --<BR>&gt; Best regards,<BR>&gt;&nbsp;=20
slipch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;=20
<A=20
href=3D"mailto:slipch@gsc-game.kiev.ua">mailto:slipch@gsc-game.kiev.ua</A=
><BR>&gt;<BR>&gt;=20
_______________________________________________<BR>&gt; ODE mailing =
list<BR>&gt;=20
<A href=3D"mailto:ODE@q12.org">ODE@q12.org</A><BR>&gt; <A=20
href=3D"http://q12.org/mailman/listinfo/ode">http://q12.org/mailman/listi=
nfo/ode</A><BR><BR>_______________________________________________<BR>ODE=
=20
mailing list<BR><A href=3D"mailto:ODE@q12.org">ODE@q12.org</A><BR><A=20
href=3D"http://q12.org/mailman/listinfo/ode">http://q12.org/mailman/listi=
nfo/ode</A></DIV></FONT></DIV></BODY></HTML>

------=_NextPart_000_000B_01C2DBEF.B6D56420--