-
Notifications
You must be signed in to change notification settings - Fork 0
/
offsetting_polygons.jl
42 lines (32 loc) · 1.2 KB
/
offsetting_polygons.jl
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
# offsetting polygons
Using Luxor
@png begin
background("aliceblue")
p = star(O, 45, 5, 0.5, 0, vertices=true)
setline(5)
sethue("midnightblue")
setdash("dotdotdashed")
Luxor.poly(p, :stroke, close=true)
setdash("solid")
sethue("deeppink4")
setline(2)
Luxor.poly(offsetpoly(p, 40), :stroke, close=true)
Luxor.poly(offsetpoly(p, 45), :stroke, close=true)
Luxor.poly(offsetpoly(p, 50), :stroke, close=true)
Luxor.poly(offsetpoly(p, 55), :stroke, close=true)
sethue("darkcyan")
Luxor.poly(offsetpoly(p, 30), :stroke, close=true)
Luxor.poly(offsetpoly(p, 35), :stroke, close=true)
Luxor.poly(offsetpoly(p, 40), :stroke, close=true)
Luxor.poly(offsetpoly(p, 45), :stroke, close=true)
sethue("tan")
setline(1)
Luxor.poly(offsetpoly(p, 30), :stroke, close=true)
Luxor.poly(offsetpoly(p, 25), :stroke, close=true)
Luxor.poly(offsetpoly(p, 30), :stroke, close=true)
Luxor.poly(offsetpoly(p, 35), :stroke, close=true)
sethue("deepskyblue4")
Luxor.poly(offsetpoly(p, -10), :stroke, close=true)
Luxor.poly(offsetpoly(p, -15), :stroke, close=true)
Luxor.poly(offsetpoly(p, -20), :stroke, close=true)
end