公告:网站程序已升级到1.8.3,修复了提问时可能报错的问题,请清除浏览器缓存
2019-11-10

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

+1 投票
1.2k 浏览
RegionPlot3D[
 ImplicitRegion[{x^2 + y^2 <= 100, x^2 + z^2 <= 100}, {x, y, z}]]

 

分类:绘图 | 用户: mma-2-2-2 (1.3k 分)
重新分类 用户:野鹤

2 个回答

+4 投票
 
已采纳
RegionPlot3D[
 ImplicitRegion[{x^2 + y^2 <= 100, x^2 + z^2 <= 100}, {x, y, z}],
 PlotPoints -> 100]

 

用户: mma-2-2-2 (1.3k 分)
采纳于 用户:野鹤
+1 投票

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]

用户: cvgmt (276 分)
修改于 用户:cvgmt
上面的方法好啊!没有锯齿效应,nice!
...