Я пытаюсь найти общее решение для рисования циферблата часов как графических объектов в системе Mathematica. Я уже реализовал собственную версию, но думаю, что должно существовать гораздо лучшее решение. Была бы оценена более аккуратная версия с меньшим количеством кода или более ясным мыслительным процессом.
Моя версия:
radius = 1;
elementList =
Join[Table[i, {i, 3, 1, -1}], Table[i, {i, 12, 4, -1}]];
elementNumber = Length[elementList];
thetaList = Table[i, {i, 0, 2 Pi, 2 Pi/elementNumber}][[1 ;; 12]];
coordinateList = Map[{radius*Cos[#], radius*Sin[#]} &, thetaList];
objectList =
Map[Style[#, FontFamily -> "Georgia", FontSize -> 30] &,
elementList];
Graphics[
Join[
MapThread[Text[#1, #2] &, {objectList, coordinateList}],
{Circle[{0, 0}, 1.2*radius]}
]
]