Path: news.mathworks.com!not-for-mail From: "Bruno Luong" <b.luong@fogale.findmycountry> Newsgroups: comp.soft-sys.matlab Subject: Re: Normal vector of circles Date: Sun, 24 Oct 2010 12:58:04 +0000 (UTC) Organization: FOGALE nanotech Lines: 39 Message-ID: <ia1ags$dgf$1@fred.mathworks.com> References: <i9vb60$eu5$1@fred.mathworks.com> <i9vi1d$plf$1@fred.mathworks.com> <i9vkph$i54$1@fred.mathworks.com> <i9vlht$6qq$1@fred.mathworks.com> <i9voa0$15e$1@fred.mathworks.com> <i9vq61$b5$1@fred.mathworks.com> <i9vtb8$jov$1@fred.mathworks.com> <ia0psc$6qe$1@fred.mathworks.com> <ia18h3$7st$1@fred.mathworks.com> Reply-To: "Bruno Luong" <b.luong@fogale.findmycountry> NNTP-Posting-Host: webapp-05-blr.mathworks.com Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: fred.mathworks.com 1287925084 13839 172.30.248.35 (24 Oct 2010 12:58:04 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Sun, 24 Oct 2010 12:58:04 +0000 (UTC) X-Newsreader: MATLAB Central Newsreader 390839 Xref: news.mathworks.com comp.soft-sys.matlab:680879 "Paulo " <paulofreitas7@portugalmail.pt> wrote in message <ia18h3$7st$1@fred.mathworks.com>... > "Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <ia0psc$6qe$1@fred.mathworks.com>... > > "Paulo " <paulofreitas7@portugalmail.pt> wrote in message <i9vtb8$jov$1@fred.mathworks.com>... > > > > > > > > The initial and original problem is: Given a sphere to you, you can take the axes and any other information from it, then you close your eyes while I rotate it. Now, how can you calculate the rotation? > > > > You get confused by the person who poses the problem. The sphere by itself has little to do with the rotation (all we know is the *mapping image* as the sphere unchanged). > > > > You can imagine selecting n points on the sphere, i.e., n vectors having the same norm = r. After the rotation it maps to n new points. The question is what is the rotation that maps the old to new points. This problem can be formalized as vectors as following: > > > > P := { x1, x2, ... , xn in R^3 : |xi| = r }, > > Q := rotation of P, > > find the rotation from P and Q. > > > > I claim that if you select P having two points (n=2) not opposite (x1 different +/- x2) and their transformations, it is enough to find the rotation. > > > > Bruno > > Exactly! Thank you Bruno. But the thing is, there is a well known point in the sphere that is the center. So I have for example the x1. But then I need another point x2. What point should I choose? It may be a point at the surface but there are infinite points. To solve this issue I thought in: having a plane cutting the sphere in half and passing from x1, defining a normal to this plane, I can rotate the sphere with the plane and then I can map again the rotation performed. By another words, the rotation in the plane will be the same for the sphere. First: The center is not on the sphere. Second: When you rotate the center it stays where it is, so the center does not contribute anything in resolving the rotation. It's a bad idea to select the center. The great circle contains infinity of points. You can hardly store it in the computer as it is. Unless you store the normal vector of the circle (up to you to encode the object), which is enough to know the circle. This is equivalent to select one point (e.g. the point of the half-line carried by normal vector intersecting with the sphere). But then I claim that one point and its rotation is NOT enough to calculate the rotation. I'll give you an example with r = 1 to start with: x1 = (1, 0, 0) x2 = (0, 1, 0) After rotation x1 -> (0, 1, 0) x2 -> (0, 0, 1) What is the rotation?, axis? angle? Bruno