从顶点开始的凸壳图

时间:2018-06-05 12:00:29

标签: gnuplot computational-geometry convex-hull

我想制作凸包图,为Gnuplot提供连接图形表面的顶点。

我一直在测试,但我没有任何明确的方法来做到这一点。

我可以用这个脚本绘制点数:

set encoding iso_8859_1
set terminal postscript eps enhanced color  size 4.0in,4.0in #"Helvetica" 16
set output "RG1.eps"
set view 50,220
unset colorbox
splot "convex1.dat" with lines notitle ,\
"convex1.dat" u 1:2:3 with points palette pointsize 3 pointtype 7

其中convex1.dat包含这些点

0   0   0
0   0   0.285957
0   0.285957    0.285957
0   0.3812378724    0.1906189362
0   0.571914    0
0.1906761276    0.3812378724    0.1906189362
0.285957    0.285957    0.285957
0.571914    0   0
0.571914    0   0.285957 

此脚本的表示形式为:

enter image description here

我可以使用Mathematica环境制作带有这些点的凸包,并创建我正在寻找的图形类型:

enter image description here

问题是:如何使用Gnuplot制作像Mathematica图一样的凸包,如何使用透明度通过比较两个具有相同轴的凸包来制作图形?

1 个答案:

答案 0 :(得分:0)

Gnuplot主要是结构化数值数据的渲染器;它不是一个数学处理系统,也不是几何数据的渲染器。 pm3d的{​​{1}}样式允许您绘制任意多边形集合,但它不会删除隐藏的表面,更不用说基于多个多边形的交集的复杂渲染。事实上,文档本身说:

  

Gnuplot不是[a]虚拟现实工具来计算填充的交叉点   多边形网格。

对于这类事情,你会想要使用一个实际的数学处理包(比如Mathematica!),它可以输出为矢量格式,然后直接使用它而不是通过Gnuplot。