Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Intersection of surfaces

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88692] Re: Intersection of surfaces
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Tue, 13 May 2008 07:07:45 -0400 (EDT)
  • References: <fvs2jg$en2$1@smc.vnet.net> <fvudl0$eak$1@smc.vnet.net> <g07grj$8qu$1@smc.vnet.net>

Hi,

if you got the same result all is ok.

Regards
   Jens


ahallam at iastate.edu wrote:
> On May 8, 3:29 am, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de>
> wrote:
>> Hi,
>>
>> 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}];
>>
>> and
>>
>> eqn = Eliminate[{TUBE == {x, y, z} // Thread,
>>      BOWL == {x, y, z} // Thread} // Flatten, {p, q, U}];
>>
>> and
>> sol = Solve[eqn, {x, y, z}];
>>
>> gives
>>
>> {{y -> 0.02 (100.+ 9. Cos[V]^2 + 60. Sin[V] + 9. Sin[V]^2),
>>    x -> 0.6 Cos[V], z -> 0.2 (10.+ 3. Sin[V])}}
>>
>> and
>>
>> ll = ParametricPlot3D[{x, y, z} /. sol[[1]], {V, 0, 2 Pi}];
>>
>> Show[bowl, tube,
>>   ll /. l_Line :> {AbsoluteThickness[4], RGBColor[1, 0, 0], l}]
>>
>> show that the result is right.
>>
>> Regards
>>    Jens
>>
>> 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
> 
> 
> So saw this post and found if useful for something I was doing.
> 
> But as I looked at the suggested code, I was not sure why thread and
> flatten were used in this particular case.
> 
> 
> So I deleted them one at a time and still got the same answer.
> 
> What is the difference then between.
> 
> 
> 
> 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}];
> 
>  eqn = Eliminate[{TUBE == {x, y, z} // Thread,
>     BOWL == {x, y, z} // Thread} // Flatten, {p, q, U}]
>  eqn1 = Eliminate[{TUBE == {x, y, z}, BOWL == {x, y, z}} //
>    Flatten, {p, q, U}]
> eqn2 = Eliminate[{TUBE == {x, y, z}, BOWL == {x, y, z}}, {p, q, U}]
> 
> 
> 
> sol = Solve[eqn, {x, y, z}]
> sol1 = Solve[eqn1, {x, y, z}]
> sol2 = Solve[eqn2, {x, y, z}]
> 
> ll = ParametricPlot3D[{x, y, z} /. sol[[1]], {V, 0, 2 Pi}];
> l11 = ParametricPlot3D[{x, y, z} /. sol1[[1]], {V, 0, 2 Pi}];
> l12 = ParametricPlot3D[{x, y, z} /. sol2[[1]], {V, 0, 2 Pi}];
> 
> 
> Show[bowl, tube,
>  ll /. l_Line :> {AbsoluteThickness[4], RGBColor[1, 0, 0], l}]
> 
> Show[bowl, tube,
>  l11 /. l_Line :> {AbsoluteThickness[4], RGBColor[1, 0, 0], l}]
> 
> Show[bowl, tube,
>  l12 /. l_Line :> {AbsoluteThickness[4], RGBColor[1, 0, 0], l}]
> 
> 
> 
> 
> 
> 
> 
> 
> 


  • Prev by Date: Re: FullForm OK but StandardForm fails
  • Next by Date: plot primes only
  • Previous by thread: Re: Intersection of surfaces
  • Next by thread: Pattern matching problem