Re: Intersection of 2D Surfaces in 3D
- To: mathgroup at smc.vnet.net
- Subject: [mg86924] Re: Intersection of 2D Surfaces in 3D
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 26 Mar 2008 04:54:33 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <fsa5g4$adt$1@smc.vnet.net>
Narasimham wrote:
> Following is an example (slightly altered) given in intersection of 2-
> D curves with one real root.
>
> c1 = {x - (t^2 - 1), y - (s^3 + s - 4) };
> c2 = {x - (s^2 + s + 5), y - (t^2 + 7 t - 2) };
>
> It uses NSolve[Join[c1, c2], {x, y}, {s, t}] for supplying real roots
> of 2D curves in 2D itself.
Just a side note, but NSolve returns real and complex solutions. To get
only the real roots, you could use DeleteCases as in
c1 = {x - (t^2 - 1), y - (s^3 + s - 4)};
c2 = {x - (s^2 + s + 5), y - (t^2 + 7 t - 2)};
NSolve[Join[c1, c2], {x, y}, {s, t}]
sol2d = DeleteCases[%, {rx_, ry_} /;
Head@Last@rx === Complex || Head@Last@ry === Complex]
==> {{x -> 23.8213, y -> 57.6959}, {x -> 6.95079,
y -> -13.7872}, {x -> 1.79728- 5.72439 \[ImaginaryI],
y -> -14.1904 + 3.63314 \[ImaginaryI]}, {x ->
1.79728+ 5.72439 \[ImaginaryI],
y -> -14.1904 - 3.63314 \[ImaginaryI]}, {x -> -0.183302 +
1.17396 \[ImaginaryI],
y -> 6.23603+ 5.05059 \[ImaginaryI]}, {x -> -0.183302 -
1.17396 \[ImaginaryI], y -> 6.23603- 5.05059 \[ImaginaryI]}}
==> {{x -> 23.8213, y -> 57.6959}, {x -> 6.95079, y -> -13.7872}}
> Next, how to generalize further to Solve and find real intersection
> curves of two parameter surfaces in 3-D by extending the same
> Mathematica Join procedure?
>
> And how to Show the one parameter 3D space curve of intersection so
> obtained ? The following attempt of course fails.
>
> c3 = {x - (t^2 - 1), y - (s^3 + s - 4), z - (t + s)};
> c4 = {x - (s^2 + s + 5), y - (t^2 + 7 t - 2),z -( t + s^2/2)};
> NSolve[Join[c3, c4], {x, y, z}, {t,s}];
>
> FindRoot also was not successful.
NSolve returns an empty list as solution whenever it cannot find any
solution. If you are confident that a solution exists, you should check
that you have entered the correct equations. For the given c3 and c4, it
seems that the parameters t and s cannot be eliminated.
c3 = {x - (t^2 - 1), y - (s^3 + s - 4), z - (t + s)};
c4 = {x - (s^2 + s + 5), y - (t^2 + 7 t - 2), z - (t + s^2/2)};
NSolve[Join[c3, c4], {x, y, z}, {t, s}]
(* ==> {} Empty list, i.e. no solution *)
Eliminate[Thread[Equal[Join[c3, c4], 0]], {t, s}]
== > False
On the other hand, t and s can be eliminated from c1 ans c2:
Eliminate[Thread[Equal[Join[c1, c2], 0]], {t, s}]
==> 1263970226 x ==
7211108146 - 477420376 y - 28270737 y^2 + 10027446 y^3 +
564196 y^4 - 12565 y^5 &&
68224 y + 110735 y^2 - 10210 y^3 - 1569 y^4 - 28 y^5 + y^6 ==
10991228
Hope this helps,
--
Jean-Marc