Re: Help with geometry problem required.
- To: mathgroup at smc.vnet.net
- Subject: [mg20828] Re: [mg20801] Help with geometry problem required.
- From: Michael Ellis <michael at digsci.demon.co.uk>
- Date: Wed, 17 Nov 1999 03:40:42 -0500 (EST)
- Organization: Digital Scientific
- References: <80r1al$mn6@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Thanks for your help. Unfortunately, I didn't make myself clear in that what I am looking for is solution(expression) in terms of the input points (as unbound variables). Taking your solution and replacing the hard coded input points by variables I get : p1 = {x1, x2, x3, 1}; p2 = {x2, y2, z2, 1}; p3 = {x3, y3, z3, 1}; q1 = {X1, Y1, Z1, 1}; q2 = {X2, Y2, Z2, 1}; q3 = {X3, Y3, Z3, 1}; M = {{a11, a12, a13, b1}, {a21, a22, a23, b2}, {a31, a32, a33, b3}, {0, 0, 0, 1}}; Solve[{M.p1 == q1, M.p2 == q2, M.p3 == q3, {a11, a12, a13}.{a21, a22, a23} == 0, {a11, a12, a13}.{a31, a32, a33} == 0, {a31, a32, a33}.{a21, a22, a23} == 0, (a11)^2 + (a12)^2 + (a13)^2 == 1, (a21)^2 + (a22)^2 + (a23)^2 == 1, (a31)^2 + (a32)^2 + (a33)^2 == 1, Det[{{a11, a12, a13}, {a21, a22, a23}, {a31, a32, a33}}] == 1}, {a11, a12, a13, a21, a22, a23, a31, a32, a33, b1, b2, b3}] Running this on my 400MHz PowerMacG3 with the MathKernal having 80-MB memory, I eventually get an error saying that MathKernal has run out of memory. (Note I have dropped the Simplify just to make sure tahat it is not the Simplify that is running into memory problems. Any thoughts? Arnold Seiken wrote: > Michael, > > Here is an example which illustrates how to find the > matrix of an isometry in R3 given 3 non-collinear points > and their images: > > M={{a11,a12,a13,b1},{a21,a22,a23,b2},{a31,a32,a33,b3},{0,0,0,1}}; > Simplify[ > Solve[ > {M.{1,0,0,1} =={4,4,2,1}, M.{0,1,0,1} == { 3,3,2,1}, > M.{0,0,1,1}=={4,3,3,1}, > > {a11,a12,a13 }.{a21,a22,a23 }==0, > {a11,a12,a13 }.{a31,a32,a33 }==0, > {a31,a32,a33 }.{a21,a22,a23 }==0, > (a11)^2 +(a12)^2 + (a13)^2 == 1, > (a21)^2 +(a22)^2 + (a23)^2 == 1, > (a31)^2 +(a32)^2 + (a33)^2 == 1, > Det[{{a11,a12,a13 },{a21,a22,a23 },{a31,a32,a33 }}]==1}, > > {a11,a12,a13,a21,a22,a23,a31,a32,a33,b1,b2,b3}] > ] > > You can then take the output of the above and input > (M/.%[[1]])//MatrixForm > to get the solution in a nice looking form. > > Arnold Seiken