Re: Intersection of surfaces
- To: mathgroup at smc.vnet.net
- Subject: [mg88536] Re: Intersection of surfaces
- From: dh <dh at metrohm.ch>
- Date: Thu, 8 May 2008 04:10:55 -0400 (EDT)
- References: <fvs2jg$en2$1@smc.vnet.net>
Hi Narasimham,
here is one way of doing it:
we first set the components of TUBE == BOWL, this gives 3 equations. We
eliminate one sets of parameters (e.g. U,V). This leaves one equation
with 2 parameters. We solve for one of these (e.g. p). This gives p as a
function of q. We replace p in e.g. BOWL by this function. This gives a
parametric representation of the space curve:
res1=Eliminate[{TUBE==BOWL},{U,V}];
res2=Solve[res1,p];
intersection=ParametricPlot3D[BOWL/.res2[[1]],{q,0,2Pi},PlotStyle->{Thickness[0.02]}]
To check, we may show everything together:
Show[bowl,tube,intersection]
hope this helps, Daniel
Narasimham wrote:
> How to find the space curve formed by intersecting 3D patches in
> simple cases like:
>
> TUBE = {.6 Cos[V], 2 U + 3, .6 Sin[V] + 2};
> tube = ParametricPlot3D[TUBE, {U, -1.2, .2}, {V, 0, 2 Pi}, PlotPoints -
>> {10, 25}]
> BOWL = {p Cos[q], p^2/2, p Sin[q]};
> bowl = ParametricPlot3D [ BOWL, {p, 1, 2.75}, {q, 0, 2 Pi}, PlotPoints
> -> {20, 35}]
> Show[bowl, tube]
>
> or in slightly more complicated surface cases like:
>
> terr = ParametricPlot3D[{Cos[u + 1] Cos[v + 2.1], 0.6 + u^2/3,Exp[-v/
> 4] }, {v, -3, 3}, {u, -3, 3}, PlotPoints -> {45, 30}]
> Show[terr, tube]
>
> How to solve for x,y and z from {0.6 Cos[V] == p Cos[q], 3 + 2 U ==
> p^2/2, 2 + 0.6 Sin[V] == p Sin[q]} obtaining t as a function of (U,V,p
> and q) so as to be able to Show with
>
> ParametricPlot3D[{x[t], y[t], z[t]},{t,tmin,tmax}]?
>
> Regards
> Narasimham
>
>