Автор Тема: Анимация меша через python  (Прочитано 4725 раз)

Оффлайн qsxesz

  • Житель
Анимация меша через python
« : 31 Май 2013, 14:42:36 »
Прошу дать совет как это реализовать: дается фигура,допустим пластина или труба снизу она будет охлаждаться сверху нагреваться,и анимацию добавить красный и синий цвет разной интенсивности в зависимости от температуры,температуру высчитывавать с помощью уравниния теплопроводности и нужно все это сделать через blender и питон

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #1 : 31 Май 2013, 14:56:39 »
... всё это анимируемо и программируемо ...
... не понятно какой совет нужен ...
... нужно всё это сделать и показать уже готовый результат? ...
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #2 : 31 Май 2013, 15:00:02 »
нет,посоветуйте литературу ,у меня blender 2.67 , скачал книгу по питону в blender 2,49, там многое не работает, и совсем не похоже, также можете посоветовать скрипты с помощью которых это все можно будет проще сделать, что нибудь похожее   короче

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #3 : 31 Май 2013, 15:07:57 »
... посмотри апи, там есть описание и примеры ...
http://www.blender.org/documentation/blender_python_api_2_67_1/

... у этой задачи есть срок? ...
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #4 : 31 Май 2013, 15:11:04 »
да,месяц примерно,буду разбираться ,спасибо,если есть еще мысли и советы ,буду рад узнать их.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #5 : 31 Май 2013, 16:01:39 »
... думаю, что есть несколько вариантов решения ...
... можешь дать более подробное описание задачи? ...
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #6 : 31 Май 2013, 18:25:31 »
дан объект пластина он снизу должен охлаждаться ,а сверху нагреваться ,и с помощью уравнения теплопроводности определить,температуру тела и изображалось чтобы это все в синем и красном цвете разной интесивности в зависимости от температуры тела,насчет уравниния теплопроводности поискал и вот какие параметры там есть:1.   Геометрические условия, характеризующие форму и размеры тела, в котором протекает процесс теплообмена.
2.   Физические условия, характеризущие физические свойства тела (теплопроводность и температуропроводность), а также закон распределения внутренних источников теплоты (λ, ρ, c).
3.   Граничные условия, характеризующие особенности теплового взаимодействия граничной поверхности тела с окружающей средой.
4.   Временные, или начальные, условия, характеризующие состояние тела в исходный момент времени, или иначе, определяющие распределение температуры в любой точке тела в некоторый момент времени, который для исследуемого процесса теплообмена принимается за начальный
Пластину думаю взять из железа,как я понял ее нужно разбить на фрагменты,нарисовать сетку или как она в блендере называется не знаю,что то вроде этого что на рисунке, как решать уравнение я должен разобраться сам,а вот с тем чтобы это нарисовать в blender ,сделать анимацию ,пока даже представления не имею как


[вложение удалено Администратором]

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #7 : 31 Май 2013, 19:14:42 »
... кстати есть же специализированный софт например openfoam + paraview ...
... там такие задачи есть в примерах ...
Для Кота

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #8 : 31 Май 2013, 19:40:45 »
... вот посмотри стандартные солверы ...
http://www.openfoam.org/docs/user/standard-solvers.php#x13-890003.5

... а вот демка визуализации в паравьюв ...
OpenFOAM pitzDaily LES tutorial case
Numerical simulation of Mixing characteristics of parallel air jets by Nitin
« Последнее редактирование: 31 Май 2013, 19:42:19 от sungreen »
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #9 : 03 Июнь 2013, 14:21:39 »
это конечно все хорошо, но мне нужно сделать именно с помощью blender

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #10 : 03 Июнь 2013, 16:16:59 »
>> но мне нужно сделать именно с помощью blender
... готов всячески этому способствовать ...
... могу для примера подготовить небольшую анимацию изменения цвета пластины в зависимости от абстрактного коэффициента, нужно? ...
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #11 : 03 Июнь 2013, 19:33:36 »
Конечно, было бы отлично

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #12 : 03 Июнь 2013, 19:54:16 »
... тогда сегодня-завтра подготовлю пример ...
... а как расчеты будут делаться в python? уже есть какие нибудь наброски решения? ...
... кстати в openfoam можно делать расчеты а данные использовать в Blender ...
... и еще вопрос это будет интерактивная анимация или просто отрендеренный мувик? ...
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #13 : 04 Июнь 2013, 19:39:56 »
наброски решения есть на с++, думаю переделать на python,интерактивную анимацию буду пытаться сделать

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #14 : 05 Июнь 2013, 19:42:46 »
>>нарисовать сетку или как она в блендере называется не знаю
... если делать через сетку, то есть такое свойство как vertex_colors ...
... в принципе программно можно управлять цветом любого фейса поверхности ...
... естественно для задачи теплопроводности этот цвет будет зависеть от рассчитанных значений температуры ...
... собственно пример изменяет значение цвета в зависимости от абстрактного коэффициента (который для примера взят от значения удаленности конкретного вертекса от базовой точки) ...
... более того для анимации пришлось задействовать addon AnimAll, который привязывает значения vertex colors к лючам анимации ( в примере их два, в 1 и 250 кадрах) ...



0001 0250

Код: (Python) [Выделить]
import bpy
import mathutils

def vec(x,y,z):
    return mathutils.Vector(( x,y,z))

def recalc(vb,t):
    obj = bpy.data.objects['Cube'].data
    color_map_collection = obj.vertex_colors

    if len(color_map_collection)==0:
        color_map_collection.new()

    color_map = color_map_collection['Col']
    color_map.active = True
 
    i = 0
    print(vb)
    for poly in obj.polygons:
       for iv in poly.vertices:
            v = obj.vertices[iv].co
            v = vec(v[0],v[1],v[2])
            l = (v-vb).length/t
            color_map.data[i].color = [l,0,1-l]
            i += 1
 
    #bpy.ops.object.mode_set(mode='VERTEX_PAINT')


def main():
    recalc(vec(0,0,3),10)
   
main()
вот сам файл:
http://files.mail.ru/D89369D1DF16464A871DB1836DDC5F61
« Последнее редактирование: 05 Июнь 2013, 19:50:51 от sungreen »
Для Кота