T.R | Title | User | Personal Name | Date | Lines |
---|
1045.1 | Here's a start: | DWOVAX::YOUNG | Sharing is what Digital does best. | Fri Mar 24 1989 17:35 | 12 |
| > A� = (X-B)� + (Y-C)� + (Z-D)� {sphere 1}
> E� = (X-F)� + (Y-G)� + (Z-H)� {sphere 2}
> I� = (X-J)� + (Y-K)� + (Z-L)� {sphere 3}
These 3 can be reduced to these 3 statements:
A�-E� = 2X(F-B) + B� - F� + 2Y(G-C) + C� - G� + 2Z(H-D) + D� + H�
E�-I� = 2X(J-F) + F� - J� + 2Y(K-G) + G� - K� + 2Z(L-H) + H� + L�
A�-E� = 2X(B-J) + J� - B� + 2Y(C-K) + K� - C� + 2Z(D-L) + L� + D�
This looks more complicated, but it eliminates all the 2nd powers
from the unknowns X,Y,Z.
|
1045.2 | | HPSTEK::XIA | | Fri Mar 24 1989 18:00 | 23 |
| re 0
Name your three equations as (1), (2) and (3).
(2) - (1) gives one linear equation.
(3) - (2) gives one linear equation.
Solve the above two linear equation interms X and substitute the
result into (1). The result is a quadratic equation. Solve that
you will get two solutions of X. This means if you intersect three
spheres, you get two intesection points. This is obvious from
geometric point of view.
re -1
Well, you beat me to it :-). I thought about the set of linear
equations myself, but was uncomfortable about it. The reason is
that any linear system has a unique solution. On the other hand,
the original equation definitely has two solutions. This made me
suspect that the linear system maybe singular (looks too symmetric
for comfort :-). Well, maybe someone can check it up for us :-).
Eugene
|
1045.3 | | HPSTEK::XIA | | Fri Mar 24 1989 18:05 | 9 |
| re .1 .2
Anothor point. If one uses the method in .2, one is likely to get
two solutions for X. This means the delta for that equation is
not 0. Hence, the solution is most likely to be irrational. However,
a linear system with rational coefficient cannot have irrational
solutions. This convinces me that the matrix is singular.
Eugene
|
1045.4 | | DWOVAX::YOUNG | Sharing is what Digital does best. | Fri Mar 24 1989 18:27 | 11 |
| Re .2,.3:
Ya, you are right. You have to throw one of the 3 equations away,
or do something asymmetric to reduce it to 2 equations. If you
try to reduce these 3 equations symmetrically, the last 2 unknowns
will 'evaporate' together and you will end up proving some tautology
in the givens.
This is one of my pet mistakes...
- Barry
|
1045.5 | | CTCADM::ROTH | If you plant ice you'll harvest wind | Mon Mar 27 1989 08:31 | 29 |
| A few remarks about the problem.
When doing geometric computations it's generally not a good idea
to "favor" a single coordinate. Consider the grade school equation
for a line, y = m*x+b versus the homogenous version a*x+b*y+c = 0.
The latter has no trouble representing a vertical line, or even a
line at infinity. There would be a problem with the proposed
solution if the centers of the spheres lay in a common YZ plane, or
nearly so.
The difference between the implicit equations for a pair of spheres is
the equation of a plane normal to the line joining their centers.
If two spheres intersect, the intersection circle or point will lie
in this plane. The pairwise separator planes for 3 spheres will
meet on a common line normal to the plane passing through their centers.
The condition for the spheres to uniquely intersect is for that line to
intersect the spheres. (if the intersections planes are parallel, the
line is at infinity, and there is no unique solution.)
A coordinate free way to solve the problem is to substitute the parametric
equation for the common intersection line into one (or more for checking)
of the sphere equations, checking for real roots. Another way
might be to check the normal to the plane passing through the sphere
centers, (which you get by taking a cross product) and solve for the
coordinate which has the smallest magnitude in that vector. That would
minimize any roundoff error and might be faster.
- Jim
|
1045.6 | This may help a bit. | SUBSYS::BUSCH | Dave Busch, NKS1-2/H6 | Mon Mar 27 1989 11:02 | 12 |
| Thanks for the input so far. I'm not quite sure whether you've given me the
answer yet but I thought I'd mention the following in case it simplifies the
problem. The way the application works is that there will be three shaft
encoders mounted strategically on the ceiling of a room. A string, with a weight
at the end of it, will go around a pulley on each encoder and thence to a "knot"
which I will be able to trace out the outline of a shape with. As the knot at
the end of the three strings follows the outline, the lengths of each of the
three strings will be measured by the encoders. So, for simplicity's sake you
can consider the centers of the three spheres to lie on the "Z = 0" plane.
Dave
|
1045.7 | Correct me if I'm wrong... | SUBSYS::BUSCH | Dave Busch, NKS1-2/H6 | Tue Mar 28 1989 18:11 | 15 |
| Re. Note 1045.1 by DWOVAX::YOUNG
<< A� = (X-B)� + (Y-C)� + (Z-D)� {sphere 1}
<< E� = (X-F)� + (Y-G)� + (Z-H)� {sphere 2}
<< I� = (X-J)� + (Y-K)� + (Z-L)� {sphere 3}
< These 3 can be reduced to these 3 statements:
< A�-E� = 2X(F-B) + B� - F� + 2Y(G-C) + C� - G� + 2Z(H-D) + D� + H�
< E�-I� = 2X(J-F) + F� - J� + 2Y(K-G) + G� - K� + 2Z(L-H) + H� + L�
< A�-E� = 2X(B-J) + J� - B� + 2Y(C-K) + K� - C� + 2Z(D-L) + L� + D�
\\\\\
BTW... \\\\\__ Should this expression be I�-A� ?
Dave
|