360 derece tarama

Başlatan muhittin_kaplan, 09 Ocak 2016, 21:42:33

muhittin_kaplan



yukardaki örnekten gidelim,(küçük kareler 1cmx1cm dir)

mavi noktayı rastgele seçeceğiz, mavi noktaya göre 0-359 derecede 10cm yarıçaplı (örnek)  bir dairede, hangi kutuları taradığını bulabilirmiyiz ?

(mavi noktanın yeri ve tarama mesafesi değişebilir)

Karamel

hocam ben soruyu tam olarak anlayamadim.  :-\

Kabil ATICI

x= ycap*cos( açı)
y=ycap*sin( açı)
yanlış hatırlamıyorsam 0-360 derece taramada x ve y tam sayı cinsinden alındığında dış kutuların sınırını verir.
eski dos altındaki basic'de daire çizdirmek için kullanılan formül.
Matris ile gidilebilir.
ambar7

mehmet

#3
Çember fonksiyonu kullanılabilir mi acaba?
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Karamel

#4
Alıntı yapılan: mehmet - 10 Ocak 2016, 00:07:44
Çember fonksiyonu kullanılabilir mi acaba?


hocam. amac noktayi bulmaksa. cember radus u adim adim arttirilarak. arindan kabil hocamin dedigi gibi. tek tek point tarayarakta olabilir.

kare yi kullanarak. bir kenarini tek tek buyuterekte yapilabilir ama soru tam olarak ne istiyor ben okuyup anlayamiyorum?  :-\

mesaj birleştirme:: 10 Ocak 2016, 00:28:35

birde. matematiksel olarak cember i kullanmak daha hizli olur. yani cember yari capi buyudukce point e kare den daha hizli ulasir. (yani bulana kadar biz daha az point taramis oluruz)ama microcontroller in sine cosine function lari hesaplarken ne kadar sure harcadigina bakmak lazim. cok vakit harciyorsa. kare yontemi daha hizli sonuc cikartabilir.

muhittin_kaplan

#5
şöyle düşünün
Mavi nokta merkez olarak alıp bir ışık tutacak olsak,
0. derecede 10cm ye kadar hangi kutuları
1. derecede 10cm ye kadar hangi kutuları
....

şeklinde 359. dereceye kadar bir array çıkartabilirmiyiz (her kutucuğun bir adı olduğunu varsayarsak.)

mesaj birleştirme:: 10 Ocak 2016, 00:35:40

(bunu 100 cm olarak taradığımızda Arada atlamamız gerekenler olacak sanırım.)

Kabil ATICI

Birer derece ile gitmeniz gerekmez. En dıştaki iki kare ortalayacak şekilde bir açı seçerek tararsanız olur.
Açı sabitken sadece yarı çapı birer cm artırılarak hesaplanırsa hangi karelere denk geldiği hesaplanabilir.
Tüm işlem sonucunda bir matris elde edersin, daire dış çizgisi üzerinde kareler farklı olsa bile daire merkezine yaklaştıkça ortak kullanılan kareler olacaktır.

Bu tür bir yapı grafik lcd üzerinde kendi grafiğini oluşturmak istediğin zaman baya bir sorun oluyordu. Çözünürlük düşük olduğu için çizgi göze batacak kadar kırıklı görünüyordu.
ambar7

muhittin_kaplan

benim 1 derece ile gitmem gerek,
istediğim hepsini belli bir çapta taramak değil, 1 dereceye göre taranması gerekenleri bulmak

z

Elektronik hedef mi bu?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

Anlamadım Hocam Nasıl Elektronik Hedef, Ortada Hedef Yok ki

z

Sensör dizisi ile oluşturulmuş hedefe ışık tabancasıyla atış yapıldığında ışığın çarptığı noktaya göre bir puanlama mı yapmaya çalışıyorsun diye aklıma soru geldi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

yok hocam, durum öyle değil. image ı yatay olarak düşünün (ve biraz da büyük, hatta devasa) 1 derece çözünürlülükte lazer tutun lazerin mesafesi örneğin 100km olsun, hangi kutuların üzerinden bu lazer geçer.
(yakın mesefade hepsinin üzerinden geçer ama uzak mesafede 1 dereceden dolayı arada atladıklaırı olacaktır.)

PROTECH_

Hocam bi grafik lcd kutuphanesindeki daire cizdirme ve line cizdirme fonksiyonlari,  bu soruya cevap olur.
Daire cizim fonksiyonu aciya gore en uc noktadaki kutunun x,y kordinatini verir. Line fonksiyonu da en uc noktadan merkeze hangi kutulardan gectigini verir
Multi-Core ,RTX,ThreadX, FreeRTOS, MODBUS  RTOS - Electronic-Hardware -- BERLIN

boreas

Benim anladığım siz bir çizgi değil alan olarak istiyorsunuz.Yani 1 derece dediğiniz zaman 0 ve 1 derece arasındaki bütün kutuları görmek istiyorsunuz gibi anladım. Çap değilde dilim olarak. Doğru mu ?

iyildirim

Alıntı yapılan: PROTECH_ - 10 Ocak 2016, 10:11:39
Hocam bi grafik lcd kutuphanesindeki daire cizdirme ve line cizdirme fonksiyonlari,  bu soruya cevap olur.
Daire cizim fonksiyonu aciya gore en uc noktadaki kutunun x,y kordinatini verir. Line fonksiyonu da en uc noktadan merkeze hangi kutulardan gectigini verir
+1

Dairesel Bresenham Algoritması.
https://en.wikipedia.org/wiki/Midpoint_circle_algorithm