Модель Солнца с лучами
Описание проекта: Модель Солнечной системы
Проект представляет собой 3D-модель Солнечной системы, созданную с использованием языка программирования OpenSCAD. Модель включает в себя Солнце и восемь планет, каждая из которых имеет свои уникальные характеристики, такие как радиус, расстояние от Солнца, цвет и название.
Основные компоненты проекта:
-
Солнце:
- Солнце представлено в виде сферы с радиусом 20 единиц.
- Вокруг Солнца расположены солнечные лучи, выполненные в виде кубов, которые равномерно распределены по окружности. Каждый луч вращается на 30 градусов, создавая эффект солнечного сияния.
-
Планеты:
- Каждая планета моделируется с использованием функции
planet
, которая принимает параметры: радиус, расстояние от Солнца, цвет, название и смещение по высоте для текста. - Планеты представлены в виде сфер, окрашенных в различные цвета, что позволяет легко различать их.
- Названия планет отображаются над каждой из них с помощью функции
linear_extrude
, что создает 3D-эффект текста.
- Каждая планета моделируется с использованием функции
Планеты в модели:
- Меркурий: радиус 2, расстояние 30, цвет синий, смещение высоты 1.
- Венера: радиус 3, расстояние 40, цвет красный, смещение высоты 3.
- Земля: радиус 1.5, расстояние 50, цвет зеленый, смещение высоты 5.
- Марс: радиус 2.5, расстояние 60, цвет желтый, смещение высоты 7.
- Юпитер: радиус 1, расстояние 70, цвет оранжевый, смещение высоты 9.
- Сатурн: радиус 1.8, расстояние 80, цвет фиолетовый, смещение высоты 11.
- Уран: радиус 1.2, расстояние 90, цвет циан, смещение высоты 13.
- Нептун: радиус 2.2, расстояние 100, цвет розовый, смещение высоты 15.
Цели проекта:
- Создание наглядной и интерактивной модели Солнечной системы для образовательных целей.
- Развитие навыков программирования и 3D-моделирования с использованием OpenSCAD.
- Возможность дальнейшего расширения проекта, например, добавление спутников, астероидов или других объектов.
Проект может быть использован как в учебных заведениях для изучения астрономии, так и для личного творчества и экспериментов с 3D-дизайном.
module sun() {
difference() {
// Sphere for the sun
sphere(r = 20);
// Rays of the sun
for (i = [0 : 11]) {
rotate([0, 0, i * 30]) {
translate([25, 0, 0]) {
cube([5, 5, 5], center = true);
}
}
}
}
}
module planet(radius, distance, color, name, height_offset) {
color(color) {
translate([distance, 0, 0]) {
sphere(r = radius);
}
}
translate([distance, 0, radius + height_offset]) {
linear_extrude(height = 1) {
text(name, size = 2, valign = "center", halign = "center");
}
}
}
// Call the sun module
sun();
// Add planets with names and adjusted height offsets
planet(2, 30, "blue", "Mercury", 1); // Mercury
planet(3, 40, "red", "Venus", 3); // Venus
planet(1.5, 50, "green", "Earth", 5); // Earth
planet(2.5, 60, "yellow", "Mars", 7); // Mars
planet(1, 70, "orange", "Jupiter", 9); // Jupiter
planet(1.8, 80, "purple", "Saturn", 11); // Saturn
planet(1.2, 90, "cyan", "Uranus", 13); // Uranus
planet(2.2, 100, "pink", "Neptune", 15); // Neptune