Cleanup: API docs
[blender.git] / doc / python_api / examples / mathutils.Vector.py
1 import mathutils
2
3 # zero length vector
4 vec = mathutils.Vector((0.0, 0.0, 1.0))
5
6 # unit length vector
7 vec_a = vec.normalized()
8
9 vec_b = mathutils.Vector((0.0, 1.0, 2.0))
10
11 vec2d = mathutils.Vector((1.0, 2.0))
12 vec3d = mathutils.Vector((1.0, 0.0, 0.0))
13 vec4d = vec_a.to_4d()
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 # (In)equality operators == and != test component values, e.g. 1,2,3 != 3,2,1
22 vec_a == vec_b
23 vec_a != vec_b
24
25 # Ordering operators >, >=, > and <= test vector length.
26 vec_a > vec_b
27 vec_a >= vec_b
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 matrix * vec_a
38 quat * vec_a
39 vec_a * vec_b
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 vec_a[:] = 1.0, 2.0, 3.0
48 vec2d[:] = vec3d[:2]
49
50
51 # Vectors support 'swizzle' operations
52 # See http://en.wikipedia.org/wiki/Swizzling_(computer_graphics)
53 vec.xyz = vec.zyx
54 vec.xy = vec4d.zw
55 vec.xyz = vec4d.wzz
56 vec4d.wxyz = vec.yxyx