Я делаю программу на python для рисования часов в формате svg. Проблема в том, что я не получаю короткие строки, показывающие время в нужных местах. Что не так с моим кодом?
Вот как это выглядит в Inkscape:
Изображение часов в Inkscape
А вот и мой код:
import svgwrite
import math
#Definitions
filename = 'inkscape_007.svg'
WIDTH = 1000
HEIGHT = 1000
# Open the drawing
dwg = svgwrite.Drawing(filename)
dwg.viewbox(width=WIDTH, height=HEIGHT)
#Drawing code
circle = dwg.circle(center=(500, 500), r='250', fill='none',stroke='darkred',
stroke_width=10)
dwg.add(circle)
dwg.save()
def x_coord(angle,radius,center_x):
x = radius * math.cos(angle) + center_x
x = round(x)
return x
def y_coord(angle,radius,center_y):
y = radius * math.sin(angle) + center_y
y = round(y)
return y
ang = 0
line = dwg.line(start=(x_coord(ang,250,500),y_coord(ang,250,500)), end=
(x_coord(ang,220,500),y_coord(ang,220,500)), stroke='black', stroke_width=10)
dwg.add(line)
dwg.save()
ang = 90
line = dwg.line(start=(x_coord(ang,250,500),y_coord(ang,250,500)), end=
(x_coord(ang,220,500),y_coord(ang,220,500)), stroke='black', stroke_width=10)
dwg.add(line)
dwg.save()
ang = 180
line = dwg.line(start=(x_coord(ang,250,500),y_coord(ang,250,500)), end=
(x_coord(ang,220,500),y_coord(ang,220,500)), stroke='black', stroke_width=10)
dwg.add(line)
dwg.save()
ang = 360
line = dwg.line(start=(x_coord(ang,250,500),y_coord(ang,250,500)), end=
(x_coord(ang,220,500),y_coord(ang,220,500)), stroke='black', stroke_width=10)
dwg.add(line)
dwg.save()
#Save the file
dwg.save()