Yazan : Şadi Evren ŞEKER

Bilgisayar grafiklerinde nesneleri modellemek için kullanılan yapılardan birisidir. Buna göre modelleme işlemi için bir veri ağacı kullanılır ve bu veri ağacının her üyesi bir nesneden oluşur. Bu sayede nesneler arasındaki bağlantı tutulabileceği gibi nesneler gruplanarak daha üst nesne tanımları elde edilmiş olur.

Örneğin aşağıdaki araba modelini ele alalım:

Yukarıdaki ara birden fazla nesnenin birleşmesinden oluşmaktadır. Olayı basitleştirmek için 4 tekerlek ve bir araba kasasından (şasi) oluştuğunu düşünelim. bu durumda aynı tekerlek nesnesi 4 farlı konumda ve 4 farklı şekil değiştirmeye (transformation) tabi tutularak modellenecektir.

Bu modelleme sırasında kullanılabilecek yöntemlerden birisi varlık-durum tablosudur (symbol instance table) ancak bu yöntemde şekiller arasında bir eşgüdüm (senkronizasyon, sychronisation) elde edilmesi oldukça güçtür. Örneğin arabanın hareket etmesi tekerlerin döndüğü miktara bağlıdır. Dolayısıyla araba kavramı ile teker arasındaki bağlantı tablo üzerinde ifade edilememektedir.

Çözüm olarak bir nesneyi ve bu nesneyi meydana getiren alt nesneleri aşağıdakine benzer bir ağaç yapısı içerisinde tutmak mümkündür:

Yukarıdaki modelleme sayesinde nesneyi oluşturan alt nesneler ile bir ilişki kurulmuştur. Yapısı itibari ile yönlü düz ağaçlardır (Directed Acyclic Graph).

Yukarıdaki bu yöntem kullanıldığında gösterici (pointer) yapısının da sağlamış olduğu imkanlar ile aslında aşağıdakine benzer bir veri modellemesi elde edilebilir:

Yukarıdaki yapıda bir nesnenin farklı ortamlarda kullanılmasına karşılık her kullanım durumu aynı nesneyi işaret etmektedir

Yorumlar

  1. tarık-ege.üni

    Daha önce hiç aklıma gelmemişti böyle bir şey.Ben 2.sınıf öğrencisiyim ve şua anda veri yapıları dersinde ağaç ve grafları görüyoruz ama bu yapıların bize bu kadar lazım olduklarını hiç söylemediler.genelde hep veri aramalar için kullanılmasını söylediler.ama bu şekilde farklı bir düşünce ile vermediler.Gerçekten çok hoşuma gitti…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir