Picproje Elektronik Sitesi

SERBEST BÖLGE => Programlama ve Algoritma => Konuyu başlatan: muhittin_kaplan - 06 Ekim 2019, 11:08:14

Başlık: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 06 Ekim 2019, 11:08:14
Elimde Başlangıç ve Bitlis Noktaları bulunan çizgilerden oluşmuş( Resim1) bir polar Grafik var.[ çizgilerin oluşmasını sağlayan her nokta da mevcut].
Yapmak istediğim ise, Çizgiler kullanarak Oluşmuş bu resmi poligon lar ile çizmek.(Resim 3)
Resim 1

Resim2

Resim3
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: Epsilon - 06 Ekim 2019, 12:49:47
Benzeri işlemler için bir site var

https://www.desmos.com/calculator

Buraya grafiği ekleyebiliyorsnuz


Benzer konunun videosu
Algoritması konusunda yardımcı olabilir belki.

Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: devrecii - 06 Ekim 2019, 23:09:27
Her linenin iki ucunda  point olduğunu farzedelim birbirine en yakın pointler line ile birleştirilir eğer yanında ki point çok uzakta ise birleştirilmez aynı linenın baş ve son pointi kenar kabul edilir.

Her linenin  orije göre  kaçıncı derecede olduğu eğimden bulunabilir bu sayede 0 dan 360 dereceye kadar yanyana komşu lineler bululur uclar birleştirilebilir.

Paintteki boya doldurma gibi  de işlem yapılabilir pixeller genişletilir doldulrulur toleransdan uzakta ise burada yayılma sona erer bu noktaya poligoun pointi koyulur burası dış kanardır.

Tabi bunlar fikir vermesi açısından iş pek kolay değil.



Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: MC_Skywalker - 07 Ekim 2019, 08:41:15
Geogebra var.  https://www.geogebra.org benzer grafiksel matematik işlemleri için.

(https://ibb.co/ftrpg0G)
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 07 Ekim 2019, 10:28:12
   Python kullanıyorum. Çizimler vb işler için Matplotlib Kütüphanesi.Matematiksel işlemler için Numpy Kütüphanesi. Büyük Veri için Pandas.

   Şunu yaptım. Numpy ve Pandas ile oluşturup Matplotlib ile görselleştirdiğim veriyi (1.resim) Bir diziye RGBA olarak aldım. GraySacle yaparak 2 boyutlu diziye çevirdim.
SciKit-Learn kütüphanesindeki (opencvde de mevcut) Canny ile (edge dedector) resmin kenarlarını buldum. Kenarların koordinatlarını aldım.
Burada şu problemim çıktı orjinal resmin (resim1) çözünürlülüğü ile sonuc resim in çözünürlülüğü aynı değil. :)
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 07 Ekim 2019, 20:35:40
Alıntı yapılan: iboibo - 06 Ekim 2019, 23:09:27Her linenin iki ucunda  point olduğunu farzedelim birbirine en yakın pointler line ile birleştirilir eğer yanında ki point çok uzakta ise birleştirilmez aynı linenın baş ve son pointi kenar kabul edilir.

Her linenin  orije göre  kaçıncı derecede olduğu eğimden bulunabilir bu sayede 0 dan 360 dereceye kadar yanyana komşu lineler bululur uclar birleştirilebilir.

Paintteki boya doldurma gibi  de işlem yapılabilir pixeller genişletilir doldulrulur toleransdan uzakta ise burada yayılma sona erer bu noktaya poligoun pointi koyulur burası dış kanardır.

Tabi bunlar fikir vermesi açısından iş pek kolay değil.


Hocam Aslında Line lar birsürü noktalardan oluşuyor. ben line oluştururken kaynak israfı olmasın diye başlangıç ve bitiş noktalarını birleştirdim (arada kalanları almadım). Aslında her noktanın bir koordinatı var ve ben bunların hepsini bir DataSet te tutuyorum.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: tekosis - 07 Ekim 2019, 22:28:17
Hocam aşağıdaki sayfa işine yarar mı?

https://plot.ly/python/v3/polygon-area/
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 07 Ekim 2019, 23:01:02
hocam ploty bir python modülü ve maalesef online. Ayrıca polygon çizmekte problem yaşamıyorum. Ben bir algoritmayla bu noktalardan oluşan scatter den oluşan şekli poligonlarla çizmeye çalışıyorum. bunun içinde kenarların koordinatını bulmalıyımki poligonlar çizebileyim
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: z - 08 Ekim 2019, 00:15:13
Bayagi bir kafa yormak lazim.

Beyni en az yoracak fakat fazla islem gucu gerektirecek cozum soyle olabilir;

Kartezyen koordinatlar icin uretilmis verilerle poligonlari cizersin.

Sonra elindeki verileri polar koordinata cevirirsin.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 08 Ekim 2019, 00:18:27
Alıntı YapKartezyen koordinatlar icin uretilmis verilerle poligonlari cizersin.
Kartezyen de var, koordinat ta. polar koordinatta. Ama noktaların.
Poligon Nasıl Olacak ?
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: bocek - 08 Ekim 2019, 03:11:43
Hocam sizin probleminizi şu kütüphane çözer gibi:
https://doc.cgal.org/latest/Manual/packages.html

Anladığım kadarıyla da şu konu ile alakalı:
https://doc.cgal.org/latest/Optimal_transportation_reconstruction_2/index.html#Chapter_Optimal_Transportation_Curve_Reconstruction

Kütüphane C++ ile yazılmış ama pitonseverler de düşünülmüş:
https://pypi.org/project/cgal-bindings/
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 09 Ekim 2019, 01:04:15
https://joernhees.de/blog/2015/08/26/scipy-hierarchical-clustering-and-dendrogram-tutorial/
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 09 Ekim 2019, 11:53:00
https://ab.org.tr/ab13/bildiri/185.pdf
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: devrecii - 09 Ekim 2019, 16:37:13
Sorun çözüldü mü ?, linklerden hiçbir şey anlamadım.

Eğer elinde bir hex fomatında x-y koodinatleri olan ham değiştirmediğin dosyayı burada yayınlarsan yukarıda yazdığım pixelleri genişletip kümenin etrafını çizgi ile sarabilirim belki  :du:

 
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 09 Ekim 2019, 19:12:44
Hex degil. Herhangi birseye ihtiyaç ta yok örnek için. Iki üç guruptan oluşan dağılımları guruplandirmaya ve etraflarini cizmeye çalışarak ilerliyrom şu anda.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: OptimusPrime - 09 Ekim 2019, 19:29:05
Bir cozumum yok ama nesne tanima ile ilgili kitaplarda/makalelerde kuvvetle ihtimal buna benzer bir yapidan bahsetmislerdir. Cunki onlarda birbirleri ile iliskili nesneleri kaplayan/iceren poligonlar ciziyorlar.  :du:
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 09 Ekim 2019, 22:40:01
bugün bir test yaptım. 360derecelik ve 500km yarıçaplı bir alanda
1297728 satır, 6 sutun lık bir iki boyutlu dizi oluşuyor. Bilgisayarım memOverFlow verdi.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: OptimusPrime - 09 Ekim 2019, 23:06:32
https://jakevdp.github.io/PythonDataScienceHandbook/04.04-density-and-contour-plots.html
https://www.pythonprogramming.in/polar-contour-plot-in-matplotlib.html

fikir verir mi bilmem.  :du:
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 09 Ekim 2019, 23:32:27
Hocam teşekkür ederim. Fazla veriden mem problemi yaşıyorum.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 09 Ekim 2019, 23:34:37
Alıntı yapılan: OptimusPrime - 09 Ekim 2019, 19:29:05Bir cozumum yok ama nesne tanima ile ilgili kitaplarda/makalelerde kuvvetle ihtimal buna benzer bir yapidan bahsetmislerdir. Cunki onlarda birbirleri ile iliskili nesneleri kaplayan/iceren poligonlar ciziyorlar.  :du:
Bugün kümeleme algoritmalarını inceledim. Öklit uzaklığından tutunda, hiyerarsik kümelemeye kadar envai çeşidi var. Ne çok şey bilmiyormuşum.
 
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: OptimusPrime - 09 Ekim 2019, 23:45:16
Cesitli ali cengiz oyulari  ;)

Yillar once bir kitap indirmistim. Abidik gubudik bir suru algoritma vardi icinde ama her telden isler filtreleme, siralama, grafik isleri vs vs. Bu tip seyleri gorunce hep o kitap aklima gelir. Bulamiyorum diskimde, adinida hatirlamiyorum  :(
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 10 Ekim 2019, 22:34:47
Eninde sonunda anam babam usulu yazıp geçeceğim.
yanına bak- sağına bak-soluna bak-varsa grup ata
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 10 Ekim 2019, 22:47:31
DataSet imden aşağıda ufak bir örnek var. Range peryodik gidiyor. Örnek Sadece 0derece için.
0.1 derecelik çözünürlülük olası.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 31 Ekim 2019, 00:05:49
Hâlâ çözebilmiş değilim. Güncelliğini koruyor.
Anam babam usulü, şuraya git buradan bunu al sonra dön eve gel tarzında bir alg. geliştireceğim sanirim.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: engerex - 31 Ekim 2019, 09:39:16
Alıntı yapılan: muhittin_kaplan - 07 Ekim 2019, 20:35:40Hocam Aslında Line lar birsürü noktalardan oluşuyor. ben line oluştururken kaynak israfı olmasın diye başlangıç ve bitiş noktalarını birleştirdim (arada kalanları almadım). Aslında her noktanın bir koordinatı var ve ben bunların hepsini bir DataSet te tutuyorum.

Orijinal görüntü/veri var mı?
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: devrecii - 31 Ekim 2019, 16:15:25
Hocam senin yazdıklarına baktığımızda çok fazla point var hafızaya bile sığmıyor demişsin  ???

Elimizde 1000-500 tane nokta olsa oklitten , line point uzaklıktan vs bulup guruplandırabilirsin ama milyonlarca point varsa her noktayı milyon tane point ile kıyaslamak zorundasın bu ne kadar işlem gerektirir bakalım noktalar birbirinden bağımsız ise=

Permutasyon hesabından n*(n+1)/2 yani 1M*1M/2=500milyar kıyaslama işlemci 3ghz ama kısaylama için 30cpu clock gerekse saniyede 100milyon kıyaslama  500milyar/100milyon=5000saniye /3600 yaklaşık 1.5saat gerekecek.

Bunu sadece texture ile yapabilirsin yani bitmap resmi gibi düşünelim bir hafıza alanı var noktayı xy kooordinatına göre direk götürüp oraya koyuyrsun bir sonrakini koyduğunda cpu hemen yanında yada belli uzaklıkta nokta var mı çok kolay bulabiliyor , daha hassas olmasını istiyorsan bitmap alanını genişletirsin mesela 10000x10000 pixel

İş sadece guruplandırmakla bitmiyor bunu poligona çevirmekte çok zor iş çünkü poligonun pointleri belli bir sıraya dizilmiş olması gerekir rasgele düzensiz pointler ekrana çizilemez. Yani iş zor , bende bi basit deneme yapacağım .
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 01 Kasım 2019, 10:41:25
basit bir örnek paylaşayım.
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: OptimusPrime - 03 Ocak 2020, 20:44:56
Bireyler karistirirken denk geldim az once. Convex hull deniyor bu isleme. Birkac yontemden bahsediliyor elimdeki kitapda. Belki yardimci olur diye sey edeyim dedim  :)

Kitabin adi Introduction to Algorithms, 33.3 Finding the convex hull, sayfa 1029  ;) 
Başlık: Ynt: Polar Grafik Donusumu.
Gönderen: muhittin_kaplan - 04 Ocak 2020, 13:44:36
Hocam ConvexHull benim işime yaramadı. Bu alg. kümenin dış çerçevesini çizebiliyor. Benim ilk örneğimde dikkat edecek olursanız parçalı bir yapı var. Adalar, göller vs mevcut. Ayrıca bende o kadar çok nokta varki convexHull esnasında mem hatası uzun geçikme vs problemlerim oluyor.
https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.spatial.ConvexHull.html

Peki nasıl hallettim, matplotlib in wedge geometrik şeklini kullandım. (kama)
her çizginin başlangıcı ve bitişi zaten noktalardan dolayı mevcuttu, başlangıç ve bitiş açısınıda buldum, hepsini çizgilerden değil de wedge lerden oluşturdum.
https://matplotlib.org/3.1.1/gallery/shapes_and_collections/patch_collection.html

Yardımlar için herkese teşekkür ederim.