나는 두 개의 주요 포인트 등으로 저장된리스트를 가지고있다. [[5,10],[10,15]]
, 그리고 나는 그것들이 모두 하나의 점에서 다른 점으로의 선과 교차한다는 것을 안다. 어떤 직사각형이 먼저 선과 교차하는지 찾는 방법?어떤 직사각형 라인이 먼저 닿는가
0
A
답변
1
선 (두 포인트에 의해 정의 된) 파라미터의 방정식을 가진다
X = X0 + t * (X1 - X0)
Y = Y0 + t * (Y1 - Y0)
대체 좌우 (라인 방향)에 따라 직사각형 에지가 제 방정식 상단 또는 우측 좌표 좌표 - 제 식 찾아 모서리와 교차를 제공하는 매개 변수 t
의 최소값.
예를 들어 첫 번째 수식에서 직사각형의 왼쪽 모서리에 대해 tl
값을 가져옵니다. 이 tl
값에 대한 Y
값을 두 번째 방정식에서 찾아 Y
이 top..bottom
범위에 있는지 확인하십시오.
사각형 위치 및 크기에 대한 추가 제한 사항이나 정보가 있습니까? 사각형을 일정하게 설정하고 많은 선을 사용합니까? 또는 선이 일정하고 직사각형 세트가 있습니까?
+0
쓰려고했다. 'X1-X0' 또는'Y1-Y0'이 0이거나 0에 아주 가깝다면 (수직선과 수평선) 조심해야합니다. 게다가 사각형이 가장 겹치지 않으면 첫 번째 점에 가장 가까운 모서리를 가진 점이 승자가됩니다. 그러나 나는 완전히 확신하지 못합니다. 이것들은 축 정렬 된 직사각형이므로 교차점을 찾는 것만으로도 빠릅니다. – jdehesa
관련 문제
- 1. 어떤 행이 먼저 업데이트됩니까?
- 2. 어떤 컴파일러가 먼저 실행됩니까?
- 3. 먼저 어떤 memcache 서버에 연결해야합니까?
- 4. 어떤 활동 방법이 먼저 호출됩니까?
- 5. gdb가 어떤 라인이 충돌하고 있는지 보여주지 않습니다.
- 6. 어떤 라인이 예외의 원인인지 아는 방법?
- 7. 라인이
- 8. 라인이 종료
- 9. 벡터 라인 내 직사각형
- 10. 더 큰 직사각형 상자에 직사각형 상자 배치
- 11. 직사각형 모양의 유효성 검사
- 12. 그리기 직사각형
- 13. 어떤 프로세스가 먼저 종료됩니까? 자녀 또는 부모?
- 14. 파이썬은 어떤 스레드가 먼저 시작합니까? 파이썬에
- 15. Autolayout - 먼저 어떤 제약 조건을 변경해야하는지 정의합니다.
- 16. http 요청을 줄이려면 어떤 것을 먼저 가져야합니까?
- 17. NetBeans 또는 Eclipse. 어떤 IDE를 먼저 사용해야합니까?
- 18. 어떤 리소스 폴더가 먼저 선택되었으며 마지막으로 무엇입니까?
- 19. 직사각형 비교
- 20. 직사각형 용지의 직사각형 조각을 자르고 낭비를 최소화하십시오.
- 21. 웹 브라우저에서 그리드의 직사각형 그리기
- 22. 특정 라인이 어떤 개정판에 소개되었는지 알 수있는 방법은 무엇입니까?
- 23. ReSharper의 TestRunner를 설정하여 테스트에서 어떤 라인이 실패했는지 알 수 있습니까?
- 24. Eclipse Java 디버그 퍼스펙티브 : 어떤 라인이 멈추었는지 표시하지 않음
- 25. vim colorscheme의 어떤 라인이 내 FuzzyFinder 팝업을 채색하고 있습니까?
- 26. 격자의 직사각형
- 27. 직사각형 교차점
- 28. 사다리꼴에서 직사각형
- 29. 직사각형 청소
- 30. 둥근면이있는 직사각형
라인 시작점의 'x'좌표와 그 하위 'x'좌표 간의 절대 차이가 가장 작은 값입니다. – Kasramvd
종류는 다르지만 줄이 거꾸로 올라가거나 올라가는 경우 –
먼저 줄의 방향을 지정하지 않고 좌표계의 중심이 무엇인지 먼저 무엇을 의미하는지에 따라 달라집니다. 또한, 직사각형을 수직 정렬 할 때처럼 두 직사각형의 차이가 같을 경우에도 수직으로 이동하는 경우 'y'의 차이를 확인할 수 있습니다. – Kasramvd