저는 거의 프로젝트를 마쳤으며 지난 몇 일 동안 연구하려고했던 나머지 하나의 문제가 있습니다. 나는 내 이미지를 회전시키고 수평으로 뒤집을 수 있었고 모든 도움 덕분에 이미지를 바꿀 수있었습니다. 하지만 내 나머지 문제는 기본적으로 사각형 충돌 감지 구성표를 사용하여 메신저 이후 이미지를 회전 한 후 어떻게 충돌 탐지합니까? 그것은 회전 한 직사각형 구성표가 작동하지 않는 것 같습니다 .... 덕분에 너무 많은 놈들!회전 된 이미지 및 충돌 감지
0
A
답변
0
여기의 자바 스크립트 구현 무엇 당신이 같은 질문을 또 다른 StackOverflow의 게시물에서 찾고 : @klenwell 언급
1
separating axis theorem
(SAT)의 경우 2 볼록를 결정하기위한 좋은 도구입니다 다각형은 교차하고 있습니다. 나는 나를 위해 작동 링크의 코드를 가져올 수 없습니다 인정해야하지만, 여기에 예제와 함께 SAT 스크립트에 대한 대안 링크입니다 : https://github.com/jriecken/sat-js/blob/master/SAT.js이
내가 고려 사항이를 추가 할 수는 ...
분리 축에 관련된 수학은 모든 벡터를 교차 테스트해야하기 때문에 상당히 길다.
간단한 수학 사전 테스트를 사용하여 2 개의 특정 직사각형이 교차 할 수 있는지 여부를 사전 테스트하여 프로세스를보다 효율적으로 만들 수 있습니다.
두 개의 직사각형이 교차 할 가능성이 없다면 더 비싼 테스트를 거칠 필요가 없습니다.
사전 테스트 :
있는 2 개 RECT 센터 사이의 거리가 halfDiameters 다음 그 2 개의 구형이 가능하게 교차 할 수의 합보다 많은 경우는 ... 그래서하지 않습니다 그 2 개의 rect에서 더 비싼 수학 테스트. 어떤 사각형의 halfDiameter가 변경되지 않기 때문에
if(Math.abs(rect1.centerX-rect2.centerX) > rect1.halfDiameter+rect2.halfDiameter){
// rect1 & rect2 can't be intersecting...don't bother testing further
}
if(Math.abs(rect1.centerY-rect2.centerY) > rect1.halfDiameter+rect2.halfDiameter){
// rect1 & rect2 can't be intersecting...don't bother testing further
}
, 당신은 halfDiameter 저장된 각 사각형 및 재사용을 위해 한 번 계산할 수 있습니다.
rect1.halfDiameter=Math.sqrt(rect1.width*rect1.width+rect1.height*rect1.height)/2;
rect2.halfDiameter=Math.sqrt(rect2.width*rect2.width+rect2.height*rect2.height)/2;
rect.centerX 및 rect.centerY는 회전 된 사각형의 현재 중심입니다.
관련 문제
- 1. 회전 된 이미지의 충돌 감지
- 2. 충돌 감지 회전 사각형
- 3. 자바 스크립트에서 회전 된 이미지의 충돌 감지
- 4. 회전 된 스프라이트로 충돌 감지 SharpDX
- 5. 회전 된 사각형과의 충돌
- 6. 이미지 회전 및 회전 된 이미지 저장
- 7. JFrame 이미지 충돌 감지
- 8. CSS 애니메이션을 사용하여 회전 한 이미지 간의 충돌 감지
- 9. 이미지 레이어와 모양 간의 충돌 감지
- 10. 충돌 감지 및 이미지 식별 문제
- 11. 안드로이드 - 비트 맵 충돌 감지 (회전)
- 12. 충돌 감지 기능이있는 멀티 터치 스프라이트 회전
- 13. 두 이미지 간의 충돌 감지
- 14. 충돌 감지
- 15. 충돌 감지 및 animateWithDuration
- 16. 플래시 충돌 감지 도움말. 동시에 회전 및 히트
- 17. Cocos2d, 회전 된 (투명) 스프라이트 충돌
- 18. iPhone 회전 회전 감지?
- 19. 충돌 감지 수학 좌표와
- 20. Highgui.imread는 회전 된 이미지
- 21. 가속도계 감지 및 스프라이트 회전
- 22. 사각형 및 원형 충돌 감지
- 23. Three.js, PointerLock 및 충돌 감지
- 24. 충돌 감지 및 수신 거부
- 25. 충돌 감지 및 정지 동작
- 26. Box2D 및 SneakyInput 충돌 감지
- 27. 약속 생성 및 감지 충돌
- 28. WPF 캔버스 및 충돌 감지
- 29. 두 이미지 간 픽셀 충돌/중첩 감지
- 30. Android : 이미지 뷰의 회전 및 제한 확대 사이의 충돌
감사합니다. @klenwell 지금 이것을보고 전화를 겁니다. 감사 – Razr19