osg.Vec4f 描述了一个四维向量(四个浮点数)。在 OpenSceneGraph 中,它常常被用到表示顶点、法向量等。
osg.Vec4f 的构造函数有三种:
osg.Vec4f()
没有参数的构造函数。产生一个初始值为 (0, 0, 0, 0)
的 Vec4f。
osg.Vec4f(x, y, z, w)
用四个浮点数 x
、y
、z
和 w
初始化一个新的 Vec4f。
例如:
v = osg.Vec4f(1.0, 2.0, 3.0, 4.0) # v = (1.0, 2.0, 3.0, 4.0)
osg.Vec4f(other)
用另一个 osg.Vec4f
对象 other
来初始化这个新的 Vec4f。
例如:
v1 = osg.Vec4f(1.0, 2.0, 3.0, 4.0)
v2 = osg.Vec4f(v1) # v2 == v1
osg.Vec4f 中常用的成员函数有以下几个:
length()
返回这个 Vec4f 作为向量在空间中的长度。
例如:
v = osg.Vec4f(1.0, 2.0, 3.0, 4.0)
print(v.length()) # 输出 5.477..(近似于 √30)
normalize()
将这个 Vec4f 作为向量单位化。如果原向量长度为 0,则仍产生一个 null(零)向量。
例如:
v = osg.Vec4f(1.0, 2.0, 3.0, 4.0)
v.normalize()
print(v) # 输出 (0.18257, 0.36514, 0.54772, 0.73029)
osg.Vec4f 还提供了向量加减、点乘、叉乘等常见的向量运算。这些函数的使用方法与其它常见向量类库一致。