remove reload() from builtins since python3 no longer uses this.
[blender-staging.git] / doc / python_api / examples / mathutils.Vector.py
1 import mathutils
2
3 # zero length vector
4 vec = mathutils.Vector((0, 0, 1))
5
6 # unit length vector
7 vec_a = vec.copy().normalize()
8
9 vec_b = mathutils.Vector((0, 1, 2))
10
11 vec2d = mathutils.Vector((1, 2))
12 vec3d = mathutils.Vector((1, 0, 0))
13 vec4d = vec_a.copy().resize4D()
14
15 # other mathutuls types
16 quat = mathutils.Quaternion()
17 matrix = mathutils.Matrix()
18
19 # Comparison operators can be done on Vector classes:
20
21 # greater and less then test vector length.
22 vec_a > vec_b
23 vec_a >= vec_b
24 vec_a < vec_b
25 vec_a <= vec_b
26
27 # ==, != test vector values e.g. 1,2,3 != 3,2,1 even if they are the same length
28 vec_a == vec_b
29 vec_a != vec_b
30
31
32 # Math can be performed on Vector classes
33 vec_a + vec_b
34 vec_a - vec_b
35 vec_a * vec_b
36 vec_a * 10.0
37 vec_a * matrix
38 vec_a * vec_b
39 vec_a * quat
40 -vec_a
41
42
43 # You can access a vector object like a sequence
44 x = vec_a[0]
45 len(vec)
46 vec_a[:] = vec_b
47 vec2d[:] = vec3d[:2]
48
49
50 # Vectors support 'swizzle' operations
51 # See http://en.wikipedia.org/wiki/Swizzling_(computer_graphics)
52 vec.xyz = vec.zyx
53 vec.xy = vec4d.zw
54 vec.xyz = vec4d.wzz
55 vec4d.wxyz = vec.yxyx