평면에 대한 법선 벡터를 계산하고 있습니다 ax + by + cz + d = 0
책에 따르면
p>
일반 벡터 N은 종종 단위 길이로 정규화됩니다.이 경우 방정식
d = N ⋅Q + D
는 평면에서 임의의 거리까지의 부호있는 거리를 제공하기 때문입니다. 점 Q. d = 0이면 점 Q는 평면에 있습니다. d> 0이면 Q가 일반 벡터가 가리키는쪽에 있기 때문에 점 Q가 평면의 양의쪽에 있다고 말합니다.
N (일반 벡터)을 얻는 방법은 무엇입니까? 감사합니다
Answer
From MathWorld :
비행기가 주어지면
그러면 법선 벡터는
일반 단위 벡터 n 는 다음과 같이 지정됩니다.
그러므로 비행기 5x+2y+3z-1=0
,
일반 벡터 N 는
N = [5,2,3]
크기 | N | 는
| N | = sqrt (5 ^ 2 + 2 ^ 2 + 3 ^ 2)
| N | = 6.1644
따라서 일반 단위 벡터 n 는 대략 :
n = N / | N |
n = [0.8111, 0.3244, 0.4866]
n 의 길이를 측정하여 확인할 수 있습니다.
코드 :
import math def mag(V): return math.sqrt(sum([x*x for x in V])) def n(V): v_m = mag(V) return [ vi/v_m for vi in V]
대화 형 Python 셸 :
>>> N = [5,2,3] >>> mag(N) 6.164414002968976 >>> n(N) [0.8111071056538127, 0.3244428422615251, 0.48666426339228763] >>> mag(n(N)) 1.0