我正在尝试在Maple中绘制轮廓,但是2d轮廓图输出并不漂亮。我尝试了以下命令:
with(plots):
contourplot(-(1/2)*y^2-(1/2)*x^2-(1-.3)/sqrt((x+.3)^2+y^2)+((-1)*.3)/sqrt((x-1+.3)^2+y^2),
x = -1.5 .. 1.5, y = -1.5 .. 1.5, axes = boxed)
并且情节比三维情节更加丑陋:
contourplot3d(-(1/2)*y^2-(1/2)*x^2-(1-.3)/sqrt((x+.3)^2+y^2)+((-1)*.3)/sqrt((x-1+.3)^2+y^2),
x = -1.5 .. 1.5, y = -1.5 .. 1.5, view = -2 .. -1.3, axes = boxed)
有没有什么方法可以在第二个中获得与3d中相同的细节。
提前致谢!
答案 0 :(得分:1)
通过在所需范围内提供(仅适度数量)特定轮廓值,您可以获得有用的结果,而不会产生太多的计算成本。
请注意,在您对contourplot3d
的调用中,您通过view
选项指定了范围-2到-1.3。下面的轮廓指定范围为-2.5到-1.3。 (但它对于范围从-2到-1.3的3D调用看起来也很有用。)
基本问题是,对于少量轮廓级别的默认值,contourplot
命令主要使它们处于不产生良好“均匀”扩展的范围内。更昂贵的解决方案是简单地增加轮廓的数量,例如contours=100
。但是下面的调用仅产生13个轮廓级别。
plots:-contourplot( -(1/2)*y^2-(1/2)*x^2-(1-.3)/sqrt((x+.3)^2+y^2)
+((-1)*.3)/sqrt((x-1+.3)^2+y^2),
x=-2.25..2.25, y=-2.25..2.25, axes=boxed,
contours=[seq(-2.5..-1.3,0.1)], grid=[80,80],
coloring=["Niagara Azure","Orange"] );