有谁知道如何用 gnuplot 在 3D 中绘制平面上具有一定厚度的圆盘表面XY
,并且在中心有一个圆孔,固定处有平坦的上下表面z
(上下表面扁平的圆环)。
答案1
由于您的形状有垂直切线,因此不能写成z=f(x,y)
,因此splot <function>
无法使用。但是,您可以从文件中绘制数据,例如参见绘制立方体的解决方案:http://www.gnuplotting.org/plotting-cubes/
为了使用 gnuplot 生成数据本身,可以使用伪文件“++”和修饰符,下面是绘制圆柱体的方法:
splot [-1:1][-1:1][0:1] '++' u (cos(pi*$1)):(sin(pi*$1)):($2) w lines
为了绘制顶面,可以使用相同的技巧:
replot '++' u ($2*cos(pi*$1)):($2*sin(pi*$1)):1 w lines
为了获得精确的形状,需要对这些进行微小的更改。我建议您定义用于 x 和 y 坐标计算的函数,它们可以使用GPVAL_X_MIN
和合作。以便独立于绘图范围在相关范围内对变量$1
和进行规范化。$2