bugün
- pkklıların salıverilmesine uludağ sözlüğün tepkisi11
- ikinci abdülhamid4
- ultraslan lideri sebahattin şirin'in gözaltına alı3
- durmazlar çetesi3
- dinsiz milliyetçilik3
- a9 tv3
- okan buruk5
- 09 ağustos 2026 istanbul da sağanak ve rüzgar uyar3
- gocunun freddy travması6
- dem parti3
- düşün ki o bunu okuyor5
- futbol24
- çocuğa tecavüz eden adamın kurşuna dizilmesi5
- cansever16
- ayşen gruda4
- pazar kahvaltı klasikleriniz6
- victor osimhen8
- özgür özel4
- kaplanın sırtında2
- şort giyen genç kıza saldıran yaşlı kadın31
- kışlık domates konservesi yapmak5
- adnan oktar vs fethullah gülen3
- spor yapmak2
- behlül bihter sevişmesinin reyting rekoru kırması5
- pkk lılara af çıkması4
- namuslu filmi3
- anın görüntüsü10
- türkiye pazar günü yeni bir sabaha uyanacak6
- okanınçükü2
- aym memur emeklilerine seyyanen zam kararı3
- çinliler4
- almanya11
- naif insanlar4
- çirkef galatasaray5
- galatasaray ın yine başını alması2
- sözlük yazarlarına gelen son mesaj2
- pocoyo daki pato'nun çok yakışıklı olması3
- enflasyon hedefinin tutmaması4
- galatasaray14
- lisede kızlara şiir okuyanlar şimdi ne yapıyor3
- katlanır bisiklet2
- 9 ağustos 2026 gaziantep depremi3
- dünyanın 10 da birinin solak olması5
- vfb stuttgart7
- kadınlar neden kötü araba kullanır sorunsalı14
- sabah kahvesi5
- zorunlu eğitim8
- italya7
- galatasaray neden transfer yapamıyor16
- fc internazionale milano6
varoluşa dair hiçbir şeye değer vermeyen nihilist olduğu halde, varlık mevzubahis olduğunda var olmayan bir şeye inanır, kendi de neye inandığını bilmiyordur. dogmatiktir.
uzay, belirsiz bir boşluk olmadığı gibi, boş hiç değildir!
transistörlerin ve transistör tabanlı mantık devrelerinin kusursuz etkileşiminden beslenen çok basit bir program bile bu gerçeği ispatlayabilir.
1000x1000x1000 piksel boyutlarında bir uzay hayal edin,
10x10x10 piksel boyutlu,
26 köşesinde özdeşleriyle kesişen küplerle yaratılsın!
çıktı:
görsel
kaynak kodu:
#include <SFML/Graphics.hpp>
#include <vector>
// Ekran boyutlarını tanımlayan sabitler
const int PENCERE_GENISLIGI = 1000; // Pencerenin genişliği (piksel)
const int PENCERE_YUKSEKLIGI = 1000; // Pencerenin yüksekliği (piksel)
// Küp ve uzay parametreleri
const float KUP_BOYUTU = 100.0f; // Her küpün kenar uzunluğu (1000 / 10 = 100 piksel)
const int IZGARA_BOYUTU = 10; // 10x10x10 küp ızgarası
// 3D noktaları temsil eden yapı
struct Nokta3B {
float x, y, z; // 3D uzayda x, y, z koordinatları
};
// 3D noktayı 2D noktaya dönüştüren fonksiyon (izometrik projeksiyon)
sf::Vector2f izdusu_hesapla(const Nokta3B& nokta) {
// izometrik projeksiyon: 3D koordinatları 2D ekrana yansıtır
float izoX = (nokta.x - nokta.y) * 0.707f; // 45 derece dönüşüm için cos(45°)
float izoY = ((nokta.x + nokta.y) * 0.3535f) - (nokta.z * 0.5f); // z eksenini yukarı taşıma
// Ekranın ortasına hizala
izoX += PENCERE_GENISLIGI / 2.0f;
izoY += PENCERE_YUKSEKLIGI / 2.0f;
return sf::Vector2f(izoX, izoY);
}
// Küpün köşe noktalarını tanımlayan fonksiyon
std::vector<Nokta3B> kup_koseleri_al(float x, float y, float z, float boyut) {
// Küpün 8 köşesinin 3D koordinatlarını döndürür
return {
{x, y, z},
{x + boyut, y, z},
{x + boyut, y + boyut, z},
{x, y + boyut, z},
{x, y, z + boyut},
{x + boyut, y, z + boyut},
{x + boyut, y + boyut, z + boyut},
{x, y + boyut, z + boyut}
};
}
// Küpün kenarlarını çizen fonksiyon
void kup_kenarlari_ekle(sf::VertexArray& cizgiler, const std::vector<Nokta3B>& koseler) {
// Alt yüzey çizgilerini ekler (köşeler 0-1-2-3)
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[0]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[1]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[1]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[2]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[2]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[3]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[3]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[0]), sf::Color::White));
// Üst yüzey çizgilerini ekler (köşeler 4-5-6-7)
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[4]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[5]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[5]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[6]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[6]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[7]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[7]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[4]), sf::Color::White));
// Dikey kenarları ekler (0-4, 1-5, 2-6, 3-7)
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[0]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[4]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[1]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[5]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[2]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[6]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[3]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[7]), sf::Color::White));
}
// Ana program fonksiyonu
int main() {
// Grafik penceresini oluşturur
sf::RenderWindow pencere(sf::VideoMode(PENCERE_GENISLIGI, PENCERE_YUKSEKLIGI), "3B Kup Izgarasi");
pencere.setFramerateLimit(60); // Çizim hızını saniyede 60 kare ile sınırlar
// Çizgileri saklamak için vertex dizisi
sf::VertexArray cizgiler(sf::Lines, 0);
// 10x10x10 küp ızgarasını oluştur
for (int x = 0; x < IZGARA_BOYUTU; ++x) {
for (int y = 0; y < IZGARA_BOYUTU; ++y) {
for (int z = 0; z < IZGARA_BOYUTU; ++z) {
// Küpün başlangıç koordinatlarını hesaplar
float konumX = x * KUP_BOYUTU;
float konumY = y * KUP_BOYUTU;
float konumZ = z * KUP_BOYUTU;
// Küpün köşe noktalarını alır
auto koseler = kup_koseleri_al(konumX, konumY, konumZ, KUP_BOYUTU);
// Küpün kenarlarını çizer
kup_kenarlari_ekle(cizgiler, koseler);
}
}
}
// Pencere açık olduğu sürece çalışır
while (pencere.isOpen()) {
sf::Event olay;
// Olayları işler (örneğin, pencereyi kapatma)
while (pencere.pollEvent(olay)) {
if (olay.type == sf::Event::Closed)
pencere.close();
}
// Pencereyi siyah renkle temizler
pencere.clear(sf::Color::Black);
// Tüm küp kenarlarını çizer
pencere.draw(cizgiler);
// Pencereyi ekranda günceller
pencere.display();
}
return 0; // Programın başarılı şekilde sonlandığını belirtir
}
uzay, belirsiz bir boşluk olmadığı gibi, boş hiç değildir!
transistörlerin ve transistör tabanlı mantık devrelerinin kusursuz etkileşiminden beslenen çok basit bir program bile bu gerçeği ispatlayabilir.
1000x1000x1000 piksel boyutlarında bir uzay hayal edin,
10x10x10 piksel boyutlu,
26 köşesinde özdeşleriyle kesişen küplerle yaratılsın!
çıktı:
görsel
kaynak kodu:
#include <SFML/Graphics.hpp>
#include <vector>
// Ekran boyutlarını tanımlayan sabitler
const int PENCERE_GENISLIGI = 1000; // Pencerenin genişliği (piksel)
const int PENCERE_YUKSEKLIGI = 1000; // Pencerenin yüksekliği (piksel)
// Küp ve uzay parametreleri
const float KUP_BOYUTU = 100.0f; // Her küpün kenar uzunluğu (1000 / 10 = 100 piksel)
const int IZGARA_BOYUTU = 10; // 10x10x10 küp ızgarası
// 3D noktaları temsil eden yapı
struct Nokta3B {
float x, y, z; // 3D uzayda x, y, z koordinatları
};
// 3D noktayı 2D noktaya dönüştüren fonksiyon (izometrik projeksiyon)
sf::Vector2f izdusu_hesapla(const Nokta3B& nokta) {
// izometrik projeksiyon: 3D koordinatları 2D ekrana yansıtır
float izoX = (nokta.x - nokta.y) * 0.707f; // 45 derece dönüşüm için cos(45°)
float izoY = ((nokta.x + nokta.y) * 0.3535f) - (nokta.z * 0.5f); // z eksenini yukarı taşıma
// Ekranın ortasına hizala
izoX += PENCERE_GENISLIGI / 2.0f;
izoY += PENCERE_YUKSEKLIGI / 2.0f;
return sf::Vector2f(izoX, izoY);
}
// Küpün köşe noktalarını tanımlayan fonksiyon
std::vector<Nokta3B> kup_koseleri_al(float x, float y, float z, float boyut) {
// Küpün 8 köşesinin 3D koordinatlarını döndürür
return {
{x, y, z},
{x + boyut, y, z},
{x + boyut, y + boyut, z},
{x, y + boyut, z},
{x, y, z + boyut},
{x + boyut, y, z + boyut},
{x + boyut, y + boyut, z + boyut},
{x, y + boyut, z + boyut}
};
}
// Küpün kenarlarını çizen fonksiyon
void kup_kenarlari_ekle(sf::VertexArray& cizgiler, const std::vector<Nokta3B>& koseler) {
// Alt yüzey çizgilerini ekler (köşeler 0-1-2-3)
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[0]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[1]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[1]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[2]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[2]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[3]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[3]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[0]), sf::Color::White));
// Üst yüzey çizgilerini ekler (köşeler 4-5-6-7)
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[4]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[5]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[5]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[6]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[6]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[7]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[7]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[4]), sf::Color::White));
// Dikey kenarları ekler (0-4, 1-5, 2-6, 3-7)
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[0]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[4]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[1]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[5]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[2]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[6]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[3]), sf::Color::White));
cizgiler.append(sf::Vertex(izdusu_hesapla(koseler[7]), sf::Color::White));
}
// Ana program fonksiyonu
int main() {
// Grafik penceresini oluşturur
sf::RenderWindow pencere(sf::VideoMode(PENCERE_GENISLIGI, PENCERE_YUKSEKLIGI), "3B Kup Izgarasi");
pencere.setFramerateLimit(60); // Çizim hızını saniyede 60 kare ile sınırlar
// Çizgileri saklamak için vertex dizisi
sf::VertexArray cizgiler(sf::Lines, 0);
// 10x10x10 küp ızgarasını oluştur
for (int x = 0; x < IZGARA_BOYUTU; ++x) {
for (int y = 0; y < IZGARA_BOYUTU; ++y) {
for (int z = 0; z < IZGARA_BOYUTU; ++z) {
// Küpün başlangıç koordinatlarını hesaplar
float konumX = x * KUP_BOYUTU;
float konumY = y * KUP_BOYUTU;
float konumZ = z * KUP_BOYUTU;
// Küpün köşe noktalarını alır
auto koseler = kup_koseleri_al(konumX, konumY, konumZ, KUP_BOYUTU);
// Küpün kenarlarını çizer
kup_kenarlari_ekle(cizgiler, koseler);
}
}
}
// Pencere açık olduğu sürece çalışır
while (pencere.isOpen()) {
sf::Event olay;
// Olayları işler (örneğin, pencereyi kapatma)
while (pencere.pollEvent(olay)) {
if (olay.type == sf::Event::Closed)
pencere.close();
}
// Pencereyi siyah renkle temizler
pencere.clear(sf::Color::Black);
// Tüm küp kenarlarını çizer
pencere.draw(cizgiler);
// Pencereyi ekranda günceller
pencere.display();
}
return 0; // Programın başarılı şekilde sonlandığını belirtir
}
Gündemdeki Haberler
Güncel Önemli Başlıklar