GraphicsWindow.Title = "Truncated Icosahedron"
Init()
r = 2
dx = 35
dy = 100
For i = 1 To 60
point = points[i]
x = point["x"] + dx
y = point["y"] + dy
If i <= 40 Then
color = "Black"
Else
color = "SkyBlue"
EndIf
GraphicsWindow.BrushColor = color
GraphicsWindow.FillEllipse(x - r, y - r, 2 * r, 2 * r)
GraphicsWindow.DrawText(x, y, i)
EndFor
n = Array.GetItemCount(edges)
For j = n To 1 Step -1
edge = edges[j]
h = Text.GetIndexOf(edge, "-") ' hyphen
i1 = Text.GetSubText(edge, 1, h - 1)
i2 = Text.GetSubTextToEnd(edge, h + 1)
point = points[i1]
x1 = point["x"] + dx
y1 = point["y"] + dy
point = points[i2]
x2 = point["x"] + dx
y2 = point["y"] + dy
If i1 <= 40 And i2 <= 40 Then
GraphicsWindow.PenColor = "Black"
Else
GraphicsWindow.PenColor = "SkyBlue"
EndIf
GraphicsWindow.DrawLine(x1, y1, x2, y2)
EndFor
point = points[1]
xo = point["x"]
For i = 60 To 1 Step -1
point = points[i]
If xo <= point["x"] Then
color = "Black"
Else
color = "SkyBlue"
EndIf
x = point["z"] + gw / 2 + dx
y = point["y"] + dy
GraphicsWindow.BrushColor = color
GraphicsWindow.FillEllipse(x - r, y - r, 2 * r, 2 * r)
GraphicsWindow.DrawText(x, y, i)
EndFor
GraphicsWindow.PenColor = "Black"
For j = 1 To n
edge = edges[j]
h = Text.GetIndexOf(edge, "-") ' hyphen
i1 = Text.GetSubText(edge, 1, h - 1)
i2 = Text.GetSubTextToEnd(edge, h + 1)
point = points[i1]
x1 = point["x"]
y1 = point["y"] + dy
z1 = point["z"] + gw / 2 + dx
point = points[i2]
x2 = point["x"]
y2 = point["y"] + dy
z2 = point["z"] + gw / 2 + dx
If xo <= x1 And xo <= x2 Then
GraphicsWindow.DrawLine(z1, y1, z2, y2)
EndIf
EndFor