Arkadaşlar merhaba ; sorum çok fazla bilgimin olmadığı bir kısımdan,
şöyle ki; yapmak istediğim şey kullanıcıdan iki uc noktasının koordinatlarını aldığım çubukları 3 boyutlu bir eksende çizebilmek. Ve bu çubukların başlangıç bitiş noktalarını seçerek belirli özellikler atamak istiyorum, bunun gibi bu çubuklara bir çok özellik ekleyebileceğim bir yapı oluşturmak istiyorum…
Böyle bir şey nasıl yapılır hangi kütüphaneleri kullanmam daha iyi olur nasıl bir yol izlemeliyim ?
Herhangi bir grafik kutuphanesi bunu yapabilir. 3 boyutlu bir grafik kutuphanesi daha da kolay yapabilir.
Cubuklarin baslangic ve bitis noktalari zaten “evrende var olmak”, “yazbel forumlarinda konusulmak” gibi sonsuz sayida ozellige sahip. Secildiklerinde de “@aib tarafindan secilmis olmak” gibi ozelliklere sahip olacaklar. Yani bu dedigini yapabilmek icin hic kod yazmana gerek yok.
OpenCV zor. “Scene graph” ozelligi olan, daha kapsamli bir kutuphane iyi olabilir. vispy’de hazir kontroller var, denenebilir.
Cevabınız için teşekkür ederim öncelikle. Matplotlib ile cizebiliyorum fakat grafik uzerinde secim yapamadım.
OpenGl kutuphanesine baktım ,biraz daha 3 boyutlu nesneler için uygun gibi geldi bana.
Asıl merak ettiğim şey AutoCad gibi çizim programları bu tarz çizimleri nasıl yapıyor ? Yapmak istedigim AutoCad tarzı bir sey degil tabi ki de , eksen kullanımı açısından daha basit bir uygulama
3 boyutlu cizim denklemlerini kafalarinda kurabilecek, gerekli kutuphaneleri kendileri yazabilecek insanlari calistirarak.
Yani nasil anlatayim? Cizgi cizmek geometri; ekrana piksel cizebilme yetisi disinda bir sey istemiyor. Bir takim seyleri kolaylastirmak icin bir takim kutuphaneler var. Mesela ekranda mouse ile secilen noktayi uc boyutlu uzayda isina cevirmek icin gluUnproject gibi fonksiyonlari iceren GLU kutuphanesi var. Ama “hmm, ekranin ustundeki bir nokta aslinda uc boyutlu uzayimda bir cizgiye denk geliyor” diye dusunecek seviyeye gelmemis birinin isine yaramayabilir.
Programlarin kullandigi tek, ortak bir kutuphane yok. OpenGL var, ama o cok dusuk seviye—“programlar OpenGL kullaniyor” demek “programlar ekran karti kullaniyor” demek gibi bir sey. Izdusum matrisinin ne oldugunu bilmeni bekliyor. (Modern versiyonlari icin soyluyorum; immediate mode’un oldugu OpenGL 1 ve 2 gayet baslangic seviyesine uygun.)
Bence Unity gibi, Unreal Engine gibi oyun motorlarina bak. Kod yazmadan cizebilirsin eksen.
Merhaba, ben de benzer sorular ile 3D rendering olayını araştırırken basit bir proje yazmıştım. Her ne kadar istediğiniz olay için uygun bir implementasyon olmasa da fikir verebileceğini düşündüğüm için paylaşmak istedim. Proje yorum satırı içermediğinden anlaması biraz güç olabilir, öğrenirken yazdığımdan yapısı çok üzerine düşünülmüş bir şey değil ne yazık ki.