회원 로그인
|
Python for Maya - 4. set (집합)
기반으로 복습하는 차원에서 재정리한 것입니다.
set은 수학에서의 집합과 똑같다.
집합의 종류에는 전체 집합, 합집합, 교집합, 차집합 등등 있다. 이것을 python에서도 쉽게 구현할 수가 있다.
import maya.cmds as cmd
항상 시작할 땐 maya.cmds를 import 해주고...
object 여러개를 만들고 일부를 선택하여 아래 code를 실행한다.
grp_a = set(cmd.ls(sl=1))
다시 다른 object를 선택하고 아래 code를 실행한다.
grp_b = set(cmd.ls(sl=1))
변수 grp_a와 grp_b에 각 선택한 object를 저장한 것이다.
grp_a와 grp_b를 가지고 set을 해보겠다.
* 합집합 (union) |
cmd.select(list(grp_a | grp_b))
* 교집합 (intersection) &
cmd.select(list(grp_a & grp_b))
* 차집합 (difference) -
cmd.select(list(grp_a - grp_b))
* 대칭차집합 (symmetric difference) ^
cmd.select(list(grp_a ^ grp_b))
간단하면서 여러가지 응용이 가능할 듯 싶다.
grp_a에 들어 있는 자료를 확인해 보자.
grp_a # Result: set([u'nurbsSphere9', u'nurbsSphere8', u'nurbsSphere19', u'nurbsSphere18', u'nurbsSphere3', u'nurbsSphere13', u'nurbsSphere15', u'nurbsSphere14', u'nurbsSphere7', u'nurbsSphere12', u'nurbsSphere10', u'nurbsSphere20']) #set 자료 형태로 되어 있는걸 알 수 있다.
이것을 많이 사용하는 list 자료 형태로 바꾸고자 한다면...
list(grp_a) # Result: [u'nurbsSphere9', u'nurbsSphere8', u'nurbsSphere19', u'nurbsSphere18', u'nurbsSphere3', u'nurbsSphere13', u'nurbsSphere15', u'nurbsSphere14', u'nurbsSphere7', u'nurbsSphere12', u'nurbsSphere10', u'nurbsSphere20'] #자료형을 맘대로 바로바로 변경할 있다는 것이 python의 최대 장점이다.
────────────────────────────────────────────────────────
source : http://cafe.naver.com/digitaldream/436 - 'Maya Python 시작하기' 4) set
댓글 0개
| 엮인글 0개
466개(18/24페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
마야 뷰포트 네비게이션 팁 | 푸딩뱃살 | 42778 | 2020.04.06 17:22 | |
Maya 버전 별 Python 버전 | 푸딩뱃살 | 64088 | 2014.01.08 17:59 | |
124 | [FX] Lesson 1: Creating nCloth collisions Step 2 | artsOne | 2163 | 2008.04.13 17:28 |
123 | [FX] Lesson 1: Creating nCloth collisions Step 1 | artsOne | 2403 | 2008.04.13 16:23 |
122 | [참고] Expression Manual | artsOne | 2243 | 2008.04.13 02:44 |
121 | [Script] MEL 기초 #01 - 기초 (자료형) | artsOne | 3959 | 2008.04.10 00:28 |
120 | [Base] 선택 우선순위 | artsone | 2169 | 2008.04.09 02:47 |
119 | [Script] Python for Maya - 10. polygon vertex random move | artsOne | 4619 | 2008.04.06 23:44 |
118 | [Rigging] Deform > Edit Membership Tool | artsone | 2635 | 2008.04.05 02:28 |
117 | [Rigging] Deform > Wire 활용 | artsone | 2242 | 2008.04.05 02:01 |
116 | [Animation] Bake Simulation | artsone | 1879 | 2008.04.01 23:04 |
115 | [Rigging] 로프 Stretch Rigging | artsone | 2380 | 2008.03.31 21:40 |
114 | [Rigging] Bouncing Ball Rigging | artsone | 2366 | 2008.03.20 23:29 |
113 | [Rigging] bind 후 object가 2배로 움직이는 현상 막기 | artsone | 2125 | 2008.03.08 03:28 |
112 | [Rigging] Lattice와 Rigid bind를 이용한 skinning | artsone | 2641 | 2008.03.08 03:18 |
111 | [Script] Python for Maya - 9. polysmooth 자동 설정 (format 변환) | artsOne | 4421 | 2008.03.05 01:18 |
110 | [Script] Python for Maya - 8. random 응용 (if문) | artsOne | 4732 | 2008.02.27 02:22 |
109 | [Script] Python for Maya - 7. random (for문) | artsone | 4755 | 2008.02.26 01:37 |
108 | [Script] Python for Maya - 6. 리스트 자료 다루기 2 | artsOne | 3836 | 2008.02.23 17:17 |
107 | [Script] Python for Maya - 5. 리스트 자료 다루기 1 | artsOne | 3924 | 2008.02.22 20:27 |
>> | [Script] Python for Maya - 4. set (집합) | artsOne | 4830 | 2008.02.22 17:49 |
105 | [Script] Python for Maya - 3. pickle (지속 모듈-파일 관리) | artsOne | 4806 | 2008.02.21 01:57 |