gnuplot:添加偏移量时绘制pm3d工件

西奥日

绘制球体with pm3d效果很好。但是,当我想补偿时,会得到一些我不会理解的伪影。有什么想法为什么通过加一些数字来移动坐标时会在球体中出现“黑洞”?用gnuplot 5.2.8创建

码:

### plotting artifact with splot and pm3d
reset session

set view equal xyz
set view 45,45, 2
unset tics
unset colorbox
unset key
set margins 0,0,0,0
unset border
set style fill solid 1.0 noborder
set pm3d depthorder noborder
set pm3d lighting specular 0.5

# Create a sphere prototype dataset
set parametric
set isosamples 25
set samples 25
set urange [-pi/2:pi/2]
set vrange [0:2*pi]
Radius = 1
set table $Sphere
    splot Radius*cos(u)*cos(v), Radius*cos(u)*sin(v), Radius*sin(u)
unset table
unset parametric

set palette defined (0 "#ff0000", 1 "#ff0000")
set view 153, 90

splot $Sphere u 1:2:3 w pm3d 
pause -1 "Press OK to see the next plot"
splot $Sphere u ($1+1.0):($2+2.0):($3+3.0) w pm3d 
### end of code    
    

结果:

在此处输入图片说明

有偏移量:

在此处输入图片说明

伊森

问题出在照明模型代码中。它使用叉积(v1-v0)x(v2-v0)计算pm3d曲面的每个四边形小平面的曲面法线。在这种情况下,接触球体“极点”的四边形退化,因为四个顶点中的两个恰好位于极点上,仅剩下一个三角形。取决于两个顶点中的哪个顶点,法线变为不确定,并且照明计算失败,返回0 =黑色。这是一个可修复的错误,因为选择不同的顶点仍然可以计算法线。

解决方法:限制参数变量“ u”的范围,以使四边形不能完全到达极点:

 epsilon=0.0001
 set urange [epsilon - pi/2 : pi/2 - epsilon]

对于它的价值,另一个解决方法是set pm3d interpolation 3,3我不确定为什么会起作用,但是如果在绘制非现场生成的数据集时出现相同的问题,这可能会很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

gnuplot pm3d散点图-如何删除数据点并进行插值

来自分类Dev

在gnuplot中绘制pm3d映射的python类比是什么?

来自分类Dev

在gnuplot中强制Z范围-pm3d

来自分类Dev

循环遍历车把中的项时向{{@index}}添加偏移量

来自分类Dev

在gnuplot中的pm3d表面上绘制点

来自分类Dev

为什么在Silverstripe中调用增量偏移量方法时,偏移量不会增加?

来自分类Dev

密钥在pm3d gnuplot中变得不可见

来自分类Dev

在reloadRowsAtIndexPaths时保持偏移量

来自分类Dev

计算3D总偏移量

来自分类Dev

单张为标记添加偏移量

来自分类Dev

带有来自不同数据文件的pm3d的GNUPLOT等高线

来自分类Dev

如何添加jQuery scrollTop偏移量?

来自分类Dev

使用Glyphter.com将SVG转换为字体时的偏移量-偏移量

来自分类Dev

如何知道EDIT控件中的偏移量以绘制文本?

来自分类Dev

将偏移量添加到gnuplot中的多列

来自分类Dev

Gnuplot pm3d:“ NaN值”删除所有周围的矩形

来自分类Dev

在gnuplot中为3D图叠加矢量dgrid3d和pm3d

来自分类Dev

如何使用gnuplot在pm3d地图上添加2D曲线而不是单调数据

来自分类Dev

在gnuplot中绘制多个pm3d表面,每个表面都有自己的调色板

来自分类Dev

超文本能否与Gnuplot中的pm3d表面图一起使用?

来自分类Dev

gnuplot pm3d将第二列映射为颜色渐变

来自分类Dev

gnuplot pm3d未绘制所有数据

来自分类Dev

带有来自不同数据文件的pm3d的GNUPLOT等高线

来自分类Dev

gnuplot pm3d数据点匹配

来自分类Dev

如何用gnuplot(pm3d)中的特定数字除以数组的每个元素?

来自分类Dev

Gnuplot:pm3d 地图顶部的参数图

来自分类Dev

用颜色条中的偏移量绘制的刻度

来自分类Dev

使用 pm3d 更改 Gnuplot zrange

来自分类Dev

如何在 z3 中添加一个 IndexOf 结果的偏移量

Related 相关文章

  1. 1

    gnuplot pm3d散点图-如何删除数据点并进行插值

  2. 2

    在gnuplot中绘制pm3d映射的python类比是什么?

  3. 3

    在gnuplot中强制Z范围-pm3d

  4. 4

    循环遍历车把中的项时向{{@index}}添加偏移量

  5. 5

    在gnuplot中的pm3d表面上绘制点

  6. 6

    为什么在Silverstripe中调用增量偏移量方法时,偏移量不会增加?

  7. 7

    密钥在pm3d gnuplot中变得不可见

  8. 8

    在reloadRowsAtIndexPaths时保持偏移量

  9. 9

    计算3D总偏移量

  10. 10

    单张为标记添加偏移量

  11. 11

    带有来自不同数据文件的pm3d的GNUPLOT等高线

  12. 12

    如何添加jQuery scrollTop偏移量?

  13. 13

    使用Glyphter.com将SVG转换为字体时的偏移量-偏移量

  14. 14

    如何知道EDIT控件中的偏移量以绘制文本?

  15. 15

    将偏移量添加到gnuplot中的多列

  16. 16

    Gnuplot pm3d:“ NaN值”删除所有周围的矩形

  17. 17

    在gnuplot中为3D图叠加矢量dgrid3d和pm3d

  18. 18

    如何使用gnuplot在pm3d地图上添加2D曲线而不是单调数据

  19. 19

    在gnuplot中绘制多个pm3d表面,每个表面都有自己的调色板

  20. 20

    超文本能否与Gnuplot中的pm3d表面图一起使用?

  21. 21

    gnuplot pm3d将第二列映射为颜色渐变

  22. 22

    gnuplot pm3d未绘制所有数据

  23. 23

    带有来自不同数据文件的pm3d的GNUPLOT等高线

  24. 24

    gnuplot pm3d数据点匹配

  25. 25

    如何用gnuplot(pm3d)中的特定数字除以数组的每个元素?

  26. 26

    Gnuplot:pm3d 地图顶部的参数图

  27. 27

    用颜色条中的偏移量绘制的刻度

  28. 28

    使用 pm3d 更改 Gnuplot zrange

  29. 29

    如何在 z3 中添加一个 IndexOf 结果的偏移量

热门标签

归档