-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdirectionalgyro
More file actions
79 lines (62 loc) · 2.38 KB
/
directionalgyro
File metadata and controls
79 lines (62 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import font
circle(0 0 80.26 / 2)
def diameter = 76
def scale = diameter / 100 #scale factor
def fiveSize = 7
def oneSize = 3
def textSize = 3
def innerText = 10
def textOffsetx = 0 * scale #ADJUSTMENT OF TEXT X
def textOffsety = 0.5 * scale #ADJUSTMENT OF TEXT Y
def outer = ( diameter / 2) - 1
def innerFive = ( diameter / 1.9) - fiveSize
def innerOne = ( diameter / 2) - oneSize
#TEST ICON
line(-1 * ( diameter / 3.5) 0 diameter / 3.5 0)
line(0 -1 * ( diameter / 3.5) 0 diameter / 2)
#calculate which digit to write
def setchar(vx as Number vy as Number diameter as Number ) = {
if(i diameter < -1) {if(diameter > -3) {three(vx + 1 vy textSize)}}
if(i diameter < 0) {if(diameter > -2) {six(vx + 1 vy textSize)}}
if(i diameter < 1) {if(diameter > -1) {E(vx + 1 vy textSize + 2)}}
if(i diameter < 2) {if(diameter > 0) {one(vx - (textSize / 2) vy textSize)
two(vx + (textSize / 2) vy textSize)}}
if(i diameter < 3) {if(diameter > 1) {one(vx - (textSize / 2) vy textSize)
five(vx + (textSize / 2) vy textSize)}}
if(i diameter < 4) {if(diameter > 2) {S(vx vy - 2 textSize + 2)}}
if(i diameter < 5) {if(diameter > 3) {two(vx - (textSize / 2) vy textSize)
one(vx + (textSize / 2) vy textSize)}}
if(i diameter < 6) {if(diameter > 4) {two(vx - (textSize / 2) vy textSize)
four(vx + (textSize / 2) vy textSize)}}
if(i diameter < 7) {if(diameter > 5) {W(vx - 1 vy textSize + 2)
}}
if(i diameter < 8) {if(diameter > 6) {three(vx - (textSize / 2) vy textSize)
zero(vx + (textSize / 2) vy textSize)}}
if(i diameter < 9) {if(diameter > 7) {three(vx - (textSize / 2) vy textSize)
three(vx + (textSize / 2) vy textSize)}}
if(i diameter < 10) {if(diameter > 8) {N(vx vy textSize + 2)
}}
}
#THIRTvy DEGREE TEXT
repeat -2 to 10 using int {
def vx = -1 * cos(radians(int * 30))
def vy = sin(radians(int * 30))
#TEXT
def textvx = (-1 - vx * ( diameter / 2) - innerText) - textOffsetX
def textvy = (-1 - vy * ( diameter / 2) - innerText) - textOffsetY
setchar(textvx textvy int)
}
#TEN DEGREE MARKS
repeat -6 to 30 using int {
def vx = -1 * cos(radians(int * 10))
def vy = sin(radians(int * 10))
line(vx * innerFive vy * innerFive vx * outer vy * outer)
}
#FIVE DEGREEscale MARKS
repeat 0 to 90 using int {
def vx = cos(radians(int * 5))
def vy = sin(radians(int * 5))
line(vx * innerOne vy * innerOne vx * outer vy * outer)
}
#OUTER AN diameterCENTER CIRCLE
circle(0 0 1)