def Vpath.slice(x, y, r, from, to)
delta = 2.0 * Math::PI / 128
from = Math::PI * from / 180.0
to = Math::PI * to / 180.0
from += 2.0 * Math::PI while from < 0
to += 2.0 * Math::PI while to <= from
a = [[Art::MOVETO, x, y], [Art::LINETO, x + r * Math.cos(from), y + r * Math.sin(from)]]
theta = ((from / delta).to_i + 1) * delta
while theta < to
a.push([Art::LINETO, x + r * Math.cos(theta), y + r * Math.sin(theta)])
theta += delta
end
a.push([Art::LINETO, x + r * Math.cos(to), y + r * Math.sin(to)])
a.push([Art::LINETO, x, y])
a.push([Art::END])
Vpath.new(a)
end