Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


oyunyapimi.org: Forums

www.oyunyapimi.org :: Başlığı Görüntüle - Bir noktanın bir alan içinde olup olmaması
 SSSSSS   AramaArama   Kullanıcı GruplarıKullanıcı Grupları   ProfilProfil   LoginLogin 

Bir noktanın bir alan içinde olup olmaması

 
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Programlama Dilleri ve Algoritmalar
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
DoganBir



Kayıt: Mar 24, 2003
Mesajlar: 305
Nereden: İstanbul

MesajTarih: Mon Nov 28, 2005 10:07 am    Mesaj konusu: Bir noktanın bir alan içinde olup olmaması Alıntıyla Cevap Ver

Bir noktanın önceden sınırları tanımlanmış bir alan içinde olup olmadığını anlamak için kullanılan bir algoritma arıyorum. basit olması gerekiyor, karekök alma gibi işlemler olmamalı. veya 2 çizginin birbirini kesip kesmediğini anlayacağım bir algoritma da olabilir.
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
mentat



Kayıt: Oct 15, 2002
Mesajlar: 528

MesajTarih: Mon Nov 28, 2005 10:38 am    Mesaj konusu: Alıntıyla Cevap Ver

nokta poligon testi için yöntemlerden birisi: poligonun dışında olduğundan emin olduğun bir nokta al ve test edeceğin noktayla bunu birleştir. çıkan doğru parçasını poligon ile kesiştir, kesişme sayısı tek ise nokta poligonun içinde, çift ise dışındadır.

ikinci bir yöntem de, noktandan poligonun köşelerine doğrular çek. doğrular arasındaki açıların toplamı 360 ise içerde, değilse dışarıdadır noktan.

aklıma gelenler bunlar. netten point in polygon falan diye aratabilirsin, gamedev'de de olacaktı birkaç yazı konuyla ilgili..
Başa dön
Kullanıcı profilini gör
lucifer



Kayıt: Nov 02, 2002
Mesajlar: 215
Nereden: Istanbool

MesajTarih: Mon Nov 28, 2005 10:47 am    Mesaj konusu: Alıntıyla Cevap Ver

Bir suru yontem var, ne icin kullandigina gore degisir. 2D mi 3D mi diye sorsam mesela, alanlar basit ucgen/dikdortgenler mi yoksa abuk subuk sekiller olabiliyor mu...
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
DoganBir



Kayıt: Mar 24, 2003
Mesajlar: 305
Nereden: İstanbul

MesajTarih: Mon Nov 28, 2005 10:56 am    Mesaj konusu: Alıntıyla Cevap Ver

2D olacak. Mentat ın söylediği ilk yöntemi kullanmayı düşünüyorduk ama daha kolay ve bizi yer ve hız açısından daha az zorlayacak bir algoritma varmıdır diye araştırma yapıyorum. Şekil abuk subuk bir çokgende olabilir.
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
lucifer



Kayıt: Nov 02, 2002
Mesajlar: 215
Nereden: Istanbool

MesajTarih: Mon Nov 28, 2005 11:08 am    Mesaj konusu: Alıntıyla Cevap Ver

2d abuk subuk cokgenler icin Mentat'in ilk metodu en iyisi.

Mentat'in ikinci metodu yuvarlama hatalari sebebiyle hafif hatali sonuc verebiliyor bazen.. hafif hatali dedigim, noktamiz poligon'un koselerinden birine yakinsa icerideyken disarida, disaridayken iceride diyebiliyor.

Mentat'in ucuncu yontemi var bir de, ama sadece poligon convex ise ise yariyor. Poligon'un bir kenarindan basliyorsun. Nokta o kenarin hangi tarafinda diye bakiyorsun, sonra sirayla diger kenarlara da bakiyorsun. Eger nokta hep ayni tarafta ise (hep sag ya da hep sol) o zaman iceridedir. Bu benim en sevdigim yontem ama poligon konveks ise ise yariyor sadece.
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
amator



Kayıt: Dec 21, 2003
Mesajlar: 36

MesajTarih: Mon Nov 28, 2005 2:41 pm    Mesaj konusu: Alıntıyla Cevap Ver

Mentat'in ilk verdigi algoritma ile ilgili: http://www.alienryderflex.com/polygon/

Eger test edecegin poligon sabit ise, ve de cok abuk subuk birsey degilse bu poligonu parcalara ayirip lucifer'in soyledigi son metod'u da deneyebilirsin. P'nin AB'nin hangi tarafinda oldugunu PA x PB'nin z koordinatinin isaretiyle bulman lazim. (x = crossproduct)
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
Ziyaretci



Kayıt: Apr 24, 2003
Mesajlar: 287
Nereden: İstanbul

MesajTarih: Mon Nov 28, 2005 2:47 pm    Mesaj konusu: Alıntıyla Cevap Ver

Eğer bir şekilde poligon un içindeki ve dışındaki renkleri gruplama ihtimalin varsa, gayet hızlı bi yöntem bulunabilir. (Mesela, polygon içindekilerin renklerinin son bitleri 0 dır diğerlerinin değildir vs. şeklinde)

bu durumda direk renk kontrolü işini görebilir. yada, biraz daha kasıp, RGB lerin lowest bitlerini kullanırsan, bunu 8 poligonu gösterecek biçimde de kullanabilirsin. (ancak ışık, sis vs. efekt yapacaksan tabii bu dediklerim bir işine yaramaz.)

yada, diğer Alpha vs. bufferları kullanmayı deneyebilirsin.

yada, depth buffer için Write i TRUE, test i FALSE yaparsan, depth buffer bilgisi de yardımcı olabilir.

eğer bunlar uygulanabilir değilse, mentat ın dediği yöntemle yapman gerek gibi duruyor.

kolay gelsin.
Başa dön
Kullanıcı profilini gör
DataDump



Kayıt: Aug 26, 2005
Mesajlar: 35

MesajTarih: Mon Nov 28, 2005 2:55 pm    Mesaj konusu: Alıntıyla Cevap Ver

(255, 0, 255) gibi zit bir renk ile fillPolygon yap. Istedigin noktanin rgb degeri polygon ile ayni ise nokta polygonun icindedir demektir.
Başa dön
Kullanıcı profilini gör
DoganBir



Kayıt: Mar 24, 2003
Mesajlar: 305
Nereden: İstanbul

MesajTarih: Mon Nov 28, 2005 3:05 pm    Mesaj konusu: Alıntıyla Cevap Ver

şimdilik ilk yöntemi kullanıyorum. Fonksiyona sadece koordinatlar geliyor ve benim bu koordinatları kullanabilme şansım var. Boyutunun çok küçük olması gerekiyor çünkü hafıza sorunumuz var. İlk yöntemden daha az yer kaplayacak bir algoritma arıyorum. Polygon önceden tanımlanmış olacak ama abuk subuk olabilme ihtimali var. Bu yüzden sonradan sorun çıkarmayacak bir algoritmaya ihtiyacım var.
Yardımlarınız içinde teşekkür ederim.
İhtiyacı olan olursa şimdilik kullandığım yöntem
http://www.informatik.uni-oldenburg.de/~trebla/graphic/
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
DataDump



Kayıt: Aug 26, 2005
Mesajlar: 35

MesajTarih: Mon Nov 28, 2005 3:27 pm    Mesaj konusu: Alıntıyla Cevap Ver

Bunu ne icin kullanacaksaniz? Dusuk hafiza dedigine gore mobil bir cihaz yada set-top-box sanirim.
Başa dön
Kullanıcı profilini gör
DoganBir



Kayıt: Mar 24, 2003
Mesajlar: 305
Nereden: İstanbul

MesajTarih: Mon Nov 28, 2005 3:59 pm    Mesaj konusu: Alıntıyla Cevap Ver

mikrokontroller içine yazılcak bu kod. Ve hafızanın büyük kısmı zaten dolmuş durumda
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Mon Nov 28, 2005 4:12 pm    Mesaj konusu: Alıntıyla Cevap Ver

o zaman elinde 4 işlemden başka bişey yok. Eğer 2d ise her noktanın bağlı olduğu diğer noktadan çıkarıp x/y yap ondan sonra kontrol noktasından aynı noktayı çıkarıp x/y yapıp kıyaslama yap . tabi bu arada noktanı sağında mı solundamı ,yukarı aşağı kontrolku yapılması lazım
yani birde poligonun orta noktası bilinecek. tabi bu yamuk yumuk kenar sayısı belli olmayan uygulamalar için üçgen için daha kolay yönt var
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
Mesajları göster:   
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Programlama Dilleri ve Algoritmalar Tüm saatler GMT +2 Saat
1. sayfa (Toplam 1 sayfa)

 
Forum Seçin:  
Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB 2.x.x © 200x phpBB Group
Türkçe Çeviri : Onur Turgay & Erdem Çorapçıoğlu
Türkçe Düzenleme: Alexis Canver
Version 2.x.x of PHP-Nuke Port by Tom Nitzschner © 200x www.toms-home.com




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.151 Saniye