Module: Draught::Transformations
- Extended by:
- Transformations
- Included in:
- Transformations
- Defined in:
- lib/draught/transformations.rb,
lib/draught/transformations/affine.rb,
lib/draught/transformations/common.rb,
lib/draught/transformations/composer.rb,
lib/draught/transformations/proclike.rb,
lib/draught/transformations/composition.rb
Defined Under Namespace
Modules: Common
Classes: Affine, Composer, Composition, Proclike
Constant Summary
collapse
- MM_TO_PT =
2.8346456692913
Instance Method Summary
collapse
Instance Method Details
#mm_to_pt ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/draught/transformations.rb', line 13
def mm_to_pt
Affine.new(Matrix[
[MM_TO_PT, 0, 0],
[0, MM_TO_PT, 0],
[0, 0, 1]
])
end
|
#rotate(radians) ⇒ Object
49
50
51
52
53
54
55
56
57
|
# File 'lib/draught/transformations.rb', line 49
def rotate(radians)
cos = Math.cos(radians)
sin = Math.sin(radians)
Transformations::Affine.new(Matrix[
[cos, -sin, 0],
[sin, cos, 0],
[0, 0, 1]
])
end
|
#round_to_n_decimal_places(n) ⇒ Object
59
60
61
|
# File 'lib/draught/transformations.rb', line 59
def round_to_n_decimal_places(n)
Proclike.new(->(p) { [p.x.round(n), p.y.round(n)] })
end
|
#scale(factor) ⇒ Object
41
42
43
44
45
46
47
|
# File 'lib/draught/transformations.rb', line 41
def scale(factor)
Transformations::Affine.new(Matrix[
[factor, 0, 0],
[0, factor, 0],
[0, 0, 1]
])
end
|
#x_axis_reflect ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/draught/transformations.rb', line 21
def x_axis_reflect
Affine.new(Matrix[
[1,0,0],
[0,-1,0],
[0,0,1]
])
end
|
#xy_axis_reflect ⇒ Object
37
38
39
|
# File 'lib/draught/transformations.rb', line 37
def xy_axis_reflect
Composer.compose(x_axis_reflect, y_axis_reflect)
end
|
#y_axis_reflect ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/draught/transformations.rb', line 29
def y_axis_reflect
Affine.new(Matrix[
[-1,0,0],
[0,1,0],
[0,0,1]
])
end
|