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映射的python类比是什么?

来自分类Dev

在gnuplot中的pm3d表面上绘制点

来自分类Dev

gnuplot pm3d未绘制所有数据

来自分类Dev

在gnuplot中强制Z范围-pm3d

来自分类Dev

gnuplot pm3d数据点匹配

来自分类Dev

Gnuplot:pm3d 地图顶部的参数图

来自分类Dev

使用 pm3d 更改 Gnuplot zrange

来自分类Dev

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

来自分类Dev

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

来自分类Dev

计算3D总偏移量

来自分类Dev

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

来自分类Dev

单张为标记添加偏移量

来自分类Dev

如何添加jQuery scrollTop偏移量?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

密钥在pm3d gnuplot中变得不可见

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在reloadRowsAtIndexPaths时保持偏移量

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

    在gnuplot中的pm3d表面上绘制点

  3. 3

    gnuplot pm3d未绘制所有数据

  4. 4

    在gnuplot中强制Z范围-pm3d

  5. 5

    gnuplot pm3d数据点匹配

  6. 6

    Gnuplot:pm3d 地图顶部的参数图

  7. 7

    使用 pm3d 更改 Gnuplot zrange

  8. 8

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

  9. 9

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

  10. 10

    计算3D总偏移量

  11. 11

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

  12. 12

    单张为标记添加偏移量

  13. 13

    如何添加jQuery scrollTop偏移量?

  14. 14

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

  15. 15

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

  16. 16

    密钥在pm3d gnuplot中变得不可见

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

    在reloadRowsAtIndexPaths时保持偏移量

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档