Tôi có 2 đối tượng đường dẫn trong mã Android của tôi. Tôi đã thử tất cả cách để kiểm tra thời tiết những đường dẫn này có giao nhau hay không, Nhưng không thể thực hiện. Làm thế nào tôi có thể kiểm tra thời tiết những con đường được cắt nhau hay không. Đánh giá cao bất kỳ phản ứng tốt ..... Cảm ơn,Giao lộ đường trong android
Trả lời
có một cái nhìn tại Region.op
Tôi đã không thử nó nhưng tôi sẽ đề nghị sử dụng:
Region.setPath(Path path, Region clip);
để có được một khu vực từ cả hai đường dẫn của bạn và sau đó bạn có thể sử dụng:
if (region1.op(region2,Region.Op.INTERSECT)) {
// intersection
}
để kiểm tra các ngã tư ...
Câu trả lời được đưa ra bởi Dheeraj có câu trả lời cho câu hỏi của bạn:
https://stackoverflow.com/a/9918830/1268168
Dưới đây là một sao chép và dán các câu trả lời của mình:
Một phương pháp tôi có thể nghĩ sẽ làm việc với các đối tượng đơn giản có thể được xây dựng bằng Đường dẫn.
Khi bạn có hai đối tượng có ranh giới được đại diện bởi các đường dẫn, bạn có thể thử này:
Path path1 = new Path();
path1.addCircle(10, 10, 4, Path.Direction.CW);
Path path2 = new Path();
path2.addCircle(15, 15, 8, Path.Direction.CW);
Region region1 = new Region();
region1.setPath(path1, clip);
Region region2 = new Region();
region2.setPath(path2, clip);
if (!region1.quickReject(region2) && region1.op(region2, Region.Op.INTERSECT)) {
// Collision!
}
Một khi bạn có đối tượng của bạn như Paths, bạn có thể vẽ chúng trực tiếp sử dụng drawPath(). Bạn cũng có thể thực hiện chuyển động bằng cách chuyển đổi() vào đường dẫn.
Từ hiểu biết của tôi, biến "clip" trong mã ở trên phải là hộp giới hạn của đường dẫn. Vì mục đích chung tôi sử dụng
Region clip = new Region(0, 0, layoutWidth, layoutHeight);
Trường hợp chiều rộng và chiều cao bố cục có thể là kích thước của canvas hoặc hoạt động của bạn hoặc bất kỳ thứ gì.
Từ API 19 trở đi, Path
hiện có phương thức op()
.
boolean intersects = path.op(p1,p2,Path.Op.INTERSECT)
Giá trị trả về cho thấy sự thành công của hoạt động, không cho dù họ giao nhau hay không. Nó kiểm tra các vùng khép kín, không phải là đường dẫn của chúng. Kiểm tra nhanh: xây dựng một polyline góc như một đường đi, sau đó một đường thẳng đơn nằm bên trong góc, không đi qua nó. –
- 1. Giao lộ CGPathRef
- 2. đường ray - Tìm giao lộ giữa nhiều mảng
- 3. Liên minh và giao lộ trong PowerShell?
- 4. giao lộ phân đoạn-đa giác
- 5. giao lộ khoảng thời gian trăn
- 6. Giao lộ R của danh sách
- 7. Cách kiểm tra giao lộ giữa một đường thẳng và hình chữ nhật?
- 8. đối sánh regex với giao lộ trong C#
- 9. Bất kỳ giao lộ nào trong hai bộ sưu tập
- 10. Thư viện RaphaelJS để tìm giao lộ của các đường dẫn
- 11. Có cách hiệu quả để đếm số lượng giao lộ trong một tập hợp các đoạn đường nhất định không?
- 12. Tìm giao lộ của các tên gọi khung dữ liệu
- 13. giao lộ và liên minh các đa giác
- 14. Cách hiệu quả hơn để đếm giao lộ?
- 15. Cách tốt nhất để tìm giao lộ của nhiều bộ?
- 16. Gỡ lỗi lộ trình trong Symfony2
- 17. PHP 6.0 - Lộ trình?
- 18. Tôi làm cách nào để tìm giao lộ gần nhất thông qua API Google Maps?
- 19. Lộ trình cho chuyên gia phát triển Android
- 20. Nhận giao lộ của một số Danh sách bằng cách sử dụng retainAll trong Java
- 21. Tuỳ chỉnh lộ trình lớp
- 22. Hai màu đường ngang trong Android
- 23. Thuật toán để chia Path2D tự giao nhau thành nhiều đường không tự giao nhau?
- 24. Ràng buộc lộ trình MVC cho bool
- 25. Cách hiệu quả nhất để phát hiện giao lộ tam giác-tam giác là gì?
- 26. Cách Qt để có được giao lộ giữa hai QL QLVNCH là gì?
- 27. Tôi có thể rút ngắn cụm từ thông dụng này bằng giao lộ không?
- 28. Làm cách nào để tìm giao lộ của hai bộ Thời gian không tiếp giáp?
- 29. Diện tích giao lộ giữa hình tròn và hình chữ nhật
- 30. cách kiểm tra bộ sưu tập hình chữ nhật cho lỗ và giao lộ?
Khu vực sẽ tạo hình chữ nhật chứa đường dẫn phải không ?. Con đường của tôi là có curves.So tôi wont nghĩ rằng việc tạo ra một khu vực sẽ có hiệu lực –
không có nó không chỉ tạo ra một hình chữ nhật có chứa đường dẫn. Hãy xem tài liệu: "Điều này tạo ra một vùng giống với các điểm ảnh được vẽ theo đường dẫn (không có antialiasing)." " – Dirk
sẽ trả về op() nếu region1 chứa toàn bộ vùng2 và ranh giới của chúng Tôi có nghĩa là, làm thế nào để kiểm tra hai trường hợp riêng biệt, 1.Region ngã tư và 2. Đường giao nhau – usman