Path: chuka.playstation.co.uk!news From: Jim Newsgroups: scee.yaroze.programming.libraries Subject: Re: Rotation Matrix Functions Date: Tue, 08 Apr 1997 10:14:43 +0100 Organization: PlayStation Net Yaroze (SCEE) Lines: 44 Message-ID: <334A0C83.5959@micronetics.com> References: <01bc4074$bd79ee80$d603e8c3@fred> NNTP-Posting-Host: jim.micronetics.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.0b2 (Win95; I) X-Priority: 3 (Normal) Hi Mike, I've also seen this. Are you directly additive modifying the matrix (coord.m i think) element of GsCOORDINATE2 for each frame? I think your objects are scaling because of a small error creeping in for each rotation operation. Because you are modifying the same matrix for every frame the error get bigger and bigger until every thing starts freaking out. :-) If you take a copy of the initial matrix each frame and modify that with the rotation metrics you should be ok. I don't think this will apply to translation. For example rather than rotating an object 50 degrees on frame one and by another 50 the next, First rotate by 50 from the initial matrix, then by 100 again from the initial for the next frame. This will stop the error multiplying into one huge climax! :-) This may make no sense just yet because its monday morning before coffee. I'll reread this this afternoon and post an errata then. :-) Regards Jim Michael Enoch wrote: > > Hi, > I've been trying to use RotMatrixX(),RotMatrixY(),RotMatrixZ() and I find > that they tend to scale the 3D object slightly. It takes a while but if > you constantly rotate on an axis the object gets smaller/bigger and sort of > twists. One way to see this faster is to rotate equal amounts in one axis > both ways(+/-) as this also causes the object to scale. I know it is > scaling and not moving because of the odd twist and I printed the position > onto screen. If you need more details please ask. I'm not using the > single RotMatrix() function because it doesn't give me the required > rotations. > > Thanks in advance, > Mike Enoch