Jump to content
  • Здравствуйте, гость! 

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

  • 0
Saxel

Визуализация научного моделирования

Question

Saxel

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

#момент_времени      координата_Х      координата_Y      координата_Z      параметры_объекта(размер,поворот,...)

 

которую нужно превратить в видео, где объект движется в пространстве.

Это в принципе возможно в C4D? В каком направлении копать/гуглить?

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 1
molebox
Posted (edited)

Наверное, в сторону Xpresso. Там есть математические ноды.  По xpresso, советую посмотреть на ютубе канал Михаила Юдина (ну и просто в ютубе вбить xpresso). Также у него есть целый курс (оказалось, их даже два. По 45$ за каждый), но платный.

Либо скриптинг на Питоне. (или xpresso + Питон).

Вам же нужно еще файл с данными открывать? Я не знаю, можно ли на встроенном Питоне это делать. Скорее можно, чем нет.

Но может еще кто чего подскажет. 

з.ы. возможно, 3д игровой движок еще подойдет? Типа Unity 3d (C#) или даже встроенный в blender (Python)

==========

Нашёл канал Юдина и что-то я вижу в основном только Питон и демо из курса (по одной минуте от всего курса. Но можно понять, что есть в курсе). - https://www.youtube.com/playlist?list=PLA7nZocO__B-STkw3DEPU85LKig_yCJvW

https://www.youtube.com/playlist?list=PLA7nZocO__B-705_rFvOUmY0Q_KkI5jbG

 

То ли он удалил некоторые видео, то ли я что-то напутал. Но если порыскать среди всех его видео, кое-что всё-же есть

Edited by molebox
  • Повышение репутации (+1) 1

Share this post


Link to post
Share on other sites
  • 0
Punk T-34

Если бы вы показали кусочек исходных данных, то было бы легче посоветовать.

Например, "момент времени" — это какая-то временная отметка при которой меняются свойства объекта, такие как координаты? Какие интервалы между моментами времени: 30 временных отметок в секунду или может быть каждые 2 секунды? Если интервал большой, то изменение свойств должно быть с плавным переходом или "ступенькой"? И т.д. и т.п.

Share this post


Link to post
Share on other sites
  • 0
Saxel
1 минуту назад, Punk T-34 сказал:

Если бы вы показали кусочек исходных данных, то было бы легче посоветовать.

Например, "момент времени" — это какая-то временная отметка при которой меняются свойства объекта, такие как координаты? Какие интервалы между моментами времени: 30 временных отметок в секунду или может быть каждые 2 секунды? Если интервал большой, то изменение свойств должно быть с плавным переходом или "ступенькой"? И т.д. и т.п.

Выводить данные из кода в файл можно с любым разрешением во времени. Т.е. можно избежать необходимости интерполяции между заданными положениями. Для определенности можно сказать, что каждая строчка - это один кадр, т.е. 30 положений и других параметров объектов на секунду.

#момент_времени,мсек      координата_Х,см      координата_Y,см      координата_Z,см      размер,см      поворот_по_Х,град ...
000.00                    0.00                 0.00                 0.00                 1.00           30.00                  
030.00                    1.00                -0.15                 0.00                 1.01           29.17                  
060.00                    2.00                -0.33                 0.01                 1.02           28.01
...

 

Share this post


Link to post
Share on other sites
  • 0
Punk T-34
Posted (edited)

@Saxel, если нужно динамически подгружать данные из внешней базы данных, то тут как предположил @molebox уже без Питона не обойтись.

А может быть в Синеме есть какой-то хитрый эффектор, который можно использовать как хранилище табличных данных? (но я о таком не знаю).

Когда данные уже в Синеме, то делать скорее всег нужно будет через Xpresso. Как сказал @molebox, там есть математические функции. Выглядит это примерно так:

image.png.43e9bc6d1b8f937ac0f6a3c4e06169f4.png

Это  абстрактный пример, только чтобы показать как это работает. Сцену приложил.
В вашем случае вместо нода Time нужно брать данные из таблицы. И другие свойства оттуда же.

Ноды для математических операций находятся здесь, в пункте Calculate. Там же формула:

image.png.37816a039a95d886b4066e77c4dcec39.png

Весь доступный синтаксис для формул описан в документации Синемы:

image.png.ba95e88e7c2d29f38d3ee98051e90443.png

 

Но сам я бы делал что-то такое в three.js, потому что знаком с JavaScript. Там трансформировать объект по такой таблице совсем не сложно. Вопрос уже только в сложности необходимой графики/рендера.

xpresso-math.zip

image.png

image.png

Edited by Punk T-34
  • Повышение репутации (+1) 1

Share this post


Link to post
Share on other sites
  • 0
molebox
Posted (edited)

Искал видео для другого ответа про риггинг, и заодно увидел у того же автора про Xpresso - https://www.youtube.com/playlist?list=PLrrCvx6LQpILzgqY8KAo4Gpm4whCFs1jr

---------

Интересный примерчик, может частично помочь - https://www.c4dcafe.com/ipb/forums/topic/68561-python-example-create-animation-from-text-file/

http://www.c4dru.info/forums/topic/11609-eksport-tekstovyh-cifrovyh-dannyh-iz-cinema-4d/  - это скорее обратный пример, но кое-что можно будет взять, наверное.

 

Edited by molebox

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.