Re: Question about Pluecker coordinates



"bite" <anonimo.passante@xxxxxxxxx> wrote in message
news:5a8942be-8984-42fa-be40-5fdcbd31d692@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Not just curious; this approach can be useful when you must fit a line
to more than two points.

I prefer the direct approach in 3D that uses least-squares fitting,
which requires computing the eigenvectors of a symmetric 3x3 matrix.
The SVD approach seems like overkill...

True, it is not linear, anyway it is a condition and I am amazed by
finding it automatically satisfied.
<snip>
Yes, it is probably so, but I cannot see it intuitively.

Your 8 equations in 6 unknowns may be written as follows. Set
u = (Lwx,Lwy,Lwz) and v = (Lyz,Lzx,Lxy). Let q1 = (x1,y1,z1)
and q2 = (x2,y2,z2). Let w1 and w2 be nonzero.
Cross(q1,u) - w1*v = 0
Dot(q1,v) = 0
Cross(q2,u) - w2*v = 0
Dot(q2,v) = 0

(1) Dot(q1,v) = 0 is implied by the first equation:
0 = Dot(q1,Cross(q1,u)) - w1*Dot(q1,v) = -w1*Dot(q1,v)
Dividing by -w1 produces Dot(q1,v) = 0. The same observation
holds for Dot(q2,v). In this sense, two of your equations are
redundant (maybe this fits in with your intuition of "double
redundancy").

(2) If (u,v) is a solution to the equations, then so is (t*u,t*v)
for any scalar t. This is your homogeneity condition.

(3) 0 = Dot(u,Cross(q1,u)) - w1*Dot(u,v) = -w1*Dot(u,v)
which implies Dot(u,v) = 0. This is your other condition on
the Pluecker coordinates.

(4) I assume you want the homogeneous points not to be equivalent.
If q1 and q2 are linearly dependent, then c1*q1+c2*q2 = 0 for some
scalars c1 and c2, not both zero, and
0 = c1*(Cross(q1,u) - w1*v) + c2*(Cross(q2,u) - w2*v)
= Cross(c1*q1+c2*q2,u) - (c1*w1+c2*w2)*v
= -(c1*w1+c2*w2)*v
If c1*w1+c2*w2 = 0, then c1*(q1,w1)+c2*(q2,w2) = (0,0) which
implies the homogeneous points are equivalent (a contradiction).
Instead, it must be that v = 0. One of q1 or q2 is not zero, say it
is q1. Then 0 = Cross(q1,u) - w1*v = Cross(q1,u), in which case
u is parallel to q1: u = t*q1 for some scalar t. Thus,
(u,v) = t*(q1,0)
which is a 1-dimensionsal solution set (your SVD should have 5
positive singular values).

(5) If q1 and q2 are linearly independent, then Dot(q1,v) = 0 and
Dot(q2,v) = 0 imply v = t*Cross(q1,q2) for any scalar t. Then
0 = w2*(Cross(q1,u) - w1*v) - w1*(Cross(q2,u) - w2*v)
= Cross(w2*q1-w1*q2,u)
in which case u = s*(w2*q1-w1*q2) for some scalar s. Also,
0 = Cross(q1,u) - w1*v
= Cross(q1,s*(w2*q1-w1*q2)) - w1*t*Cross(q1,q2)
= -w1*(s+t)*Cross(q1,q2)
Since w1 and Cross(q1,q2) are not zero, it must be that s = -t
and
(u,v) = t*(w1*q2-w2*q1, Cross(q1,q2))
which is a 1-dimensionsal solution set (your SVD should have 5
positive singular values).

--
Dave Eberly
http://www.geometrictools.com



.



Relevant Pages

  • Re: determinant of a banded matrix
    ... scalar we are solving for. ... make the determinants in the equations zero. ... The SVD won't work on a matrix that large. ...
    (comp.soft-sys.matlab)
  • Re: determinant of a banded matrix
    ... scalar we are solving for. ... make the determinants in the equations zero. ... The SVD won't work on a matrix that large. ...
    (comp.soft-sys.matlab)
  • Re: determinant of a banded matrix
    ... scalar we are solving for. ... make the determinants in the equations zero. ... The SVD won't work on a matrix that large. ...
    (comp.soft-sys.matlab)
  • Re: Integration of 0
    ... The homogeneity property does hold ... in that vector space the apparent problem with homogeneity ... and k is a scalar then the definition of kis ... to there's not just a problem with integration, ...
    (sci.math)
  • Re: determinant of a banded matrix
    ... explain how to use SVD for finding the determinant? ... for many different values of scalar c. ... x is an unknown you're trying ... The SVD won't work on a matrix that large. ...
    (comp.soft-sys.matlab)