본문 바로가기
MATLAB 코딩/STL파일 다루기

[Matlab으로 STL파일 다루기] 12. STL과 평면 사이의 교점을 구하는 함수 정의

by bigpicture 2020. 1. 14.
반응형

12. STL과 평면 사이의 교점을 구하는 함수 정의


STL과 평면을 입력하면 교점을 구해주는 함수를 정의해봤습니다. 지난 강의에서 여러 단계로 나눠 수행한 내용들을 사용상 편의를 위해 하나의 함수로 묶은 것입니다.


#stl과 평면의 교점을 구해줍니다. 


function interpoint = stlplintersec(mystl,PL)


#한 face를 구성하는 점들을 같은 행에 저장          

vertices_by_f=0;

for i=1:size(mystl.faces)(1)

  for j=1:3

    a=mystl.faces(i,j);

  vertices_by_f(i,(3*j-2):3*j)=mystl.vertices(a,:);

  end

  end


#평면과 모서리 사이의 교점 구하기

for i=1:size(mystl.faces)(1)

p1=vertices_by_f(i,1:3);

p2=vertices_by_f(i,4:6);

p3=vertices_by_f(i,7:9);


interpoint(3*i-2,1:3)=plpointersec2(PL,p1,p2);

interpoint(3*i-1,1:3)=plpointersec2(PL,p1,p3);

interpoint(3*i,1:3)=plpointersec2(PL,p2,p3);

end


#NA 제거 defined by me

interpoint=removeNA(interpoint);

#겹치는 부분 제거

interpoint=unique(interpoint,'rows');



end


반응형

댓글