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

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #15 : 10 Июнь 2013, 16:26:10 »
... кстати, если не париться с расчетной сеткой, а делать средствами анимации, то есть в Blender такой инструмент как dynamic paint ...
... возможно его будет достаточно чтобы красить пластину в анимации ...

http://www.miikahweb.com/en/articles/blender-dynamicpaint-basics

http://blenderdiplom.com/index.php/tutorials/item/102-tutorial-dynamic-paint-ball-intro

... а как насчет openfoam+paraview? не надумал? ...
... просто у меня был материал на эту тему ...
http://blender-3d.ru/forum/index.php/topic,145.msg2696.html#msg2696
... если будет интерес к openfoam или вопросы по расчетной сетке попробуй поспрашивать на форуме freecae.ru ...
Для Кота

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #16 : 14 Июнь 2013, 07:36:44 »
... qsxesz, как обстоят дела с алгоритмом расчета сетки? ...
... посмотри, вот еще есть опенсоус http://www.code-aster.org/V2/spip.php?rubrique18 для расчета сеток, может что пригодится ...

http://www.code-aster.org/V2/UPLOAD/DOC/Presentation/plaquette_aster_en.pdf
Для Кота

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #17 : 14 Июнь 2013, 14:05:19 »
был немного занят сессией,сейчас пишу функции расчета температуры (как она будет изменяться со временем, в течении года , месяца , суток).С сеткой дела отвратительно, но буду стараться решать проблему.Спасибо за советы.Как будет результат обязательно отпишусь.

Оффлайн qsxesz

  • Житель
Re: Анимация меша через python
« Ответ #18 : 14 Июнь 2013, 14:17:00 »
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()
Вопрос по коду ... собственно пример изменяет значение цвета в зависимости от абстрактного коэффициента (который для примера взят от значения удаленности конкретного вертекса от базовой точки) .. а как изменить начальное значение допустим  начальная температура будет 50 , а конечная 5?прошу простить за глупые вопросы, но голова совсем не соображает в данный момент.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #19 : 14 Июнь 2013, 17:07:13 »
... тут все просто - тебе нужна условная шкала ...
... допустим у тебя интервал температур t: от 50 до 5, тогда связь с единичным интервалом n: от 0 до 1 будет следующей
... n =  (50-t)/(50-5) ...

... теперь переведем это в цвет - опять допустим что красный цвет соответвует n=0 или t=50 а синий цвет, соответственно, соответствует n=1 или t=5 ...
... тогда цвет для любой температуры от 50 до 5 будет color = [1-n,0,n] ...
« Последнее редактирование: 14 Июнь 2013, 17:23:55 от sungreen »
Для Кота

Оффлайн realivan

  • Житель
Re: Анимация меша через python
« Ответ #20 : 16 Июль 2013, 11:33:06 »
Привет. Подскажите, как управлять прозрачностью(alpha) объекта через Python.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Анимация меша через python
« Ответ #21 : 16 Июль 2013, 17:59:26 »
Код: (python) [Выделить]
import bpy
import random
obj = bpy.data.materials['Material'].alpha = random.random()

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

Оффлайн realivan

  • Житель
Re: Анимация меша через python
« Ответ #22 : 16 Июль 2013, 18:48:18 »
Спасибо. С этим я все понял.
А вот как в bge? Например, я кликаю на какой-нибудь объект а другой меняет прозрачность.