Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2014, 00:07   #1
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию Создание модели из треугольников.

Здравствуйте, подскажите пожалуйста как можно сделать модель состоящую из правильных треугольников в качестве плоскостей?
В Blender или в Max.
Либо может есть какие нибудь программы которые из обычных моделей конвертят в подобное.
Изображения
Тип файла: jpg загружено.jpg (30.2 Кб, 89 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 20.04.2014, 01:01   #2
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

я вам хотел было написать статью о том, что любая 3д-модель состоит из треугольников,
но допер, что вам надо не просто треугольники, а обязательно правильные, правильно?
А если так, то надо учитывать, что точную копию модели мы получить не сможете.
Попробуйте хотя бы куб =)
Куб в принципе невозможно построить из правильных треугольников.
Да и ваша сфера то при ближайшем рассмотрении не состоит из правильных треугольников.
на картинке можно найти как минимум 3 места, где треугольники образуют пятиугольник,
в отличие от большей части поверхности, которая состоит из шестиугольников.
А значит не все треугольники в сфере одинаковые.

WorldMaster, если не секрет, зачем вам это вообще?

Последний раз редактировалось xrob; 20.04.2014 в 01:10.
xrob вне форума Ответить с цитированием
Старый 20.04.2014, 10:44   #3
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Вроде в гугл говорит, что вам нужен правильный многоугольник (до которого ваша сфера будет "загрублена"), и его грани разбиваете на треугольники (для додекаэдра вам надо поставить "точку" в центре каждой грани", для икосаэдра ничего делать не надо).


Вообще, по логике, задача сводится к поиску множества точке удовлетворяющих двум условиям: точка расположена на расстоянии R от центра сферы. и точка расположена на расстоянии N от соседних точек. Первую точку можно брать произвольно, с учетом радиуса. (вообще, судя по тому, что икосаэдр самое большое платоново тело, эта задача не имеет решения менее "загрубленого", чем икосаэдр).


Upd.

Я немного ошибся. Под вашу задачу подходят, в принципе, не только платоновы тела. Попробуйте сделать как я предложил с множеством точек. очевидно, что расстояние N как-то пропорционально радиусу R, но вот пропорцию я не могу вам подсказать.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 20.04.2014 в 10:56.
ROD вне форума Ответить с цитированием
Старый 20.04.2014, 11:07   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
Вроде в гугл говорит, что вам нужен правильный многоугольник (до которого ваша сфера будет "загрублена"), и его грани разбиваете на треугольники (для додекаэдра вам надо поставить "точку" в центре каждой грани", для икосаэдра ничего делать не надо).


Вообще, по логике, задача сводится к поиску множества точке удовлетворяющих двум условиям: точка расположена на расстоянии R от центра сферы. и точка расположена на расстоянии N от соседних точек. Первую точку можно брать произвольно, с учетом радиуса. (вообще, судя по тому, что икосаэдр самое большое платоново тело, эта задача не имеет решения менее "загрубленого", чем икосаэдр).


Upd.

Я немного ошибся. Под вашу задачу подходят, в принципе, не только платоновы тела. Попробуйте сделать как я предложил с множеством точек. очевидно, что расстояние N как-то пропорционально радиусу R, но вот пропорцию я не могу вам подсказать.

Сфера тут как пример выступает. Основная задача разбить полигон на подобные многоугольники. Триангуляция дает слишком грубое разбиение.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 20.04.2014, 11:33   #5
Develop
Пользователь
 
Регистрация: 26.06.2010
Сообщений: 52
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Триангуляция дает слишком грубое разбиение.
С чего бы это? Триангуляция Делоне как раз разбивает на оптимальные, с точки зрения рендера, треугольники.
Цитата:
Триангуляция Делоне максимизирует минимальный угол среди всех углов всех построенных треугольников, тем самым избегаются «тонкие» треугольники.
Develop вне форума Ответить с цитированием
Старый 20.04.2014, 12:24   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Develop Посмотреть сообщение
С чего бы это? Триангуляция Делоне как раз разбивает на оптимальные, с точки зрения рендера, треугольники.
Вы считаете что ЭТО оптимальное разбиение что-ли? А если будет ломаный полигон то треугольники будет вообще разными размерами от микроскопического до огромнейших.
А нужно чтобы все были унифицированы.

Делается это для того чтобы потом построить физическую модель с определенными параметрами. Поэтому связи должны быть максимально однородными.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 20.04.2014, 13:02   #7
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Если вам нужно не для рендера, а для рассчетов, то попробуйте метод конечных элементов - максимальное повторение "правильной" геометрии (при достаточно маленьких элементах) и полная однородность элементов (ахтунг! нужно много памяти!). Им, например, HFSS симулирует всякие радости.

Вообще мы с вами щас обсуждаем разбиение на треугольники сферического коня в вакууме. Если не военная тайна, то лучше конкретизировать что вы хотите смоделировать.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 20.04.2014 в 13:08.
ROD вне форума Ответить с цитированием
Старый 20.04.2014, 18:55   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
Вообще мы с вами щас обсуждаем разбиение на треугольники сферического коня в вакууме. Если не военная тайна, то лучше конкретизировать что вы хотите смоделировать.
А что вам не понятно то? Есть выпуклый полигон, его надо разбить на треугольники максимально похожие между собой.
Что еще то тут можно конкретизировать то?

Метод конечных элементов конечно красиво, но сухие формулы в данный момент не совсем то что нужно. Я думал 3Д редакторы умеют подобные вещи делать, ну если не редакторы то хотя бы библиотеки какие нибудь, на любых языках.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 20.04.2014, 20:01   #9
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

ну тот же 3d Max умеет рисовать сферу заданного радиуса, хотя я понятия не имею, на какие треугольники он ее поверхность разбивает.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 20.04.2014, 23:20   #10
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
ну тот же 3d Max умеет рисовать сферу заданного радиуса, хотя я понятия не имею, на какие треугольники он ее поверхность разбивает.
Чего вы к сфере прицепились? Говорю же это пример который в интернете нашел. Основная задача разбить ЛЮБОЙ выпуклый полигон на треугольники МАКСИМАЛЬНО однородной формы.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание модели игры в поддавки hewlett Помощь студентам 1 03.06.2013 05:41
Создание анимированной трехмерной модели (C#) Imp333 Фриланс 1 15.11.2012 15:55
Реализовать программу сбора елки из треугольников. Используя объектные структуры, создать 6 треугольников разного размера dyozik Общие вопросы Delphi 4 05.12.2011 11:52
Создание тестовой модели natasha.fisichev Общие вопросы Delphi 1 30.04.2010 17:50