像在 Mathematica 5 中一样设置 3D 绘图的样式
我喜欢 Mathematica 5 中安静且不受干扰的色域和 3D 绘图照明。
是否可以在 Mathematica 7 中设置与 Mathematica< 中完全相同的 3D 绘图样式/em> 5?
Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi}, ImageSize -> 360]
<< Version5`Graphics`
Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi}, ImageSize -> 360]
此代码允许轻松比较版本 5 和版本 7 图形的视觉外观:
v5style = {{"Ambient", RGBColor[{0.356, 0.294, 0.4}]}, {"Directional",
RGBColor[{0.56, 0., 0.}],
ImageScaled[{2, 0, 2}]}, {"Directional", RGBColor[{0., 0.56, 0.}],
ImageScaled[{2, 2, 2}]}, {"Directional",
RGBColor[{0., 0., 0.56}], ImageScaled[{0, 2, 2}]}};
PostScriptGraphics /: MakeBoxes[PostScriptGraphics[str_String], _] :=
Cell[GraphicsData["PostScript", str], CellAutoOverwrite -> True,
CellBaseline -> Center]
v5vsv7[\[Theta]_] := {Developer`LegacyGraphics[];
v5Graphics =
Graphics`Legacy`Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi},
ImageSize -> 360,
ViewPoint -> RotationTransform[\[Theta], {0, 0, 1}][{3, 0, 3}]];
v5PostScript = ExportString[v5Graphics, "APS"];
Developer`SymbolicGraphics[];
PostScriptGraphics[v5PostScript],
Graphics3D[First@Graphics3D@v5Graphics,
FilterRules[Last@Graphics3D@v5Graphics, Options[Graphics3D]],
ViewPoint -> RotationTransform[\[Theta], {0, 0, 1}][{3, 0, 3}],
PlotRangePadding -> None,
ImageSize -> 360] /. (Lighting -> _) -> (Lighting -> v5style)};
Grid@Table[v5vsv7[\[Theta]], {\[Theta], 0, 2 Pi, Pi}]
I like quiet and undisturbed color gamut and lighting of 3D plots in Mathematica 5.
Is it possible to style 3D plots in Mathematica 7 exactly as it was in Mathematica 5?
Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi}, ImageSize -> 360]
<< Version5`Graphics`
Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi}, ImageSize -> 360]
This code allows to compare easily visual appearance of version 5 and version 7 graphics:
v5style = {{"Ambient", RGBColor[{0.356, 0.294, 0.4}]}, {"Directional",
RGBColor[{0.56, 0., 0.}],
ImageScaled[{2, 0, 2}]}, {"Directional", RGBColor[{0., 0.56, 0.}],
ImageScaled[{2, 2, 2}]}, {"Directional",
RGBColor[{0., 0., 0.56}], ImageScaled[{0, 2, 2}]}};
PostScriptGraphics /: MakeBoxes[PostScriptGraphics[str_String], _] :=
Cell[GraphicsData["PostScript", str], CellAutoOverwrite -> True,
CellBaseline -> Center]
v5vsv7[\[Theta]_] := {Developer`LegacyGraphics[];
v5Graphics =
Graphics`Legacy`Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi},
ImageSize -> 360,
ViewPoint -> RotationTransform[\[Theta], {0, 0, 1}][{3, 0, 3}]];
v5PostScript = ExportString[v5Graphics, "APS"];
Developer`SymbolicGraphics[];
PostScriptGraphics[v5PostScript],
Graphics3D[First@Graphics3D@v5Graphics,
FilterRules[Last@Graphics3D@v5Graphics, Options[Graphics3D]],
ViewPoint -> RotationTransform[\[Theta], {0, 0, 1}][{3, 0, 3}],
PlotRangePadding -> None,
ImageSize -> 360] /. (Lighting -> _) -> (Lighting -> v5style)};
Grid@Table[v5vsv7[\[Theta]], {\[Theta], 0, 2 Pi, Pi}]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我想W先生已经很好地回答了你的问题。这是一个可以尝试一些可能性的玩具,包括其他调色板。它从 W 先生使用的值开始。
Mr. W already answered your question well, I think. Here's a toy to play around with some possibilities, including other palettes. It starts with the values Mr. W used.
这是否足够接近您的要求,还是距离您的要求还很远?
Is this approaching close enough, or still a long way off of your requirements?