- Matrisler, okulda öğrendiğimiz önemli doğrusal cebir kavramlarından biridir ve çeşitli problemleri çözmede faydalıdır. Bu yazı, Schemio adlı interaktif bir diyagram düzenleyicisi geliştirilirken matrislerin nasıl kullanıldığını açıklıyor.
Schemio'nun ilk geliştirme aşaması
- İlk Schemio basit bir yapıdaydı; kullanıcılar şekiller oluşturabiliyor, bunları taşıyabiliyor, yeniden boyutlandırabiliyor ve döndürebiliyordu.
- Şekiller; konum, boyut ve dönüş açısıyla tanımlanan basit bölgeler olarak temsil ediliyordu.
- Veri yapısı, şekilleri düz bir dizi olarak ifade ediyordu.
Hiyerarşi yapısının sorunu
- Şekilleri birbirine bağlamak ve karmaşık etkileşimler oluşturmak için öğe hiyerarşisi tanıtıldı.
- SVG kullanıldığında hiyerarşik yapıyı kolayca render etmek mümkündü, ancak Schemio'nun render etmenin ötesinde işlevler sunması gerekiyordu.
- Yerel koordinatlar ile dünya koordinatları arasında dönüşüm gerekliydi.
Ölçekleme ve pivot noktası
- Ölçekleme, nesnenin boyutunu dinamik olarak ayarlamayı sağlar; pivot noktası ise dönüşün merkezini tanımlar.
- Ölçekleme ve pivot noktası eklendiğinde dönüşüm yönetimi karmaşıklaştı ve sorun matrisler kullanılarak çözüldü.
Matris dönüşümlerinin temelleri
- Dönüşümler matrisler kullanılarak ifade edilebilir. Örneğin uzaydaki bir nokta 3x1 matris olarak gösterilebilir.
- Dönüşüm matrisi ile nokta matrisi çarpılarak dönüştürülmüş nokta elde edilir.
- Dönüşüm matrisleri birleştirilerek çeşitli dönüşümler gerçekleştirilebilir.
Dünya koordinatları ve yerel koordinatlar
- Yerel koordinatları dünya koordinatlarına dönüştürmek basittir, ancak tersi daha karmaşıktır.
- Bir matrisin tersi kullanılarak dünya koordinatları yerel koordinatlara dönüştürülebilir.
Nesneleri bağlama ve ayırma: hiyerarşik dönüşümlerin zorluğu
- Bir nesne başka bir nesneye sürükleyip bırakıldığında veya hiyerarşi değiştirildiğinde yeni konum ve dönüş yeniden hesaplanmalıdır.
- Sürüklenen nesnenin konumu ve dönüşü, ekranda doğal şekilde hareket etmesi için ayarlanır.
Sonuç
- Schemio geliştirme sürecinde karmaşık problemler matematiksel kavramlar kullanılarak çözüldü.
- Projeyle ilgileniyorsanız kaynak kodunu GitHub'da inceleyebilir ve Schemio web sitesinde doğrudan deneyebilirsiniz.
1 yorum
Hacker News görüşleri
Schemio adlı yeni bir açık kaynak yazılım keşfetmiş olmanın heyecanı
Adobe PostScript, 1980'lerde dönüşüm matrislerini yaygınlaştırdı
WebGLFundamentals.org'daki materyaller, dönüşüm hiyerarşisine harika bir giriş niteliğinde
Yazar, homojen koordinatlar hakkında araştırma yapılmasını öneriyor
QGraphicsView framework'ü son derece güçlü bir grafik framework'ü
2D'de dönüşüm için 3x3 homojen matrisler kullanmanın hoş bir yönü
Schemio harika görünüyor
İlginç bir makale ve yazılım
Bir nesne taşınırken çok sayıda alt nesne varsa, tüm alt nesnelerin A(i-1) terimini güncellemek gerekiyor
Schemio çok güzel ve gerçekten kullanmaya değer gibi görünüyor