8
8
video = Video (400 , 450 )
9
9
10
10
U = 50
11
+ SHIFT = Point (0 , - 1.7 U)
11
12
12
13
function tangram (obj)
13
14
if obj == :triangle1
37
38
javis (video, [
38
39
BackgroundAction (1 : 400 , ground),
39
40
Action (1 : 400 , (args... )-> poly (tangram (:triangle1 ), :fill , close= true ); subactions= [
40
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
41
+ SubAction (1 : 1 , Translation (O, SHIFT )),
41
42
SubAction (50 : 60 , Translation (O, Point (0 , 2 U))),
42
43
SubAction (60 : 70 , Rotation (0. , - π/ 2 )),
43
44
SubAction (70 : 80 , Translation (O, Point (- 2 U, 0 ))),
44
45
SubAction (80 : 90 , Translation (O, Point (U, - U))),
45
46
]),
46
47
Action (1 : 400 , (args... )-> poly (tangram (:triangle2 ), :fill , close= true ); subactions= [
47
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
48
+ SubAction (1 : 1 , Translation (O, SHIFT )),
48
49
]),
49
50
Action (1 : 400 , (args... )-> poly (tangram (:triangle3 ), :fill , close= true ); subactions= [
50
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
51
+ SubAction (1 : 1 , Translation (O, SHIFT )),
51
52
SubAction (1 : 1 , Translation (O, Point (0 , - 2 U))),
52
53
SubAction (100 : 110 , Translation (O, Point (- 3 U, 0 ))),
53
54
SubAction (110 : 120 , Rotation (0. , - π/ 2 )),
54
55
SubAction (120 : 130 , Translation (O, Point (- 5.5 U, 0 ))),
55
56
SubAction (130 : 140 , Translation (O, Point (0 , U))),
56
57
]),
57
58
Action (1 : 400 , (args... )-> poly (tangram (:triangle5 ), :fill , close= true ); subactions= [
58
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
59
+ SubAction (1 : 1 , Translation (O, SHIFT )),
59
60
SubAction (1 : 1 , Translation (O, Point (U, 0 ))),
60
61
SubAction (150 : 160 , Translation (O, Point (0 , 4.5 * U))),
61
62
SubAction (160 : 170 , Rotation (0. , - 3 π/ 4 )),
62
63
SubAction (170 : 180 , Translation (O, Point (sqrt ((2 - √ 2 / 2 )^ 2 / 2 ) * U, - sqrt ((2 - √ 2 / 2 )^ 2 / 2 ) * U))),
63
64
]),
64
65
Action (1 : 400 , (args... )-> poly (tangram (:parallelogram ), :fill , close= true ); subactions= [
65
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
66
+ SubAction (1 : 1 , Translation (O, SHIFT )),
66
67
SubAction (1 : 1 , Translation (O, Point (- U, 0 ))),
67
68
SubAction (200 : 210 , Translation (O, Point (U, - U))),
68
69
SubAction (210 : 220 , Translation (O, Point (U, 0 ))),
@@ -71,15 +72,15 @@ javis(video, [
71
72
SubAction (240 : 250 , Translation (O, Point (0 , U))),
72
73
]),
73
74
Action (1 : 400 , (args... )-> poly (tangram (:triangle4 ), :fill , close= true );subactions= [
74
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
75
+ SubAction (1 : 1 , Translation (O, SHIFT )),
75
76
SubAction (250 : 260 , Translation (O, Point (0 , - U))),
76
77
SubAction (260 : 270 , Translation (O, Point (2 U, 0 ))),
77
78
SubAction (270 : 280 , Rotation (0. , - π/ 2 )),
78
79
SubAction (280 : 290 , Translation (O, Point (- 4 U, 0 ))),
79
80
SubAction (290 : 300 , Translation (O, Point (0.5 * U, - 0.5 * U))),
80
81
]),
81
82
Action (1 : 400 , (args... )-> poly (tangram (:box ), :fill , close= true );subactions= [
82
- SubAction (1 : 1 , Translation (O, Point ( 0 , - 2 U) )),
83
+ SubAction (1 : 1 , Translation (O, SHIFT )),
83
84
SubAction (300 : 310 , Translation (O, Point (- U, 0 ))),
84
85
SubAction (310 : 320 , Rotation (0. , - π/ 6 )),
85
86
]),
0 commit comments