GNUPlot:设置由三个点定义的平面的动画
所以我需要画出由三个点定义的平面,这三个点都来自于我的方程。我可以重新定义代码,使三个点之间有一个空格。我选择不这样做。我只是添加了一些评论,以明确各点的分歧。他们真的不在那里GNUPlot:设置由三个点定义的平面的动画,gnuplot,Gnuplot,所以我需要画出由三个点定义的平面,这三个点都来自于我的方程。我可以重新定义代码,使三个点之间有一个空格。我选择不这样做。我只是添加了一些评论,以明确各点的分歧。他们真的不在那里 # surface 1 1.000 0.000 0.000 -46.777 -0.702 -1.692 0.000 3.000 5.500 # surface 2 0.998 0.
# surface 1
1.000 0.000 0.000
-46.777 -0.702 -1.692
0.000 3.000 5.500
# surface 2
0.998 0.030 0.055
-46.451 -2.099 -5.068
-0.468 2.993 5.483
# surface 3
0.991 0.060 0.110
-45.804 -3.471 -8.400
-0.932 2.972 5.432
# surface 4
0.979 0.089 0.164
-44.842 -4.803 -11.659
-1.390 2.937 5.348
# surface 5
0.963 0.119 0.217
-43.574 -6.079 -14.816
-1.839 2.889 5.232
#... and so on
现在我可以用这个代码绘制一个曲面
set dgrid3d 10,10
set style data lines
set pm3d
i=0
splot '5surf' every ::i::(i+2) pal
但当我把它插入do循环时
n = 1000
unset key
set terminal gif size 800,600 crop
outtmpl = 'pic/output%07d.gif'
set dgrid3d 10,10
set style data lines
set pm3d
do for [i=0:n:3] {
set output sprintf(outtmpl, i)
splot '5surf' every ::i::(i+2) pal
print i
}
set output
我用这个得到了曲面,这显然是错误的。(双关语)
根据我的分析,表面看起来有点像是在旋转
编辑:我把dgrid3d扔出了窗口。填充曲线不起作用。我能用这些点画一个正方形
1 1 4.8
-1 1 5.6
-1 -1 2.4
1 -1 1.6
1 1 4.8
使用多边形,但我无法使其从文件中读取
最后一次编辑:如果有人对我如何使用原始的三个点集找到这四个点感到好奇,那就是找到包含这三个点的平面方程并插入(\pm 1、\pm 1,z)。求解Z,并考虑这四种情况。一个基本的计算问题,实际上对于正方形的点,您还必须插入一条空行,以使
pm3d
正常工作:
surface.dat
:
-1 -1 2.4
-1 1 5.6
1 -1 1.6
1 1 4.8
-1 -1 2.4
-1 1 5.6
1 -1 1.6
1 1 4.8
-1 -1 1.4
-1 1 4.6
1 -1 0.6
1 1 3.8
不是,两个块的y值顺序始终相同。将此与
set pm3d
splot 'surface.dat'
如果要从一个文件中放置多个曲面,现在可以用两条空行分隔两个曲面,然后可以使用索引
:
surfaces.dat
:
-1 -1 2.4
-1 1 5.6
1 -1 1.6
1 1 4.8
-1 -1 2.4
-1 1 5.6
1 -1 1.6
1 1 4.8
-1 -1 1.4
-1 1 4.6
1 -1 0.6
1 1 3.8
您可以使用stats
来计算块数:
stats 'surfaces.dat' nooutput
set pm3d
do for [i=0:STATS_blocks - 1] {
splot 'surfaces.dat' index i
}
dgrid3d
无法正常用于您的应用程序。你可能应该计算出四个点,这四个点应该划定你想要绘制的平面。好的,我也有这个方程。我试了四分,但我得到的只是一个盒子。现在我需要用一些纯色来填充它以保持可见性,当我尝试pm3d时,它说没有足够的信息来显示它。有没有办法为所有迭代设置颜色?我让do循环开始工作,但一旦“坡度”发生足够的变化,颜色就会发生变化如果您希望所有平面都有一种颜色,那么您应该定义一个只有这种颜色的调色板:set palete defined(0'#bb0000',1'#bb0000');取消设置颜色框
。