기본적으로 선과 선분이 교차하는 경우 부울을 반환해야합니다. 선에 대한 정보는 기울기, 무작위 지점에 대한 xy 좌표 및 y 절편에 대한 xy입니다. 선분에는 선분과 두 종점 xy 좌표가 있습니다. 어떤 아이디어?Java에서 선과 세그먼트의 교차점
-1
A
답변
0
경사 S
와 (Xr, Yr)
통해 선 방정식 D(X, Y):= (Y - Yr) - S (X - Xr) = 0
있습니다.
D(Xa, Ya)
과 D(Xb, Yb)
에 반대 기호가 있는지 확인하십시오.
0
이것을 구현하는 것은 그리 어려운 일은 아니며 가장 어려운 것으로 보이는 개념적 부분입니다. 나중에 재미로 코드를 작성할 수는 있지만 나중에 시작하면됩니다. 또한, 이것이 (시간/공간 현명한) 그것을 해결하는 정말 나쁜 방법 일지 모르지만 그것은 확실히 작동합니다.
좋은 해결책을 찾으려면 선을 벡터로 변환하고 모든 텍스트 아래의 링크에있는 응답에서 구현을 사용하십시오.
- 두 번째 줄의 기울기를 계산하십시오. 첫 번째 것과 같으면 평행이며 절대로 교차하지 않습니다.
- 두 행이 교차하는 경우 두 행 은이 교차하는 위치를 계산하십시오. 그들은 한 지점에서만 교차 할 수 있습니다. 교차하는지 확인하는 방법은 다음과 같습니다.
- 임의의 지점에서 각 행마다 2 개의 고유 한 좌표를 찾습니다.
- 각 점에서 두 선 사이의 거리를 결정하십시오.
- 어느 점이든지 선 사이의 거리가 더 짧아지면 교차로 가까이 이동할 때 필요한 방향을 나타냅니다.
- 거리가 0이 될 때까지 두 줄 사이의 거리가 계속 증가 할 때까지 계속 확인하십시오 (다시 방향을 바꾸어야 함을 의미). 거리 = 0에있는 xy 좌표가 교차 지점입니다.
- 두 선이 교차하는 점의 x 값이 선분의 두 x 값 사이에 있으면 선과 선의 조각이 교차합니다.
첫 번째 줄에는 두 개의 xy 좌표가 있고 선 세그먼트에는 두 개의 끝점 좌표가 있으므로이 방법이 더 쉬울 것입니다.
확인 코멘트에 몇 가지 예제와 함께 정말 좋은 솔루션이 답변 아웃 : https://stackoverflow.com/a/565282/2142219
관련 문제
- 1. 두꺼운 선과 직사각형의 교차점
- 2. 선과 원의 교차점 찾기
- 3. Android : 선과 이미지의 교차점 찾기
- 4. java 찾기 선과 사각형의 교차점
- 5. 최대 세그먼트 길이가있는 선과 직사각형의 교차점
- 6. Java에서 JSON 파일 필드 교차점
- 7. 삼각형과 평면의 교차점 결정
- 8. 교차점 찾기
- 9. Angularjs 교차점
- 10. Three.js/교차점
- 11. 직사각형 교차점
- 12. 평면 교차점
- 13. 집합의 교차점
- 14. URL 세그먼트의 "&"문자가 허용됩니까?
- 15. 데이터 세그먼트의 구성 요소
- 16. 주어진 세그먼트의 사이클 감지
- 17. 세그먼트의 기본값을 선택 취소합니다.
- 18. 직사각형이있는 2D 세그먼트의 교차
- 19. bss 세그먼트의 유틸리티는 무엇입니까?
- 20. 동적 세그먼트의 템플릿
- 21. 구체 세그먼트의 차이
- 22. 7 세그먼트의 16 진수
- 23. Java : 여러 행 세그먼트에 대해 한 행 세그먼트의 교차 검출
- 24. 선과 그래픽을 그리는 Lisp 라이브러리
- 25. 격자에 선과 라벨 추가하기 [R]
- 26. 원이 무한 선과 교차하는지 결정
- 27. 세그먼트의 두 번째 클릭 감지
- 28. C- 텍스트 세그먼트의 메모리 세그먼트
- 29. GenomicRanges 패키지의 겹쳐진 세그먼트의 너비
- 30. 맞춤 세그먼트의 탐색 모음 애니메이션
Java와 어떤 관련이 있습니까? 수학을 시도하십시오. –
yy 절편을위한 xy ??? –