Michel Anders - Написание скриптов для Blender 2.49

Здесь есть возможность читать онлайн «Michel Anders - Написание скриптов для Blender 2.49» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Написание скриптов для Blender 2.49: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Написание скриптов для Blender 2.49»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Расширьте мощность и гибкость Блендера с помощью Питона: высокоуровневого, легкого для изучения скриптового языка

Написание скриптов для Blender 2.49 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Написание скриптов для Blender 2.49», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Сейчас основным компонентом цены 3D-печати модели является суммарный объём материала, который будет использован. Часто будет возможно разработать вашу модель как полый объект, который тратит меньше материала при производстве, но это очень неудобно - отправлять промежуточные версии вашей модели снова и снова, чтобы программное обеспечение изготовителя вычисляло объем и давало Вам ценовое предложение. Так что мы хотим иметь скрипт, который может вычислить объем меша достаточно точно.

Общий метод вычисления объема меша иногда именуется Формула Surveyor's(землемера), так как он связан со способом землемеров для вычисления объема холма или горы триангуляцией их поверхности.

Основная мысль в том, чтобы разбить триангулированный меш на множество колонн, которые имеют основание на плоскости xy.

Площадь поверхности треугольника проецируется на плоскость xy, умножается на среднюю координату z трех вершин - это даёт объем такой колонны. Суммирование по всем этим объемам даст в результате объем полного меша (смотри следующий рисунок).

Есть пара вещей которые должны быть приняты во внимание Вопервых меш может - фото 24

Есть пара вещей, которые должны быть приняты во внимание. Во-первых, меш может оказаться расширенным вниз от плоскости xy. Если мы создаем колонну от грани, которая лежит ниже плоскости xy, произведение спроецированной площади и средней координаты z будет отрицательным числом, так что мы должны вычесть эту величину, чтобы получить объем.

Вовторых меш может лежать полностью или частично выше плоскости xy Если мы - фото 25

Во-вторых, меш может лежать полностью или частично выше плоскости xy. Если мы взглянем на пример на рисунке сверху, мы увидим что объект имеет два треугольника, которые дают вклад в объем объекта, верхний и нижний (вертикальные треугольники имеют нулевую спроецированную площадь, так что они не дают никакого вклада). Так как обе верхняя и нижняя грани лежат выше плоскости xy, мы должны вычесть объем колонны, создаваемой от нижней грани из объёма, созданного верхней гранью. Если объект будет полностью ниже плоскости xy, он будет с другой стороны, и мы должны будем вычесть объем верхней колонны из объема нижней колонны.

Мы можем сказать, что действие, которое нужно выполнить, определяется направлением нормалей наших треугольников. Если, например, треугольник - выше плоскости xy, но его нормаль указывает вниз (она имеет отрицательный z-компонент), тогда мы должны вычесть рассчитанный объем. Следовательно важно, чтобы все нормали единообразно указывали наружу (в режиме редактирования выберите все грани и нажмите Ctrl + N ).

Если мы принимаем во внимание все четыре возможности (нормаль грани направлена вверх или вниз, грань выше или ниже плоскости xy), мы можем написать следующую схему для нашей функции:

1. Убедиться, что у всех граней нормали единообразно указывают наружу.

2. Для всех граней

• Вычислить z-компоненту вектора нормали грани Nz

• Вычислить произведение P среднего числа z-координат и площади спроецированной поверхности.

• Если Nz положительно: прибавить P

• Если Nz отрицательно: вычесть P

Этот отличный алгоритм работает для простых объектов без отверстий так же, как и для объектов, содержащих отверстия (например, тор), или даже полых (то есть, содержащих объект, полностью заключенный в другом объекте), примеры приведены на следующем скриншоте:

Поскольку мы допускаем что произведение площади и координаты z может быть - фото 26

Поскольку мы допускаем, что произведение площади и координаты z может быть отрицательным, мы должны проверять только на направления нормали грани, чтобы охватить все ситуации.

Заметьте, что для меша необходимо быть закрытым и быть многогранником (manifold): Там не должно быть никаких отсутствующих граней, а также не должно быть никаких рёбер, которые не разделяют ровно двух граней, таких, как внутренние грани.

Важная часть кода показана здесь полный скрипт называется volumepy def - фото 27

Важная часть кода показана здесь (полный скрипт называется volume.py):

def meshvolume(me):

volume = 0.0

for f in me.faces:

xy_area = Mathutils.TriangleArea(vec(f.v[0].co[:2]),

vec(f.v[1].co[:2]),vec(f.v[2].co[:2]))

Nz = f.no[2]

avg_z = sum([f.v[i].co[2] for i in range(3)])/3.0

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Написание скриптов для Blender 2.49»

Представляем Вашему вниманию похожие книги на «Написание скриптов для Blender 2.49» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Написание скриптов для Blender 2.49»

Обсуждение, отзывы о книге «Написание скриптов для Blender 2.49» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x