0

나는 포인트 클라우드 감소에 대한 학부 논문을하고 있습니다.클라우드를 복제하여 점 구름의 법선을 바깥쪽으로 만드는 것, 원래 구름 위에 센터링하는 것.

바깥 쪽을 가리키는 법선이 필요합니다. 나는 지금 당분간이 문제에 고심하고있다.

이것은 내가 어떻게하려고하는지에 대한 것입니다 : 나는 개체의 점 구름, 특히 스탠포드 토끼를 가지고 있습니다. 나는이 객체의 확대 버전을 생성하고 그 안에 더 작은 버전을 배치한다. 그런 다음 법선을 바깥 쪽 '큰'대상의 방향으로 향하게합니다.

더 큰 물체를 만지지 않고 더 작은 물체 위에 놓을 수 없습니다. 즉, 토끼의 귀가 겹칩니다. 누구든지 더 작은 물체를 더 큰 물체 안에 넣을 수있는 방법을 알고 있습니다. 여기

내 코드는 지금까지 있습니다 :

import numpy as np 
#IMPORT THE OBJECT POINT CLOUD 
c= np.genfromtxt(str('rabbitsmall') + '.txt',autostrip=True) 

#Determine the x centre of the original object 
xmax = np.amax(c[:,0]) 
xmin = np.amin(c[:,0]) 
tx = xmin+(xmax-xmin)/4 

#Determine the y centre of the original object 
ymax = np.amax(c[:,1]) 
ymin = np.amin(c[:,1]) 
ty =ymin+(ymax-ymin)/4 

#Determine the z centre of the original object 
zmax = np.amax(c[:,2]) 
zmin = np.amin(c[:,2]) 
tz = zmin+(zmax-zmin)/2 


#CREATE A LARGER VERSION OF THE OBJECT 
C = np.zeros((len(c),3)) 

for i in range(0,len(c)): 
       C[i][0]= 1.2*c[i][0] 
       C[i][1]= 1.2*c[i][1] 
       C[i][2]= 1.2*c[i][2] 

#Determine the x centre of the larger object 
Xmax = np.amax(C[:,0]) 
Xmin = np.amin(C[:,0]) 
TX = Xmin+(Xmax-Xmin)/4 

#Determine the y centre of the larger object 
Ymax = np.amax(C[:,1]) 
Ymin = np.amin(C[:,1]) 
TY =Ymin+(Ymax-Ymin)/4 

#Determine the z centre of the larger object 
Zmax = np.amax(C[:,2]) 
Zmin = np.amin(C[:,2]) 
TZ = Zmin+(Zmax-Zmin)/2 

#TRANSLATE THE LARGER OBJECT TO BE OVER THE SMALLER OBJECT. IE THE CENTRES ARE AT THE SAME PLACE 
for i in range(0,len(c)): 
       C[i][0]= C[i][0]-(TX-tx) 
       C[i][1]= C[i][1]-(TY-ty) 
       C[i][2]= C[i][2]-(TZ-tz) 


np.savetxt('rabbitlarger.txt',C) 

답변

0

첫째 : 당신이 당신의 출력 봤어 즉이다 정말 당신이 그들을하는 방법을 입혔다 토끼?

두 번째 : 법선을 결정하는 부분이 누락되었습니다. 가장 가까운 점을 찾고 있으므로 교차점이 문제가됩니까? 더 나은 해결책은 두 지점 구름의 정확한 점을 일치시키고 이들에 의한 법선을 결정하는 것입니다.

+0

안녕하십니까? 답장을 보내 주셔서 감사합니다. 작은 토끼보다 큰 토끼를 직접 갖고 싶습니다. 다른 레이어와 matryoshka 돌을 생각해보십시오. 나는 법선을 완벽하게 결정할 수 있습니다. 그러나 나는 그것들을 바깥쪽으로 향하게 할 수 없습니다. 어떤 경우에는 바운더리의 안쪽을 향하게하고, 바깥 쪽 레이어는 방향을 가리키게 할 것입니다. 외층의 문제는 외부 레이어가 내부 레이어 주위에 완벽하게 들어갈 수있게하는 것입니다. 감사합니다. – West1234