sonsuzluk

entry151 galeri12
    151.
  1. Hani nerde belirsiz boşluk? kullandığınız kelimenin matematikte, mantıkta ve maddi dünyada hiçbir karşılığı yok oğlum!

    https://galeri.uludagsozluk.com/r/2421182/+

    belirsiz boşluk olarak görülen uzayın hiç de belirsiz ve boş olmadığını ispatlayan 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
    }

    derleme ve çalıştırma komutları:
    g++ kup_izgarasi.cpp -o kup_izgarasi -lsfml-graphics -lsfml-window -lsfml-system
    0 ...
© 2025 uludağ sözlük