Kendimi geliştirmek için bir proje yapmak istiyorum üstadlar. Aklımdakiler: İki tane 3 boyutlu küp olacak,iki küpün arasına ip bağlanacak,bir tane küpü mouse ile tutup sürüklerken diğer küp doğal olarak iple birlikte aynı yöne doğru savrulacak. Bunun için bir grafik motoru gerekiyor,yapabileceğim kadarı ile bu grafik motorunu ve grafiklerini turing makinasını kullanarak saf python ile yapmak istiyorum. Buradan bazı arkadaşlar neden opengl kütüphaneleri kullanmıyorsun diyebilir,işin esprisi burada zaten,ben her şeyi sıfırdan yazarak temelden bu işi sökmek istiyorum,bir bakıma AR-GE.

İzleyeceğim yollar nelerdir ?

soruldu: 30 Ağu, 17:05

ShooterLens's gravatar image

ShooterLens
277101425
cevap kabul oranı: 0%

değiştirildi: 30 Ağu, 17:06


3 boyutlu görüntü oluşturmanın temeli şudur. hesaplamalar 3 boyutlu koordinat sistemi üzerinde matematiksel olarak yapılır. ama monitör iki boyutludur. bu yüzden 3 boyutlu koordinat sisteminde ki cisimler 2 boyutlu düzlem üzerine izdüşümü alınır ve ekrana basılır. kaplamalar ışıklandırmalar ve fizik motoru gibi işlemleri hiç saymıyorum bile. eğer bu hesaplamaları kağıt üzerinde matematiksel olarak yapabiliyorsan dil o kadar önemli değil. bu hesaplamalar çok hızlı işlem gerektireceği için Python yetersiz kalır. hatta işlemler CPU üzerinde değil GPU üzerinde yapılması gerekir. Python çok güzel bir dildir. ama bu gibi işler için uygun değildir.

Bu konuda kitap tavsiyesi yapayım

Turbo ve Borland C & Pascal ile Grafik - Hakan Erdun

muhtemelen bu kitap artık basılmıyordur. belki hala bir yerlerde kalmıştır. Kitap pascal ve C ile anlatıyor. ancak işin matematiği hangi dili kullanırsanız kullanın aynı.

Edit - Python ile oyun programlama için bir link vereyim http://programarcadegames.com/

permanent link

cevaplandı: 31 Ağu, 02:24

Fatih%20A%C5%9Flamac%C4%B1's gravatar image

Fatih Aşlamacı
1.0k111929
cevap kabul oranı: 14%

değiştirildi: 31 Ağu, 03:25

1

lise seviyesinde matematik ve geometri bilgisiyle 2 boyutlu izdüşüm denklemlerini kendin hesaplayabilirsin. 20 sene önce pascal ile ben öyle yapmıştım. sadece wireframe görüntü oluşturan basit bir görüntü motoruydu. sonrasında kaplamalar ışıklandırma vs detaylar işin içine girince olay farklı bir boyut alıyor. tekerleği yeniden icat etmenin lüzumu yok. kendini geliştirmek için pekala opengl kütüphanesini kullanabilirsin.

(31 Ağu, 03:32) yunus yunus's gravatar image

Katılıyorum, tekerleği yeniden icat etmeye gerek yok. ancak tekerleğin nasıl üretildiğini bilirseniz bu bilgi tekerleği kullanırken size avantaj sağlar.

(31 Ağu, 03:40) Fatih Aşlamacı Fatih%20A%C5%9Flamac%C4%B1's gravatar image

" ancak tekerleğin nasıl üretildiğini bilirseniz bu bilgi tekerleği kullanırken size avantaj sağlar." Amacım bu zaten Fatih hocam,ben sadece yazılımcı değil,mühendis olmak istiyorum yani işin temelinden bilmek, okulda öğretileceklere bir temel hazırlamak için şimdiden çalışıyorum. c++ ile nvidia kartlarda CUDA programming denen bir olay var,direk gpu yu kodluyorsunuz. Ancak benim merak ettiğim C++ gibi olmayan dillerde(java,ruby,python,lisp) bu olayın nasıl olduğuydu,çünkü bu dillerde donanıma emir veremiyorsunuz

(31 Ağu, 08:03) ShooterLens ShooterLens's gravatar image

tekerleğin nasıl çalıştığını anlamak için yeniden tekerlek üretmeye gerek yok arkadaşlar. çalışan bir tekerleği incelemeniz yeterli.

(01 Eyl, 03:28) yunus yunus's gravatar image

İlk temelce phytonu öğren, Sonra phytonun görsel kütüphanesini öğren. MouseEventlerini öğren sonra önün iyice açılır . Küçük bir kaç örnek yaptıktan sonra bu tahmin ediyorm birazcıkta matematikle bu işi çözersin :D

permanent link

cevaplandı: 30 Ağu, 17:11

Qmer05's gravatar image

Qmer05
13041332
cevap kabul oranı: 0%

Hocam temelde pythonu algoritma ve fonksiyonlar olarak biliyorum,kütüphane olarak eksiğim var sadece. Görsel kütüphaneden kastınız Tkinter mi ?

(30 Ağu, 17:17) ShooterLens ShooterLens's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×41
×1
×1

Soruldu: 30 Ağu, 17:05

Görüntüleme: 159 kez

Son güncelleme: 01 Eyl, 03:28

powered by BitNami OSQA