2016-12-10 11 views
0

파이썬 (2.7)을 사용하면 선이 4 점으로 된 상자를 통과 할 때를 어떻게 알 수 있습니까? (이 전 수직선 (0.5, 0.5, -3)까지 통과가 있다고 0.5,0.5하자, 이제상자를 통과하는 선

from matplotlib import pyplot 
import pylab 
from mpl_toolkits.mplot3d import Axes3D 
import numpy as np 

fig = pylab.figure() 
ax = Axes3D(fig) 

sequence_containing_x_vals = np.array([0,0,0,0,1,1,1,1]) 
sequence_containing_y_vals = np.array([0,0,1,1,0,0,1,1]) 
sequence_containing_z_vals = np.array([0,1,0,1,0,1,0,1]) 

ax.scatter(sequence_containing_x_vals, sequence_containing_y_vals, sequence_containing_z_vals) 
pyplot.show() 

:

예를 들어

,이 전 지점의 큐브를 구성했다고 가정 해 봅시다 ,삼). 그 줄이 내 입방체를 통과하는지 어떻게 알 수 있습니까?

+0

https://www.scratchapixel.com/lessons/3d-basic-rendering/minimal-ray-tracer-rendering-simple-shapes/ray-box-intersection – user4421975

답변

0

찾고있는 알고리즘 일 수 있습니다.

먼저 큐브의면이 부분 집합 인 평면과 해당 선을 나타내는 방정식 쌍을 나타내는 방정식을 계산합니다.

이제 주어진 평면에 대한 한 쌍의 방정식과 방정식으로 구성된 트리플을 형성 한 다음이 시스템을 해결하여 각 평면과 선의 교차점을 계산하십시오.

솔루션 중 하나가 주어진 선분 내에 있고 큐브 가장자리 내에 있는지 테스트하십시오.

두 점을 주어진 선을 정의하는 두 방정식에 대한 편리한 솔루션을 찾지 못했습니다. 그러나 다음 URL은 https://math.stackexchange.com/questions/1156983/find-the-equation-of-the-plane-knowing-that-it-passes-through-3-points의 세 가지 점에서 비행기의 방정식을 얻는 방법을 제공합니다.