Я пытаюсь найти общее решение для рисования тактовой поверхности, как графические объекты в 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]}
]
]