2013-07-15 2 views
1

мой вопрос в том, как я могу выбрать случайные числа точек (например, в этом скрипте) решетки или вершины объекта или лица или всего или полностью случайного выбора из списка в python.случайный выбор by maya-python

пожалуйста сначала объяснить случайный выбор на этом сценарии

cm.select ('ffd1Lattice.pt [:] [:] [:]', г = True)

и, пожалуйста, после того, что объяснить случайный выбор по спискам и по каждому методу.

наилучшими пожеланиями

import maya.cmds as cm 
import sys 
import random as rand 

myList = cm.ls (sl = True) 


def softIt(*arg): 
    cm.polySmooth(c = True , dv = 1 , kb = False) 

def randomize(*arg): 
    myList = cm.ls (sl = True) 
    for i in myList: 
     cm.lattice(dv=(4, 5, 4), oc=True) 
     cm.select('ffd1Lattice.pt[:][:][:]',r=True) 
     cm.xform(r = True , t = [ rand.uniform(-1,1) , rand.uniform(-1,1) , rand.uniform(-1,1)] ) 

cm.headsUpMessage('this script just work with one object at time', verticalOffset=250) 


cm.window(t = 'Randomaize' , s = False) 
cm.columnLayout() 
cm.button(l = 'do it' , c = randomize , w = 200) 
cm.button(l = 'soft it' , c = softIt , w = 200) 
cm.showWindow() 

sys.stdout.write("this script just work with one object at time\t\"script by Amin khormaei\"") 

ответ

0

Если вы не понимая, что мало сниппет, то вы должны сначала понять, как работает нарезки списка. Theselinks должен указывать вас в правильном направлении.

0

Линия:

cm.select('ffd1Lattice.pt[:][:][:]',r=True) 

говорит в основном "выбрать все контрольные точки в решетке. Однако, похоже, ошибка в майа 2011 (не знаю позже), которая попытается выбрать точки, которые не существуют. 1x1x1 решетка должна иметь 8 номеров точек 0-1 во всех трех измерениях - но с помощью фрагмента кода, а затем призывающих Ls на результат сообщит

// result: 'ffdLatticeShape.pt[0:2][0:2][0:2]' // 

... по крайней мере, это делает на моей машине - и что должно быть невозможно. Я бы избегал использовать форму [:] с решетками (на самом деле форма [*] имеет ту же ошибку. Ouch.). Однако он отлично работает с правильными вершинами.

Для вашего конкретного приложения вы хотите переместить все точки на одну и ту же случайную сумму - что предлагает ваш фрагмент - или все точки разных случайных сумм? Или случайные множества точек случайным количеством? код будет отличаться для каждой альтернативы.

 Смежные вопросы

  • Нет связанных вопросов^_^