1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import mathutils
- # zero length vector
- vec = mathutils.Vector((0.0, 0.0, 1.0))
- # unit length vector
- vec_a = vec.normalized()
- vec_b = mathutils.Vector((0.0, 1.0, 2.0))
- vec2d = mathutils.Vector((1.0, 2.0))
- vec3d = mathutils.Vector((1.0, 0.0, 0.0))
- vec4d = vec_a.to_4d()
- # other mathutuls types
- quat = mathutils.Quaternion()
- matrix = mathutils.Matrix()
- # Comparison operators can be done on Vector classes:
- # (In)equality operators == and != test component values, e.g. 1,2,3 != 3,2,1
- vec_a == vec_b
- vec_a != vec_b
- # Ordering operators >, >=, > and <= test vector length.
- vec_a > vec_b
- vec_a >= vec_b
- vec_a < vec_b
- vec_a <= vec_b
- # Math can be performed on Vector classes
- vec_a + vec_b
- vec_a - vec_b
- vec_a @ vec_b
- vec_a * 10.0
- matrix @ vec_a
- quat @ vec_a
- -vec_a
- # You can access a vector object like a sequence
- x = vec_a[0]
- len(vec)
- vec_a[:] = vec_b
- vec_a[:] = 1.0, 2.0, 3.0
- vec2d[:] = vec3d[:2]
- # Vectors support 'swizzle' operations
- # See https://en.wikipedia.org/wiki/Swizzling_(computer_graphics)
- vec.xyz = vec.zyx
- vec.xy = vec4d.zw
- vec.xyz = vec4d.wzz
- vec4d.wxyz = vec.yxyx
|