3D модель булавы (Mace)
Описание проекта: Модель булавы (Mace)
Цель проекта
Создание 3D-модели булавы (mace) с использованием языка программирования OpenSCAD. Проект направлен на изучение основ 3D-моделирования, а также на практическое применение трансляции, вращения и объединения объектов в OpenSCAD.
Описание модели
Модель булавы состоит из двух основных частей: ручки и головки.
-
Ручка:
- Ручка представляет собой цилиндр высотой 100 единиц и радиусом 5 единиц, расположенный вертикально. Она смещена вниз на 50 единиц, чтобы ее основание находилось на уровне координатной плоскости (Z=0). Это создает эффект, что ручка выходит из земли.
-
Головка:
- Головка булавы состоит из двух рядов сфер, расположенных по кругу.
- Первый ряд включает шесть сфер радиусом 10 единиц, которые расположены на расстоянии 10 единиц от центра. Сферы равномерно распределены по окружности с шагом в 60 градусов.
- Второй ряд состоит из шести меньших сфер радиусом 5 единиц, расположенных на расстоянии 15 единиц от центра, также с шагом в 60 градусов. Это создает эффект многослойной головки, придавая модели более агрессивный и массивный вид.
Технические детали
- Используемый язык: OpenSCAD
- Основные функции:
translate()
,rotate()
,cylinder()
,sphere()
,union()
- Модель может быть изменена путем изменения параметров радиуса и высоты, а также количества сфер для создания различных вариантов булавы.
Применение
Данная модель может быть использована в различных проектах, связанных с 3D-печатью, анимацией или видеоиграми. Она может служить как элемент декора, так и оружие для персонажей в играх. Проект также может быть полезен для изучения основ 3D-моделирования и программирования в OpenSCAD.
Заключение
Проект по созданию модели булавы демонстрирует возможности OpenSCAD в создании сложных форм с использованием простых геометрических примитивов. Это отличный пример для начинающих моделлеров, желающих освоить основы 3D-дизайна.
module mace() {
// Handle
translate([0, 0, -50])
cylinder(h = 100, r = 5, center = false);
// Head
translate([0, 0, 50])
union() {
for (i = [0 : 5]) {
rotate(i * 60)
translate([0, 10, 0])
sphere(r = 10);
}
for (i = [0 : 5]) {
rotate(i * 60)
translate([0, 15, 0])
sphere(r = 5);
}
}
}
mace();