Bu ilk bakışta göründüğünden daha çok daha karmaşıktır. Ne var yani gibi [bir dizi "x, y" şeklinde] noktaları içeren daha diziler oluşur dev bir dizidir:
Array (
[0] => Array (
[0] => "0,9",
[1] => "0,0",
[2] => "9,0",
[3] => "9,9",
[4] => "0,9"
)
[1] => Array (
[0] => "1,5",
[1] => "1,6",
[2] => "3,6",
[3] => "3,8",
[4] => "4,8"
)
... and so on ...
)
Peki ne yapmam gerekiyor tüm noktaları aracılığıyla süreçtir ve bir dizide herhangi bir nokta, dizide var olabilecek herhangi bir başka çizgi segmenti ile kesişiyor, $points[0][1] $points[0][2] derseniz bakın . Bütün çizgi parçası kendi ilgili dizilerin her birinde bulunan sırayla art arda şu bulunmaktadır. Yani ilk dizide, "0,9", "0,0" ve bu dizi başka hiçbir nokta gider. Dizideki son nokta geri etrafında bir dizi ilk noktaya döngü değil. Ayrıca, bir kavşak, bir çizgi segmenti bir başka çizgi parçasının kesiştiği biterse, o aslında kesişen çizgi parçasını geçmeye ihtiyacı kabul edilmemelidir.
Ben bunları işlenmiş olarak ben kesimleri komplo düşünüyordum. Yani demek başına bir 'sanal' ızgara üzerinde ve herhangi bir mantıklı eğer zaten, çizilen, ama yine de bu gibi görünüyor başka bir segment kesiştiğini ondan sonra her dizi hesaplar her noktayı komplo diziler aracılığıyla çalıştırmak gibi bir sürebilir çizgi segmentleri bir çok dizide varsa hesaplamak için ise. O (teorik o olduğu aynı dizideki bir segment kesiştiği çünkü) ne yapıyor olurdum kendisine önceki herhangi bir segment kesiştiğini hesaplamak, bir dizideki her segment için gibi görünüyor. Doğru, bunu yapmak için basit bir yolu olmalı var?
P.S. Ben gerçekten bu PHP dışındaki altına düşmesi gereken etiketleri düşünemedim. Eğer herhangi düşünüyorsanız bunu yeniden etiketlemek için çekinmeyin.