RegionPlot3D 效果不好,我最近用下面方法。
f = x^2 + y^2 - 100; g =
x^2 + z^2 -
100; {ContourPlot3D[
f == 0, {x, -10, 10}, {y, -10, 10}, {z, -10, 10},
MeshFunctions -> {g /. {x -> #1, y -> #2, z -> #3} &},
MeshShading -> {Yellow, None}, Mesh -> {{0}, {0}, {0}},
BoundaryStyle -> None, MeshStyle -> None, Boxed -> False,
Axes -> False],
ContourPlot3D[g == 0, {x, -10, 10}, {y, -10, 10}, {z, -10, 10},
MeshFunctions -> {f /. {x -> #1, y -> #2, z -> #3} &},
MeshShading -> {Yellow, None}, Mesh -> {{0}, {0}, {0}},
BoundaryStyle -> None, MeshStyle -> None, Boxed -> False,
Axes -> False]} // Show
region = BoundaryDiscretizeRegion[
ImplicitRegion[{x^2 + y^2 <= 100, x^2 + z^2 <= 100}, {x, y, z}],
MaxCellMeasure -> 0.01]; RegionPlot3D[region, Boxed -> False]
用下面这些方法效果也可以接受。
a = DiscretizeRegion[
ImplicitRegion[{x^2 + y^2 <= 100, x^2 + z^2 == 100}, {x, y, z}],
MaxCellMeasure -> "Length" -> 0.05];
b = DiscretizeRegion[
ImplicitRegion[{x^2 + y^2 == 100, x^2 + z^2 <= 100}, {x, y, z}],
MaxCellMeasure -> "Length" -> 0.05];
RegionPlot3D[{a, b}, Boxed -> False]