读书笔记 -- VRML与Java编程技术 海拔栅格

来源:互联网 发布:三一重工 大数据 编辑:程序博客网 时间:2024/05/22 07:40
海拔栅格就是在平面上先创建一个栅格,再在栅格上任选一点,并且改变这
个点在Y轴方向上的值,增大这个值行程高山,减少这个值形成谷地。
ElevationGrid节点使用所提供的海拔值的栅格来为一个区域创建几何表面。通
常为造型节点geometry域的域值。
其语法如下:
ElevationGrid { #field SFInt32 xDimension 0
#field SFFloat xSpacing 0.0
#field SFInt32 zDimension 0
#field SFFloat zSpacing 0.0
#field MFFloat height[]
#exposedField SFNode color NULL
#field SFBool colorPerVertex TRUE
#exposedField SFNode normal NULL
#field SFBool normalPerVertex TRUE
#exposedField SFNode texCoord NULL
#field SFBool ccw TRUE
#field SFBool solid TRUE
#field SFFloat creaseAngle 0.0
}xDimension域和zDimension域的值为X和Z方向上栅格点的数量。而所创建的
栅格点的总体数量就是xDimension*zDimenstion个。
xSpacing和zSpacing域的值指定了栅格中行和列间的距离。xSpacing域值为X方
向上计算的列间的距离,zSpacing域值为Z方向上计算的行间的距离。
height域的值指定了海拔高度,也即是Y方向上计算的海拔。该域值中的一个值
对应一个栅格点。形成zDimension行xDimension列的海拔高度值。
ccw域的值指定了海拔栅格创建的表面是按顺时针还是逆时针或者未知方向索
引。当该值为TRUE时,按逆时针方向索引,否则,按顺时针或者未知方向索
引。
solid域的值表示海拔栅格所指定的几何造型是否为一个实体。当它为TRUE时,
只创建正面,否则,正反面都创建。
creaseAngle域的域值指定了一个用弧度表示的折痕角的阀值。当栅格中两个相
邻面间的夹角小于所设定的阀值,那么这两个面的边界就会模糊,否则,这两
个面带额边界会保持原样。