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