본문 바로가기
scikit-spatial (벡터,평면,원 등)

[파이썬] 두 점 사이에 평면이 있는지 여부 구하기 (scikit-spatial)

by 만다린망고 2021. 10. 22.
반응형

먼저 패키지를 불러옵시다. 

import numpy as np
from skspatial.objects import Plane
from skspatial.objects import Point


점 두개와 평면 하나를 정의합시다. 

>>> p1=Point([0,0,1])
>>> p2=Point([0,0,3])
>>> pl=Plane([0,0,2],[0,0,1])


Plane 클래스의 side_point 메소드를 사용하면 점이 평면의 어느 쪽에 있는지를 알 수 있습니다. 반환하는 값은 아래와 같습니다. 

점이 평면 위에 : 0
점이 평면 앞에 : 1
점이 평면 뒤에 : -1

두 점을 이용하여 반환값을 구해봅시다. 

>>> pl.side_point(p1)
-1

>>> pl.side_point(p2)
1


값이 다르므로 서로 반대편에 있습니다. 두 점을 이용한 반환값을 곱해서 1이면 같은쪽 -1이면 다른 쪽이라고 판단할 수 있습니다. 

반응형

댓글