gpt4 book ai didi

wolfram-mathematica - ContourPlot3D 中的重叠网格线

转载 作者:行者123 更新时间:2023-12-04 07:27:56 27 4
gpt4 key购买 nike

我在渲染 Mesh 时遇到问题由 ContourPlot3D 生成的 3D 表面上的线条在 Mathematica 7.0.1 中:

p=ContourPlot3D[x^4+y^4+z^4-(x^2+y^2+z^2)^2+3(x^2+y^2+z^2)==3,
{x, -2,2}, {y, -2, 2}, {z,-2,2},
BoundaryStyle->Directive[Black,Thickness[.003]],
ContourStyle->Directive[Orange,Opacity[0.5],Specularity[White,300]],
PlotPoints->90,Ticks->None,
MeshStyle->Directive[GrayLevel[.7],Thickness[.001]],
Lighting->{{"Directional",RGBColor[1,1,1],
{ImageScaled@{1,0,1},ImageScaled@{0,0,0}}}}];
p=Graphics[Inset[p,{0,0},Center,{1,1}],
PlotRange->{{-.5,.5},{-.5,.5}},Frame->True]

screenshot1

仔细观察它们:
Show[p, PlotRange -> {{-.16, -.05}, {0, .1}}]

screenshot2

你看到那个灰色 Mesh线条在许多地方被表面形成的三角形重叠,甚至看起来是虚线。有没有办法避免这种情况?

最佳答案

约翰·富尔茨 has answered我在官方新闻组中的问题。 Mathematica 7 用户的解决方案(可能也适用于拥有不支持 DepthPeeling 渲染方法的显卡的版本 8 用户)的解决方案是使用未记录形式的 MeshStyle选项:

MeshStyle -> {{GrayLevel[.7], Tube[0.01]}}

因为有 Mesh线条显示为可以使用的平面对象 Glow :
MeshStyle -> {{Glow[GrayLevel[.7]], Black, Tube[0.005]}}

现在网格渲染得很好:
p1 = ContourPlot3D[
x^4 + y^4 + z^4 - (x^2 + y^2 + z^2)^2 + 3 (x^2 + y^2 + z^2) ==
3, {x, -2, 2}, {y, -2, 2}, {z, -2, 2},
BoundaryStyle -> Directive[Black, Thickness[.003]],
ContourStyle ->
Directive[Orange, Opacity[0.5], Specularity[White, 300]],
Ticks -> None, PlotPoints -> 40,
MeshStyle -> {{Glow[GrayLevel[.7]], Black, Tube[0.005]}},
Lighting -> {{"Directional",
RGBColor[1, 1, 1], {ImageScaled@{1, 0, 1},
ImageScaled@{0, 0, 0}}}}];
p = Graphics[Inset[p1, {0, 0}, Center, {1, 1}],
PlotRange -> {{-.5, .5}, {-.5, .5}}, Frame -> True,
GridLines -> Automatic]

screenshot
Show[p, PlotRange -> {{-.16, -.05}, {0, .1}}]

screenshot

关于wolfram-mathematica - ContourPlot3D 中的重叠网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7219332/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com