8

Mathematica7.0.1で作成されMeshた3Dサーフェス上の線のレンダリングに問題があります。ContourPlot3D

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]

スクリーンショット1

それらをよく見てください:

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

スクリーンショット2

灰色のMesh線が多くの場所で表面を形成する三角形と重なっていて、破線にさえ見えることがわかります。これを回避する方法はありますか?

4

2 に答える 2

5

John Fultzが、公式ニュースグループで私の質問に答えました。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]

スクリーンショット

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

スクリーンショット

于 2011-08-30T08:32:22.060 に答える
4

価値のあることとして、MacOS10.7.1のM8.0.1ではこの問題は見られません。

ここに画像の説明を入力してください

于 2011-08-28T13:20:49.483 に答える