Использование многогранника в качестве графического примитива, размещения в точке и масштабирования

Могу я задать простой вопрос для новичков, на который я не могу найти простой для понимания ответ ни в одном из имеющихся у меня текстов (которые, по общему признанию, довольно старые, в некоторых случаях предшествующие версии 6) ? Как использовать многогранники, как если бы они были графическими примитивами, такими как Сфера и Кубоид? Т.е. центрирование по точке и масштабирование. Вот глупые примеры, чтобы проиллюстрировать эту мысль:

(* spheres along a path *)
data = Table[{Cos[t], Sin[t], Sin[t] Cos[2 t]}, {t, 0, 2 Pi, Pi/24}];
Graphics3D[Sphere[#, 0.3] & /@ data]

loop of spheres

(* cubes along a path *)
Graphics3D[Cuboid[#, # + 0.1] & /@ data]

loop of cubes

Итак, как разместить икосаэдры в определенных точках и масштабе, написав что-то вроде

Graphics3D[icosahedron[#, 0.1] & /@ data]

Изменить: Я думаю, моя проблема в том, как сделать GraphicsComplex и Graphics3D работают вместе. Например, где у меня сейчас есть:

shapes[ct_, siz_] := {Sphere[ct - .2, siz ], Sphere[ct - 0.1, siz]};
Graphics3D[{{shapes[#, size] & /@ data}}]

Я хотел бы заменить эту Сферу [] на икосаэдр [] . В настоящее время я пытаюсь заставить решение Хайке работать ...

Редактировать 2: Теперь все работает нормально, спасибо Хайке. Не уверен, что напечатаю его на 3D-принтере - выглядит немного неудобно носить ...

the platonic bracelet

7
задан cormullion 6 December 2011 в 23:23
поделиться