Path: news.mathworks.com!not-for-mail From: "Marcin " <mb1234@gazeta.pl> Newsgroups: comp.soft-sys.matlab Subject: Re: Rotate 3D object to align with x-y plane Date: Thu, 20 May 2010 14:25:04 +0000 (UTC) Organization: Bournemouth University Lines: 23 Message-ID: <ht3go0$6hi$1@fred.mathworks.com> References: <hsvvv6$7rl$1@fred.mathworks.com> <ht1pm2$1v$1@fred.mathworks.com> Reply-To: "Marcin " <mb1234@gazeta.pl> NNTP-Posting-Host: webapp-02-blr.mathworks.com Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: fred.mathworks.com 1274365504 6706 172.30.248.37 (20 May 2010 14:25:04 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Thu, 20 May 2010 14:25:04 +0000 (UTC) X-Newsreader: MATLAB Central Newsreader 2009445 Xref: news.mathworks.com comp.soft-sys.matlab:637603 "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <ht1pm2$1v$1@fred.mathworks.com>... > "Marcin " <mb1234@gazeta.pl> wrote in message <hsvvv6$7rl$1@fred.mathworks.com>... > > Hi, > > > > I have a set of points describing a 3D object, which has been rotated by some small angle (below 45 degrees) with respect to x,y and z axis. I want to rotate it back to align it with the x-y plane, but the problem is I don't know the angles, so I need to calculate/estimate them somehow. So the questions are: > > > > 1. how to plot the object in a mesh like manner? > > 2. how to calculate the angles? > > 3. how to rotate it when I know the angles? > > > > Many thanks > > I am not clear about what you mean when you say, "I want to rotate it back to align it with the x-y plane." Do the set of points "describing" the 3D object all lie in a plane? If so, there are many ways to rotate them so they all come to lie in the x-y plane. Any rotation axis which lies in the plane which bisects the dihedral angle between the points' plane and the x-y plane could be used. You can achieve any orientation you wish for the resulting x-y plane points. If you have a preferred final orientation for the points as they lie in the x-y plane, then I could give you a specific method for solving your problem. As it stands, the problem appears to be indeterminate if I have understood you correctly. > > Roger Stafford Hi Roger, Thanks for replying. I'll try to be more precise. I have a set of coordinates in 3 dimensions (xyz triplets), which describe some object. Due to the way the coordinates have been recorded, the object might be rotated, so that it's position is not say horizontal. I need to rotate it back, but first I need to detect the angle by which to rotate. Also, is there a nice way to plot the object in MATLAB? Is it possible to interpolate or convert the data somehow to use the patch function or surf maybe? Thanks