Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 3D Графика, Отрисовать в 3D массив параллелепипедов  
:(
    Опции темы
НеуФазендник
Дата 12.4.2014, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Добрый день.
Есть массив координат паралелепипедов и таблица свойств, определяющая цвета и текстуру.
Мне нужна 3D визуализация.
Какие объекты и функции для этого подойдут?
Допускаю не обязательно рисовать в VBA, но тогда нужен совет по экспорту данных из Excel в среду, которая отрисует 3D рисунок.
PM MAIL   Вверх
НеуФазендник
Дата 13.4.2014, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



ActiveSheet.Shapes.AddShape(msoShapeCube,
В целом мне нравится этот объект. Он бы подошел для моих нужд.
Но у меня подозрение, что у него нет свойства, позволяющего его разворачивать в любой плоскости.
Т.к. плоскостей разворота может быть 3, а свойство IncrementRotation, логично предположить, только одной плоскостью ведает. И таким образом msoShapeCube невозможно ориентировать абсолютно любым способом. Я правильно понимаю ситуацию?
PM MAIL   Вверх
НеуФазендник
Дата 14.4.2014, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



С разворотом вроде бы разобрался сам так же, хотя с некоторыми оговорками.
есть свойства 
RotationX, RotationY, RotationZ. 
Пример применения:
Код

ActiveSheet.Shapes.AddShape(msoShapeCube, 100, 200, 40, 60).Select
With Selection.ShapeRange.ThreeD
.RotationX = 20
  
Однако остается два но.
1. Изначально, когда во всех плоскостях свойство Rotation нулевое, куб (параллелепипед) уже выглядит развернутым для наблюдателя. Тогда вопрос: каковы координаты наблюдателя в той системе координат, в которой рисуется куб изначально?
2. Не вижу ни где регулировки третьего измерения. Оно выставляется каким-то волшебным образом по умолчанию при генерации очередного объекта. В свойствах объекта есть только два измерения: ширина и высота. А как же устанавливать третье?

Конечно, смешно публично обсуждать с самим собой все эти вопросы. Однако, возможно найденные мною или не найденные ответы кому-то в будущем помогут в решении аналогичной задачи. Так что, описываю свой путь в решении в надежде на это.
PM MAIL   Вверх
НеуФазендник
Дата 16.4.2014, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 9.5.2006

Репутация: нет
Всего: 2



Покумекав на параллельном форуме http://www.planetaexcel.ru/forum/index.php...t#message471291
на данную тему пришел к выводу, что стандартных средств Excel для тривиального решения этой задачи нет.
Объект Shape Cube не может быть использован, т.к всё таки является двумерным изображением трёхмерного объекта, а не самим трёхмерным объектом. Поэтому его использование вызовет проблемы с попыткой обзора с разных ракурсов.
В итоге на данный момент принял решение рисовать каждый куб созданием объектов - плоскостей. Каждый из которых наносить на "портрет" в определенной последовательности с учетом того, как в реальной ситуации они бы следовали друг за другом для глаз наблюдателя. Самым сложным является алгоритм установления этой последовательности.
Принято решение последовательно вычленять из всего многообразия плоскостей ту, которая самая ближняя к обозревателю и не перекрывается ни полностью ни частично никакой другой плоскостью. После того, как будут вычленены все плоскости, следует их отрисовать в обратной последовательности. Тогда картина будет изображать реальный трёхмерный объект, сложенный параллелограммами, состоящими из отдельных плоскостей.
PM MAIL   Вверх
saxarnajaM
Дата 20.7.2016, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.7.2016

Репутация: нет
Всего: нет



Вы можете заказать предметную 3d визуализацию тут: http://www.fbtstudio.com/ru/predmetnaya-vizualizaciya
Цены у них доступные и делают все быстро.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1225 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.