Tôi đang cố gắng đưa ra một phương pháp để tạo các đa giác lồi 2D ngẫu nhiên. Nó phải có các thuộc tính sau:Làm thế nào để tạo ra một đa giác lồi ngẫu nhiên?
- tọa độ phải là số nguyên;
- đa giác nên nằm trong một hình vuông có các góc (0, 0) và (C, C), trong đó C được cho;
- đa giác nên có số đỉnh gần với một số N. đưa
Ví dụ, tạo đa giác ngẫu nhiên mà có 10 đỉnh và nằm bên vuông [0..100] x [0..100] .
Điều gì làm cho nhiệm vụ này trở nên khó khăn, thực tế là tọa độ phải là số nguyên.
Cách tiếp cận mà tôi đã thử là tạo ra các tập hợp điểm ngẫu nhiên trong hình vuông đã cho và tính toán thân lồi của những điểm này. Nhưng thân lồi kết quả là rất ít đỉnh so với N.
Bất kỳ ý tưởng nào?
Đây là liên kết để biết thêm thông tin về kiểm tra lồi: http://www.gamedev.net/topic/561441-polygon-convexity-test-cant-get-it-right/ – scgrn
Điều này phù hợp với các tọa độ điểm động. Làm thế nào để bạn chắc chắn rằng khi bạn quay trở lại số nguyên, đa giác không trở nên lõm? Bạn có thể loại bỏ các đỉnh có vấn đề, nhưng điều này có thể làm giảm đáng kể số đỉnh. – Jasiu