TransWikia.com

How to draw this three-dimensional implicit region?

Mathematica Asked on March 29, 2021

I want to draw the surface of the upper half of the sphere $z = sqrt {4 x – x^2 – y^2}$ inside the cylinder $(x – 1)^2 + y^2 = 1$ .

reg = ImplicitRegion[
       z == Sqrt[4 x - x^2 - y^2] && ((x - 1)^2 + y^2 <= 1), {x, y, z}];
    Region[%, PlotRange -> All]

Region[DiscretizeRegion[
  ImplicitRegion[
   z == Sqrt[4 x - x^2 - y^2] && ((x - 1)^2 + y^2 < 1), {x, y, z}]], 
 PlotRange -> {{-2, 2}, {-2, 2}, {0, 2}}]

But the above code can’t draw this surface. What should I do?

But the following code can get the desired result:

Region[DiscretizeRegion[
  ImplicitRegion[z^2 == 4 x - x^2 - y^2, {x, y, z}]], 
 PlotRange -> {{-2, 2}, {-2, 2}, {0, 2}}]

ClearAll["Global`*"]
ImplicitRegion[
   z == Sqrt[4 x - x^2 - y^2] && (x - 1)^2 + y^2 < 1 && 
    4 x - x^2 - y^2 > 0 && z > 0, {x, y, z}], 
  MaxCellMeasure -> "Length" -> 0.01], 
 PlotRange -> {{-2, 2}, {-2, 2}, {0, 2}}]

enter image description here

I want to know why the first method can’t get the desired results?

enter image description here

However, using numerical method I can get the correct result. Maybe this is a bug?

Next, calculate the second-kind surface integral $I=iint_{Sigma} y z(y-z) mathrm{d} y wedge mathrm{d} z+z x(z-x) mathrm{d} z wedge mathrm{d} x+x y(x-y) mathrm{d} x wedge mathrm{d} y$ on this surface.

Integrate[{y*z (y - z), z*x (z - x), 
   x*y (x - y)}.(Normalize[
    D[z - Sqrt[4 x - x^2 - y^2], {{x, y, z}}]]), {x, y, z} ∈ 
  reg]

DiscretizeRegion[
 ImplicitRegion[
  z == Power[4 x - x^2 - y^2, 1/4], {{x, -2, 2}, {y, -2, 2}, {z, 0, 
    2}}], AccuracyGoal -> 10]

One Answer

Plot3D[Sqrt[4 x - x^2 - y^2], {x, -2, 2}, {y, -2, 2}, 
 RegionFunction -> Function[{x, y}, (x - 1)^2 + y^2 <= 1], 
 PlotPoints -> 80, Mesh -> None, 
 PlotRange -> {{-2, 2}, {-2, 2}, {-2, 2}}, BoxRatios -> 1]

Or

ContourPlot3D[
 z^2 == 4 x - x^2 - y^2, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
 Mesh -> {{0}}, MeshStyle -> None, 
 MeshFunctions -> {Function[{x, y, z}, (x - 1)^2 + y^2 - 1], 
   Function[{x, y, z}, z]}, 
 MeshShading -> {{None, None}, {Red, None}}, BoundaryStyle -> None, 
 PlotPoints -> 80]

reply the questioner's comment

reg = ImplicitRegion[
   z^2 ==  4 x - x^2 - y^2 && (x - 1)^2 + y^2 <= 1 && z >= 0 , {x, y, 
    z}];
Region[%, PlotRange -> All]
Region[DiscretizeRegion[
  ImplicitRegion[
   z^2 == 4 x - x^2 - y^2 && (x - 1)^2 + y^2 < 1, {x, y, z}], 
  MaxCellMeasure -> "Length" -> 0.01], 
 PlotRange -> {{-2, 2}, {-2, 2}, {0, 2}}]

Update-2

Replace the power index 1/2 to 0.5 and using Cylinder domain we can draw the same surface.

reg = ImplicitRegion[
  z == (4 x - x^2 - y^2)^0.5 && {x, y, z} [Element] 
    Cylinder[{{1, 0, 0}, {1, 0, 2}}, 1], {x, y, z}]
RegionPlot3D[DiscretizeRegion@reg, 
 PlotRange -> {{-2, 2}, {-2, 2}, {0, 2}}]

enter image description here

Answered by cvgmt on March 29, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP