diff options
Diffstat (limited to 'doc/python_api/examples/mathutils.Vector.py')
-rw-r--r-- | doc/python_api/examples/mathutils.Vector.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/doc/python_api/examples/mathutils.Vector.py b/doc/python_api/examples/mathutils.Vector.py new file mode 100644 index 00000000000..bf1fc70353f --- /dev/null +++ b/doc/python_api/examples/mathutils.Vector.py @@ -0,0 +1,56 @@ +import mathutils + +# zero length vector +vec = mathutils.Vector((0.0, 0.0, 1.0)) + +# unit length vector +vec_a = vec.copy().normalize() + +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: + +# greater and less then test vector length. +vec_a > vec_b +vec_a >= vec_b +vec_a < vec_b +vec_a <= vec_b + +# ==, != test vector values e.g. 1,2,3 != 3,2,1 even if they are the same length +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 * vec_b +-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 http://en.wikipedia.org/wiki/Swizzling_(computer_graphics) +vec.xyz = vec.zyx +vec.xy = vec4d.zw +vec.xyz = vec4d.wzz +vec4d.wxyz = vec.yxyx |