2013-04-16 2 views

답변

1

Try this. 승리를위한 Google - 답변도 여기에 있습니다. 이것은 심지어 당신이 사용할 수있는 더 많은 정보에 대한 소스 코드와 링크를 가지고 있습니다. 약간의 검색만으로도 자신을 가질 수있었습니다.

이것은 @ DuckQueen의 답을 기반으로합니다 - 교차점이있는 경우 교차점을 투영하여 원통 높이 내에 있는지 확인합니다.

1

x = (y-a2)/b2 = (z-a3)/b3을 행의 방정식이라고합시다.

실린더에 대한 방정식을 (x-c1)^2 + (y-c2)^2 = d^2라고하자.

x를 회선 방정식에서 실린더 방정식으로 대체하십시오.

이차 방정식을 사용하여 y를 풀 수 있습니다. 솔루션은 0 개 (실린더와 선이 교차하지 않음), 1 개 솔루션 또는 2 개 솔루션을 가질 수 있습니다.

x 및 z 좌표를 얻기 위해 y 값을 회선 방정식으로 대체하십시오. 두 지점에서 라인 방정식을 취득하기위한

볼 : http://www.nabla.hr/Z_CGLinesAndPlanesIn3DSpace-A.htm

용액 I 무한 높이 실린더 작동을 제공 하였다. 높이 H의 원통으로 제한하려면 : 점이 높이 내에 있으면 (즉, z가 한계 내에 있음) 교차점을 찾고 점을 찾습니다.

+0

실린 더 높이를 어디에서 정의 할 수 있습니까? 또한 제공 한 포인트'A','B'를 사용하십시오. 저자가 제공 한 'Ax', By, Cz 등의 표기법을 사용하십시오. – DuckQueen

+0

@DuckQueen 제공된 대답은 선과 원통 사이의 교차점을 찾습니다. 내가 OP에 남긴 선과 원통의 다른 표현 사이를 변환하는 것은 사소한 일이다. 구체적인 질문이 있으면 알려주십시오. – ElKamina

+0

실린 더 방정식에서 실린 더 높이는 어디에 있습니까? 방정식이 없습니다. 모든 포인트와 값의 배열입니다. 문제가 아닌 일반적인 질문에 대한 답변을 제공해주십시오. 공식 및 회선 방정식을 사용하는 경우 주어진 데이터에서 tham을 얻는 방법을 제공하십시오 (실린 더의 벽으로 사용). – myWallJSON