如何在wxMaxima中将wxdraw3d生成的图嵌入plot3d生成的图中?
在wxMaxima中将带虚线椭圆的2D图嵌入3D球体图的解决方案
你可以通过在同一个wxdraw3d命令中同时绘制3D球体和2D椭圆来实现需求,这样所有元素共享同一渲染上下文,能彻底解决手动拼接导致的虚线间距不均问题,且无需依赖外部工具或额外LaTeX包。
完整实现代码
wxdraw3d( terminal='png, file_name="combined_plot.png", // 绘制3D球体(替代原plot3d的参数化实现) parametric3d( sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta), [theta, 0, %pi], [phi, 0, 2*%pi], grid=[20,20], color=black, same_xyz=true ), // 嵌入带虚线的椭圆(与球体坐标系统统一) gr2d( fill_color=grey77, color=gray20, line_width=2, ellipse(0,0,1,.5,180,180), line_type=dashes, ellipse(0,0,1,.5,0,180), proportional_axes='xy ) );
关键说明
- 替代原plot3d:用
parametric3d在wxdraw3d中实现球体,参数与原plot3d完全对应(theta和phi的范围、网格密度grid=[20,20]、same_xyz=true保证正球效果)。 - 统一渲染上下文:
gr2d直接嵌套在wxdraw3d中,椭圆的坐标与球体的坐标系统对齐(球体半径为1,椭圆长轴1、短轴0.5,正好匹配球体的XY截面),虚线样式由wxMaxima统一渲染,不会出现拼接误差。 - 直接输出合并图:命令执行后直接生成包含球体和椭圆的PNG文件,无需后续手动编辑。
内容的提问来源于stack exchange,提问作者user158293
相关产品推荐
相关产品推荐

