point : 3D 공간을 구성하기 위한 가장 기본 요소
vertex : 배열, 순서를 만들어주는 규칙
primitive : 선,면
0번 프리미티브 하나만 가지는 선
add의 by pattern에 적은 숫자 순서대로 선이 연결됨
이런 식으로 써주면 형태는 똑같지만
두개의 프리미티브가 생성된다.
왼쪽처럼 입력을 하면 세 개의 프리미티브를 가지며 면은 만들어지지 않는다.
우측처럼 closed를 체크해주면 면이 생성되며 하나의 프리미티브만 생성된다.
geometry spreadsheet 만 본다면 처음 만들었던 선과 똑같음
attribute wrangle로 점, 선, 면 만들기
addpoint로 점을 만들어주는데 이 정보는 int
addprim 에 polyline을 입력해주면 선을 만들 수 있는데, addvertex도 해줘야함(규칙써주기)
addvertex(0,프리미티브 이름, 포인트 이름);
바로 addprim(0,"polyline",0,1)이라고 적어줘도 됨
바로 포인트넘버를 적어주기
poly라고 쓰면 면을 만들어줄 수 있는데
addvertex순서를 p0,p1,p2로 하면 면이 뒤집히게 된다.(시계반대방향으로 순서가 돌아가기 때문)
포인트가 0-2-1순서로 연결되게 만들어주기
바로 addprim(0,"poly",0,2,1)이라고 적어줘도 됨
포인트넘버가 아니라 변수 이름을 설정해서 이름을 적어도 됨
모든 포인트와 새로 생성된 pt가 연결되어 선이 만들어지게 됨
노이즈가 0에서 1 사이에서 움직이게 되면서 우측 위로 쏠리는 듯한 결과가 나오게 된다.
이는 fit 펑션으로 보정해주면 된다.
반복문의 활용
왼쪽처럼 식을 써보면, 반복문으로 만들 수 있음을 발견할 수 있다.
@N에 1보다 작은 수의 stepsize를 곱해서 길이를 줄여주고, offset을 더해 선에 노이즈효과를 더해준다.
curlnoise 안에 +i 를 해주는데, 이렇게 하면 선이 지그재그형태로 꼬불거린다.
(이 부분이 잘 이해되지 않아, 좀더 고민해봐야겠다..)
removepoint(0,@ptnum);
addpoint와 달리 앞에 int 이름 으로 설정할 수 없다.
removeprim(0,@primnum,1); - 프리미티브와 포인트까지 지워짐
removeprim(0,@primnum,0); - 포인트는 살아 있음
rand 안에 ,ch("seed")를 해서 씨드를 다르게 만들어줄 수 있음
rand(@primnum)을 하면 0에서 1사이의 랜덤한 숫자를 반환해준다.
그래서 cutoff가 1이 되면 모든 primitive가 사라지게 되고,
cutoff의 숫자를 0에서 올려줄수록 점점 더 많은 랜덤한 면들이 줄어들게 된다.
기본을 다지는 느낌의 강이었다.
point, vertex, primitive에 대한 이해와 조건문, 반복문 등의 내용까지 자연스럽게 복습이 되어서 좋았다.
다음주면 벌써 조오벡이 끝난다니.. 마지막까지 힘내자!!
'Joy of Vex' 카테고리의 다른 글
Joy of Vex [Day16] (0) | 2023.02.28 |
---|---|
Joy of Vex [Day15] (0) | 2023.02.27 |
Joy of Vex [Day13] (0) | 2023.02.22 |
Joy of Vex [Day12-3] (0) | 2023.02.21 |
Joy of Vex [Day12-2] (0) | 2023.02.20 |