3D моделирование . Построение 3D моделей на основе параметрических уравнений или поверхносте высших порядковй
Заказать уникальную курсовую работу- 31 31 страница
- 10 + 10 источников
- Добавлена 18.12.2016
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
В результате исходный куб разбивается на 27 одинаковых кубиков с длиной ребра, равной 1/3. Затем, удаляя 7 кубиков (один центральный и 6 из центра каждой из граней), противоположные грани исходного куба соединяются сквозным центральным отверстием квадратной формы. В результате из 27 остается 20 маленьких кубиков. Повторяя процедуру для каждой из частей скелета куба, получим объект, называемый губкой Менгера (рисунок 19). Рисунок 19. Вид губки МенгераНиже приведена реализация скрипта, выполняющего отрисовку губки Менгера.// Длина ребра кубаD=100;// Число уровней рекурсии при рисовании кубаn=3;//Рисование губки Менгераmodulemenger() {difference() { cube(D, center=true); //Исходныйкуб//Цикл поворота на 90 градусов по осям Oy и Oz относительно исходного соседних кубов разбиения, которые являются отверстиями в кубеfor (v=[[0,0,0], [0,0,90], [0,90,0]]) //Повороткуба-отверстия rotate(v) menger_hole(side=D, maxside=D, level=n); }}//Рисованиеразбиениякубаmodule menger_hole(side=1, maxside=1, level=1) {//Вычисляем длину стороны куба меньшего размера как трети от исходногоl=side/3;//Рисуем его по центруcube([maxside*1.1, l, l], center=true);//Если уровень рекурсии больше единицыif (level > 1) {//Цикл по позициям размещенияfor (i=[-1:1], j=[-1:1])//Если одна из них ненулеваяif (i || j)//Выполняем перенос на нее соседнего подкубаtranslate([0, i*l, j*l])//Рекурсивноерисованиесоседнегоподкубаmenger_hole(side=l, maxside=maxside, level=level-1);}}//Вызовпроцедурырисованияmenger();Результат отрисовки губки Менгера имеет вид, приведенный на рисунке 20. Рисунок 20. Вид губки Менгера в результате моделирования в OpenSСADКак видно из рисунка 20, полученная в OpenSСADпосредством использования рекурсии губка Менгера отображается верно, что говорит о верности приведенного алгоритма. Рассмотрим рисование циклической поверхности на примере тора. Ниже приведен код реализации//Вращение с вытягиваниемrotate_extrude(convexity = 40)//Перенос центра окружностиtranslate([20, 0, 0])//Рисование окружностиcircle(r = 5, $fn = 100);В данном случае можно выделить следующие этапы. На первом из них рисуется окружность, после чего производится ее размещение в точке с координатами [20, 0, 0] командой translate. Команда rotate_extrude выполняет вращение окружности с вытягиванием поверхности по направлению вращения. Получившаяся модель приведена на рисунке 21.Рисунок 21. Вид тора в OpenSСADПостроение тора предусматривает в нашем случае вытягивание окружности в направлении ее вращения. Однако, наряду с этим, в ряде случаев необходимо построение путем вытягивания проекции или сечения объекта в заданном направлении. В OpenSCADдля этого случая реализована функция linear_extrude. Рассмотрим пример ее применения. Пусть дан двумерный объект, представленный на рисунке 22. Рисунок 22. Модельный двумерный объектКак видно из рисунка 22, данный объект образован наложением прямоугольника и двух кругов, перенесенных на заданные позиции. Код его реализации приведен нижеmoduleflatObj(){//Построениеквадратаsquare(20,center=true);//Рисование кругов и их перенос на заданные позицииtranslate([10,0,0]) //Перенос кругаcircle(10);//Рисование кругаtranslate([-10,0,0]) //Перенос круга circle(10); //Рисование круга}flatObj();Вытянем двумерную проекцию по вертикали,добавив в код функцию linear_extrude, как показано ниже.moduleflatObj(){//Построениеквадратаsquare(20,center=true);//Рисование кругов и их перенос на заданные позицииtranslate([10,0,0]) //Перенос кругаcircle(10);//Рисование кругаtranslate([-10,0,0]) //Перенос круга circle(10); //Рисование круга}//Простоевытягиваниеtranslate([30,0,0])linear_extrude(height = 13) flatObj();translate([-30,0,0])//Вытягивание с поворотом вокруг оси OZ. //twist - уголповоротаlinear_extrude(height = 13,twist=180) flatObj();//scale- коэффициент масштабирования при отсечении. При scale=1 отсечение не происходит. При scale=0 получаем конус. //При 0
1. Зайцева Е. А. и Пунина Т. Г. Компьютерная графика [Книга]. - Тамбов : ГОУ ВПО "Тамбовский государственный технический университет" Педагогический интернет-клуб, 2006. – 116 с.
2. Грибовский А. А. Геометрическое моделирование в аддитивном производстве. Учебное пособие – СПб: Университет ИТМО, 2015. – 49 с.
3. Васильев В. Е., Морозов А. В. Компьютерная графика: Учеб. пособие. СПб.: СЗТУ, 2005. - 101 с.
4. Голованов Н. Н. Г61 Геометрическое моделирование : учебник для учреждений высш. проф. образования / Н. Н. Голованов. — М.: Издательский центр «Академия», 2011. — 272 с.
5. Дегтярев В.М. Компьютерная геометрия и графика : учебник для студ. учреждений высш. проф. образования / В.М.Дегтярев. — 2-е изд., стер. — М. : Издательский центр «Академия», 2011. — 192 с
6. А. А. Смирнов Трехмерное геометрическое моделирование. Учебное пособие по курсу "Основы автоматизации проектирования". Москва Издательство МГТУ им. Н.Э. Баумана 2008 – 40 с.
7. Соснин, Н. В. С66 Компьютерная графика. Математические основы. Версия 1.0 [Электронный ресурс] : электрон. учеб. пособие / Н. В. Соснин. – Электрон. дан. (4 Мб). – Красноярск : ИПК СФУ, 2008.
8. Тайманов И. А. Лекции по дифференциальной геометрии. I. Кривые и поверхности: Учеб. пособие. Новосибирск, 2005 г. – 47 с.
9. Руководство пользователя по OpenSCAD — Викиучебник. Режим доступа:ru.wikibooks.oxx.su›wiki/Руководство_пользователя_по_OpenSCAD
10. OpenSCAD The Programmers Solid 3D CAD Modeller. Режим доступа: http://www.openscad.org/
Вопрос-ответ:
Что такое 3D моделирование?
3D моделирование - это процесс создания трехмерных моделей объектов с помощью компьютерных программ. Оно позволяет создавать виртуальные модели, которые могут быть использованы в различных сферах, например, в архитектуре, инженерии, медицине и дизайне.
Какие методы используются для построения 3D моделей на основе параметрических уравнений или поверхностей высших порядков?
Для построения 3D моделей на основе параметрических уравнений или поверхностей высших порядков могут быть использованы различные методы. Одним из них является метод разбиения исходного объекта на более мелкие части и последующего соединения их в одну модель. Например, можно начать с куба, разбить его на 27 одинаковых кубиков и удалить некоторые из них, а затем соединить оставшиеся кубики в новую модель.
Какие результаты можно получить при использовании метода построения 3D моделей на основе параметрических уравнений или поверхностей высших порядков?
Используя метод построения 3D моделей на основе параметрических уравнений или поверхностей высших порядков, можно получить различные результаты. Например, можно получить новую модель, которая состоит из соединенных частей исходного объекта и имеет определенные формы и размеры. Также можно изменять параметры модели и получать разные варианты ее представления.
Какие объекты можно создавать с помощью 3D моделирования?
С помощью 3D моделирования можно создавать различные объекты. Например, в архитектуре с его помощью можно создавать виртуальные модели зданий или ландшафтов. В инженерии 3D моделирование применяется, например, для создания моделей механизмов или электрических схем. В медицине с помощью 3D моделирования можно создавать виртуальные модели человеческого тела для диагностики и планирования операций. И так далее.
Какими программами можно проводить 3D моделирование?
На рынке существует множество программ для 3D моделирования. Например, популярными программами для начинающих являются Blender, SketchUp, Tinkercad. Для профессиональных задач часто используются программы Autocad, Solidworks, 3ds Max и другие. Выбор программы зависит от нужных функций, сложности проекта и опыта пользователя.
Зачем использовать параметрические уравнения при 3D моделировании?
Использование параметрических уравнений позволяет создавать 3D модели, которые могут быть изменены без необходимости вручную пересоздавать модель. Такой подход позволяет экономить время и упрощает процесс создания и модификации 3D объектов.
Как происходит разбиение исходного куба на более мелкие кубики в 3D моделировании?
Исходный куб разбивается на 27 одинаковых кубиков с длиной ребра, равной 1/3. Затем семь кубиков, один центральный и шесть из центра каждой из граней, удаляются. Противоположные грани исходного куба соединяются сквозным центральным отверстием квадратной формы. В результате из 27 кубиков остается только 20 маленьких кубиков.
Какой объект мы получим после повторения процедуры разбиения для каждой части скелета куба в 3D моделировании?
После повторения процедуры для каждой из частей скелета куба мы получим объект, состоящий из 20 маленьких кубиков.
Какие основные преимущества у параметрического моделирования в 3D?
Параметрическое моделирование в 3D позволяет легко изменять параметры модели и получать разные варианты без необходимости создавать модель заново. Это упрощает процесс создания и модификации 3D объектов и экономит время. Кроме того, параметрическое моделирование способствует повышению точности и совместимости моделей.
Можно ли использовать параметрические уравнения для создания сложных поверхностей в 3D моделировании?
Да, с помощью параметрических уравнений можно создавать сложные поверхности высших порядков в 3D моделировании. Параметрические уравнения позволяют точно определить форму и параметры поверхности, что делает процесс создания сложных 3D моделей более гибким и удобным.