본문 바로가기
STL/stl- 기초 (numpy stl)

[파이썬과 STL] 4. 두 점과 평면의 교점 함수

by 만다린망고 2020. 11. 12.
반응형

[파이썬과 STL] 

4. 두 점과 평면의 교점 함수


지난시간에 두 점과 평면의 교점을 구한 코드를 가져옵시다. 


import numpy as np


#두 점

p=np.array([2,4,5])

q=np.array([-4,-2,-6])


#평면

a=np.array([1,3,2])

N=np.array([2,3,5])


#두 점의 평면의방정식 함수값

P_p=np.dot(N,p)-np.dot(N,a)

P_q=np.dot(N,q)-np.dot(N,a)


#결과, 음수인 경우 교점 존재

result=P_p*P_q


#교점

inter_p=abs(P_q)/(np.abs(P_p)+np.abs(P_q))*p+abs(P_p)/(np.abs(P_p)+np.abs(P_q))*q


이제 함수로 바꿔봅시다. 아래와 같이 바꿨습니다. 


def po2pl1(p,q,a,N):

  P_p=np.dot(N,p)-np.dot(N,a)

  P_q=np.dot(N,q)-np.dot(N,a)

  result=P_p*P_q


  if result>0:

      print("no intersection point")

  else :

      return abs(P_q)/(np.abs(P_p)+np.abs(P_q))*p+abs(P_p)/(np.abs(P_p)+np.abs(P_q))*q


반응형

댓글