2010-12-22 175 views
0

當我在GraphicsRow中放置兩個對象時,它似乎關閉了它們的抗鋸齒。任何人都可以看到某種方式來導出圖形行在下面的示例中使用抗鋸齒?如何使用抗鋸齒輸出GraphicsRow?

http://yaroslavvb.com/upload/save/so-aliased.png

我嘗試了各種Style[#,Antialiasing->True]組合和偏好,沒有運氣。 最接近的解決方法我是Rasterize他們在4倍的分辨率,但這有副作用,例如AbsoluteThickness改變物體的外觀,例如,每個物體周圍的框變淡。

picA = Graphics3D[{Opacity[0.5], 
    GraphicsComplex[{{-1., 0., 0.}, {0., -1., 0.}, {0., 0., -1.}, {0., 
     0., 1.}, {0., 1., 0.}, {1., 0., 
     0.}}, {{{EdgeForm[GrayLevel[0.]], 
     GraphicsGroup[{Polygon[{{4, 5, 1}, {1, 5, 3}, {1, 3, 2}, {4, 
      1, 2}, {3, 5, 6}, {5, 4, 6}, {4, 2, 6}, {2, 3, 
      6}}]}]}, {}, {}, {}, {}}}]}]; 
picB = Graphics3D[{Opacity[0.5], 
    GraphicsComplex[{{-1., 0., 0.}, {-0.5, -0.8660254037844386, 
     0.}, {-0.5, 0.8660254037844386, 1.}, {0., 
     0., -1.}, {0.5, -0.8660254037844386, 1.}, {0.5, 
     0.8660254037844386, 0.}, {1., 0., 
     0.}}, {{{EdgeForm[GrayLevel[0.]], 
     GraphicsGroup[{Polygon[{{6, 7, 4}, {2, 1, 4}}], 
      Polygon[{{1, 2, 5, 3}, {6, 3, 5, 7}, {5, 2, 4, 7}, {3, 6, 4, 
       1}}]}]}, {}, {}, {}, {}}}]}]; 
GraphicsRow[{picA, picB}] 
+0

從幫助..對於3D圖形,抗鋸齒的操作可以取決於您使用的特定圖形硬件。除非在首選項對話框中設置了允許抗鋸齒功能,否則禁用抗鋸齒功能。因此,可能存在某些硬件問題。在我的窮人的機器中Antialiasing完全不能用於Graphics3D – 2010-12-22 16:13:37

+0

啊,這就解釋了爲什麼我得到更好質量的抗鋸齒,如果我以更高的分辨率柵格化而不是使用默認的Graphics3D外觀......我可能根本不應該使用默認的抗鋸齒 – 2010-12-22 19:12:09

回答

0

只是一個快速的評論:你有沒有在首選項對話框中啓用消除鋸齒?