3D Grafik Yazılımlarım - C++ Sources

Başlatan devrecii, 25 Nisan 2020, 23:45:01

devrecii

25 Nisan 2020, 23:45:01 Son düzenlenme: 25 Nisan 2020, 23:56:44 devrecii
Ülkenin ekonomik durumu , üretimin olmaması bir de üstüne bu hastalık da gelince  elektronik iyice bitti.

Gelecek karanlık, bu nedenle aç kalmayalım diye yazılıma yönelmeye karar verdim, yazılım olarak da oyun yapımı.

Bununla ilgili yaptığım iki çalışma ,oyun yapmak için araç gereç, kaynak kodları da mevcut.  Yalnız oyun diye küçük görmeyin matematiğin en yüksek seviyesidir .
3D yazıcı ile uğraşanların da işine yarayabilir en azından matematiği.

Bu program sabit 3D grafiği hereketlendirmek için=

Code,exe -> https://drive.google.com/file/d/1Oq97aSKD3q-A7bDrnidUAUdlkgYUf5Vc/view

Bu program ışıklandırma yapıyor.

Code,exe -> https://drive.google.com/file/d/10M0QhxRw-MTpOR0PeL1YPn41igIn_5gT/view

devrecii

Şu konularla uğraşan kimse yok mu ? Ya da forum dışında , güçleri birleştirelim :(

Bu mudur yani..


z

Eger ugrasirim dersen 3D yazicilar icin dilimleme programinin yazimina bir el at.



Bana e^st de diyebilirsiniz.   www.cncdesigner.com

devrecii

Hocam yaparım da , ilgi çekici olur mu? Para kazanmayı geçtim . En azında şu youtube koyduğmuzda 100bin izlensin.  >:(

400 izlendi bunlar  >:(

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

devrecii

Hocam eğer uğraştırmayacaksa cüzzi bir ücret karşılığı ya da ücretsiz de yaparım esas konu ne kadar uğraştırır.

Sen istersen neler lazım diye bir düşün daha sonra yaz bakalım. Senin yüzünden gözüm şu raspi de, acaba Java+opengl kullanılarak bir şeyler olur mu ?  Bu kartların 3d hızladırıcı çipi de var tümleşik.

z

Bir ara yazmaya yeltendim ama birakmak zorunda kaldim. Kolay is degil. Safi matematik.

En buyuk sorun da bmp to vector islemi.

Elmayi ortasindan bicakla kesip murekebe bandirdin sonra da bir kagida bastirip kesik yuzeyin bmp goruntusunu kagida aldin.

Simdi bu resmi en az en kestirme sekilde vektorel tarif etme sorunu zaten yillardir cozemedigim bir konu.

Kullandigin toollarla belki kolayca yaparsin.

Ne kadar ugrastiracagini bilemiyorum. Ama kolay is degil.

Fakat dilimleyicilerin acik kaynak kodlari var diye hatirliyorum.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

devrecii

26 Nisan 2020, 21:57:52 #7 Son düzenlenme: 26 Nisan 2020, 22:04:33 devrecii
Mesela şu üstteki 3d köpek modeli diyelim bu köpeği  herhangi yerinden bir düzlemle kesiyoruz 2d bir görüntü elde edip içni bir şekilde dolduruyoruz bu değil mi hocam?

Mesela bmp paint de bir çizim var bunu vektörel hale getireceğiz ise spesifik bir konu,  hatta muhittin kaplan bununla ilgili bir konu açmıştı pointleri bir araya getirip poligon haline getirmek, ama senin söylediğin daha kolay.

Fakat benim anlamadığım bunun 3d yazıcı ile alakası? Mesela bir bmp paint resmi vectör haline getirmeden de tarayabilirsiniz.

z

Tamam iste dedigin gibi spesifik konu. BMP goruntuden vectorel ifade edilebilen yollari cekip cikaracaksin.
O kadar iyi olmali ki en az vektorle bmpyi ifade edebilmelisin.

FDM yazicilarda raster tarama yapamazsin. Mecburen vectorel olmak zorunda. Cunku erimis plastigi pixel pixel tukurtemezsin ama erimis plastigi yilan gibi birakabilirsin.

SLS printerde raster tarama yapabilirsin ve onun dilimleme programi da nispeten daha kolay.

3D yazici ile alakasi ne?

Dilimleme programini yazmadigin surece 3D printerlerde hayati konularda iyilesme yapamazsin.
Bazi problemlere cozum getirebilmek icin bence dilimleyiciyi yazabilmek gerekiyor.




Bana e^st de diyebilirsiniz.   www.cncdesigner.com

devrecii

Hocam dilimleyiciyi yazabiliriz fakat neden bmp ye çeviriyoruz ya da bu *.bmp nereden geliyor bunu anlamadım, elimizde 3d obje var kesebiliriz ve elimzde 2D vektörel görüntü kalır içini de vektörel doldurabiliriz.

Kaliteli  baskı olacaksa bmp resmi de çok geniş olmalı mesela 4096 X 4096 bunu bilgisayar nasıl hesaplayıp poligona çevirecek? 
4096px desen çözünürlük bu ,  float çözünürlüğü 2^24  kaliteyi neden düşürüyorsun?

Eğer diyorsan ben *.bmp resmi çizecem bastıracam sana ne ? O zaman google da araştırdığımda bir sürü yazılım gördüm fakat küçük resimde bile baya bekletiyor, sonuçlar iyi. Bunları kullanabilirsin.

Endorfin35+

Grafik ile ugrasan birilerini gorunce gercekten mutlu oluyorum. Programciyim diyenlerin buyuk cogunlugu grafik kutuphanelerini bilmiyor kullanmiyor. Ama  elini sallasan veritabani programcisi var. Aslinda birazda arz talep iliskisi sanirim bu isler. Endustriyel alanda bir suru farsat var ama para kazanmak o hep sikintili ayri bir konu..

Sahsen vaktin olsa goruntu isleme, cad, cam konularinda yazilim gelistirmek isterdim.

Mavis.com.tr yi inceleyip feyz alabilirsin.
"İşi bilen yapar, az bilen akıl verir, bilmeyen eleştirir, yapamayan çamur atar."

z

27 Nisan 2020, 05:21:42 #11 Son düzenlenme: 27 Nisan 2020, 05:23:40 z
Alıntı yapılan: devrecii - 27 Nisan 2020, 01:24:16Hocam dilimleyiciyi yazabiliriz fakat neden bmp ye çeviriyoruz ya da bu *.bmp nereden geliyor bunu anlamadım, elimizde 3d obje var kesebiliriz ve elimzde 2D vektörel görüntü kalır içini de vektörel doldurabiliriz.

Kaliteli  baskı olacaksa bmp resmi de çok geniş olmalı mesela 4096 X 4096 bunu bilgisayar nasıl hesaplayıp poligona çevirecek? 
4096px desen çözünürlük bu ,  float çözünürlüğü 2^24  kaliteyi neden düşürüyorsun?

Eğer diyorsan ben *.bmp resmi çizecem bastıracam sana ne ? O zaman google da araştırdığımda bir sürü yazılım gördüm fakat küçük resimde bile baya bekletiyor, sonuçlar iyi. Bunları kullanabilirsin.

Neden BMP işin içine giriyor? Sen istersen buna BMP deme de iki boyutlu matris de.

Bir kirpi düşün. Her bir dikeni farklı doğrultuda. Her bir dikenin başlangıç ve bitiş koordinatlarını biliyoruz.
Şimdi kirpinin derisinden 1 mm yükseklikten yatay olarak dikenleri keselim.

Dikenlerin başlangıç koordinatı değişmedi ama bitiş koordinatları değişti. Bitiş koordinatlarında z=1mm ve tüm X-Y değerlerini biliyoruz. İşte BMP burda işin içine giriyor. X,Y koordinatlarına siyah nokta koyarsak dikenlerin 1mm yükseklikteki dilimlenmiş durumuna ait haritayı elde ederiz. BMPyi işin içine sokmak istemiyorsan XY iki boyutlu array içinde nokta var yok bilgilerin var.

Şimdi amacımız bu XY noktalarının her birini bir birine bağlamak. En basit şekilde en yakın noktaları birbirine bağlayabilirsin ama bu her defasında eğimin değişeceği dolayısı ile her iki nokta için vektör üreteceğin anlamına gelir ki vektörlerin sayısı inanılmaz fazla olur ve bu hiç bir işe yaramaz. (Makineyi acaip yorar kağnı gibi çalışır) Ama aynı eğimde olacak şekilde komşu (birbiri arasında boşluk olmayan) noktalardan bir doğru denklemi elde  edersen tek bir vektör yüzlerce noktayı kapsamış olur. Fakat burda da bir optimizasyon sorunu var.

Neyse dilimleyiciler anlattığım mantıkla vektör üretiyor demiyorum bu sadece benim öngördüğüm yapı. Belki daha basit yöntemi vardır.

Bu anlattığım %100 doluluk içindi.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

devrecii

Hocam bana kızacaksın ama bu kirpi gibi yapı nereden geliyor :) nasıl bir model bu. Cismi kestiğin zaman bunu poligon haline getirmen mümkün 1cm yukarısı 1cm aşağısı  fark olacak diyorsan bunu da tamamen poligonal hesaplamak mümkün.

Neyse sen böyle istiyorsun tamam bmp array düşünelim.

-Pixeli bulduk yazıcı ucu buraya geldi , program baktı altta yanda sağda solda çapraz nokta var mı?
-Uc ısıtılıyor
-Eğer varsa altta  yine var, yine var  ok o zaman y=10 dan y=100 e kadar git emri verdi çizdi.
-Bittiktn sonra sağa kay şimdi yukarı doğru vsvs


Böyle yavaş mı olur yoksa , evrensel mi olmaz.



z

27 Nisan 2020, 18:01:28 #13 Son düzenlenme: 27 Nisan 2020, 18:02:45 z
3D cizimler STL yani ucgen dili ile ciziliyor ya. Kirpi ornegini ordan verdim.

Dedigin gibi acaip yavas olur.

Mesela 1 den 100000 um ileriye girmek demek 10 mikrometrelik artimlarla 10000 adim demek. (100mm)
Sen yan yana 10000 noktanin her birisi icin motorlara hareket verip plastigi ac kapa yaparsan acaip zaman kaybedersin.

Ama 1 den 10000'e git dersen erimis plastigi de akitmaya baslarsan plastigi doke doke hizlica gidersin.

Ustelik 10000 nokta icin 10 bin satir G kod uretmen lazim. Halbuki 1 den 10000'e git dediginde is tek satirda biter.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

devrecii

Program bunu halledecek  koordinatları sadece gönderecek pixel pixel değil.

Bitmap resminde şeklin kenarlarını bulmak çok kolay bir uçdan bir uca sadece x1y1,x2x2 koordinati gidecek.

Görüntü güzel olur mu bilmiyorum ilk başta kenar çizilip sonra içi doldurulabilir de.


Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.