0-poligonu çizimi (Pillow / Numpy)

Şekilden anladığım kadarıyla çözüm önerilerim:

1- A’dan B’ye giderken her noktada tam değil yarım çember çizdir. Bunun için de (AB) semt açısını hesapla ve +100/-100 soluna/sağına gelecek şekilde merkez açı belirle. Bu şekilde hep B noktasına doğru hareket eder geriye dönmezsin. Tam çember çizmen durumunda geriye dönme ihtimali yüksek.
2- 1. maddeye ek olarak şöyle bir kontrol de yapabilirsin; Elinde A ve B noktalarının koordinatları var. Yeni belirlediğin noktanın koordinatları (Y,X), A ve B noktasının koordinatları arasında olmalı. Yani yeni noktanın Y’si Ya ve Yb’nin her ikisinden birden küçük/büyük olamaz, birinden büyük birinden küçük olabilir gibi. Aynısını X için de yapabilirsin. (Bu madde noktaların birbirine göre konumlarına bağlı olarak değişir.)
3- Diyelim ki alt3 noktasına kadar geldin, sonraki eğriye ve noktaya geçeceksin. Eğer sonraki eğri alt3 noktasının üzerinde bulunduğu eğri ise (yani aynı eğriden bahsediyorsak) B’ye doğru düz çizgi çizebilirsin. Kot değişmeyeceği için yarma/dolguyu etkilemez. (Bunu hocana danışabilirsin)

Ek olarak sıfır poligonunu daha rahat belirleyebilmek için eşyükselti eğrili haritayı otomatik sayısallaştırmayı düşünebilirsin. Bu sayede eğrilere kot vererek maksimum eğim vb. hesaplamaları da yapmak mümkün olur.

2 Beğeni

Teşekkürler hocam şaun söylediklerinizi kodlamaya çalışıyorum ancak görsel koordinat sistemi fazla farklılık gösterdiği için 2. temel ödevdeki duruma göre eklenen açı değerlerini hesaplayamadım.
Ba%C5%9Fl%C4%B1ks%C4%B1z
bölgelere göre kaç derece/grad ekleyeceğim konusunda yardımcı olursanız çok sevinirim. teşekkürler hocam.

Hah, ellerine saglik. Simdi bir algoritmadan bahsedebiliriz.

Anlattigin haliyle olasi cozum setleri bir tree olusturuyor. Anlattigin algoritma ise depth-first search (backtracking kullanan, greedy bir algoritma). Yeterli olabilir; muhtelif girdilerde (haritalarda) ne kadar iyi calistigini test etmek lazim.

Fakat altinda bir optimizasyon problemi yattigindan supheleniyorum. Son segmentin <2 cm olmasina izin verdik; ilk segmentin de <2 cm olmasina izin veremez miyiz? Ya ortadaki segmentlerin?
Veya tam 2 cm tutturacagim diye dagin arkasindan dolanan bir yol, sadece bir segmenti 2.1 cm olan yari mesafede bir yola tercih edilir mi? Veya butun segmentleri 2.1 cm olan 1/4 uzunlukta bir yola?

O zaman (veya belki de her halukarda) muhtelif pathfinding algoritmalarini kullanmak daha verimli olabilir.

Yollarin duz olmasi sart degilse cizgi aralarindaki noktalarin yuksekliklerinin tahmin edilip gradient descent benzeri bir yontemle daha optimize bir path bulunmasi da mumkun.