2010-4-25 오픈클래스 | 해결되지 않았던 내용들..
음.. 당일 미결(?) 질문에 대한 내용입니다.
1. VOP에서 계산된 값을 확인해 볼 수 있는 방법?
김민식님이 질문하셨던 내용인데 vop에서 계산된 값을 확인해 보는것에 대해서 정확한 값을 알아보기 위해서는 parameter로 값을 내보내고 Detail View에서 확인해보는거외에는 별다른 방법이 없는것 같습니다. 혹시 좋은방법을 아시는분은 알려주세요 ㅎ
2. VOP으로 가장 가까운 포인트와의 거리값 구하기
김정환님이 말씀하셨던 가장 가까운 포인트와의 거리를 vop으로 구해서 point attribute으로 넣는것에 대한 내용인데, 제가 C++문법을 잘몰라서 꽤 해멨네요 ㅋ 개인적으로는 for loop에 대해서 좀 명확하게 알게된 계기가 되었습니다.
아무튼 요점은 VOP에서 For loop를 돌려서 가장 가까운포인트와의 거리값을 포인트 어트리벗으로 만들어주는것입니다.
파일을 열어보면 아시겠지만 for loop안에서 NPT, 즉 포인트 숫자만큼 루프를 돌리는데, 포인트포지션(P)와 나머지 0번부터 끝번까지(counter num에 의한)의 포인트들과 거리를 비교하면서(Distance VOP) 이전 연산에서 나온 값보다 작으면 값을 보내고 크면 이전의 값을 유지하는 방식입니다.
주요한 부위(?)는 같은 중간에 포인트끼리 계산하면 계산된값이 0이 되어서 끝까지 0으로 가기게 되기 때문에 counter넘버가 포인트넘버와 같을땐 넘어가도록 하는 부분과, 연산된값이 이전루프에서 나온값보다 작을때만 값을 전달하도록 하는것입니다.
attribute으로 들어간 값은 Detail View를 통해서 확인하시면 되고, VOP에서 for_test라는 이름으로 묶여있는 네트웍 박스에서 값이 맞는지 확인해 볼 수 있습니다. (constant노드에 가장 가까운 포인트 한쌍을 각각 입력해보면 됩니다. 좀 무식하지만 가장 확실한 방법인듯.. ㅋ)
| Attachment | Size |
|---|---|
| 60.67 KB |
redsky9011
Tue, 04/27/2010 - 22:52
Permalink
print노드로 출력값을 확인할수가 있습니다.
VOP의 노드인 pirnt노드를 이용하시면 콘솔창에 값들이 출력이 되는것을 알수가 있습니다. 추가로 밑에 사진첨부를 했습니다.
for에서 사용시 중간의 계산이 되는 값도 알수가 있어서 저같은 경우에는 보기가 좋았습니다.
포인트의 거리값을 구하실때 switch노드를 사용을 하셨네요. 더욱 자세히 분석을 해보겠습니다.
고맙습니다.
Inseong
Tue, 04/27/2010 - 23:35
Permalink
오호~ 좋은정보 감사합니다 ㅎㅎ
print가 vop노드로도 있었군요. 앞으로 유용하게 써먹을 것같네요 감사합니다 ㅎㅎ
그리고 switch노드는 하나는 compare 노드에서 이전값과 현재 계산된값을 비교해서 더 작을 때만 보내기위해서 사용한것이고
하나는 포인트넘버와 counter의 값이 같아질때 거리값이0이되기 때문에 패스하기 위해서 사용한것입니다.