는 다음의 평등과 교육을 고려 : a
및 b
세그먼트의 사지 있습니다세그먼트의 포인트 투사 : 세그먼트의 사지가 동일한 좌표를 갖는 경우는 어떻습니까?
p = ((x - a).(b - a))/((b - a).(b - a)) (b - a) + a
, x
우리는이 세그먼트와이 세그먼트에서 x
의 p
프로젝션에 투사 할 점. 모두 벡터 점입니다.
p
코드 세트 '는 님의 X 좌표 :
coords_p.add(
""
+ (
((test_x - segment_first_point_x) * (segment_last_point_x - segment_first_point_x)) // "((x - a).(b - a))"
/
(// "((b - a).(b - a))"
(segment_last_point_x - segment_first_point_x) * (segment_last_point_x - segment_first_point_x)
)
*
(segment_last_point_x - segment_first_point_x) // "* (b - a)"
+
segment_first_point_x) // " + a"
);
를 이제 같은 p
에 대한의 Y 좌표 :
coords_p.add(
""
+ (
((test_y - segment_first_point_y) * (segment_last_point_y - segment_first_point_y)) // "((x - a).(b - a))"
/
(0.00001+ // "((b - a).(b - a))"
(segment_last_point_y - segment_first_point_y) * (segment_last_point_y - segment_first_point_y)
)
*
(segment_last_point_y - segment_first_point_y) // "* (b - a)"
+
segment_first_point_y) // " + a"
);
당신이 볼 수 있듯이, segment_last_point_y == segment_first_point_y
OR 경우 | segment_last_point_x == segment_first_point_x
이면 분모의 분모는 0
이됩니다.
따라서 p
의 좌표 중 하나 (또는 둘 다)는 NaN
("숫자가 아님")이됩니다. 이는 유효하지 않습니다.
그래서 나는 계획을 세우는 방법을 이해하지 못했다고 생각합니다. 저에게 계발 해주시겠습니까?