Uploaded by fahrettin.horasan

Bilgisayar Grafiğine Giriş

advertisement
Bilgisayar Grafiğine Giriş – 1
•
"Bilgisayar grafikleri" terimi, animasyonlu görüntüler de dahil olmak üzere bilgisayarda
görüntülerin oluşturulmasına veya değiştirilmesine dahil olan her şeyi ifade eder.
•
Çok geniş bir alandır ve değişikliklerin ve ilerlemelerin baş döndürücü bir hızda olduğu
görülmektedir.
•
Yeni başlayanlar için nereden başlayacağını bilmek zor olabilir. Bununla birlikte, bilgisayar
grafiklerinin çoğu uygulamasının temelinin bir parçası olan temel fikirlerin bir çekirdeği vardır.
•
Bu ders, bu temel fikirleri veya en azından bir dönemlik üniversite düzeyinde bir derse uyacak
kadar çok sayıda kapsama girmeye çalışmaktadır. Tüm sahayı ilk kursta (hatta büyük bir
bölümünü) kapsamak mümkün olmasa da, burası başlamak için iyi bir yer olmalıdır.
•
1. Ünite, dersin geri kalanında ele alınacak malzemeye çok fazla ayrıntıya girmeden genel bir
bakış ve tanıtım sağlar.
Ünite 1'in İçeriği:
 Bölüm 1: Boyama ve Çizim
 Bölüm 2: 3B Grafik Elemanları
 Bölüm 3: Donanım ve Yazılım
Bölüm 1.1:Boyama ve çizim
Bu kitabın ana odağı, çalışmanın çoğunun bir sahnenin 3D modelini üretmeye başladığı üç boyutlu (3D)
grafiklerdir. Ama sonuçta, neredeyse tüm durumlarda, bir bilgisayar grafik projesinin sonucu iki boyutlu
bir görüntüdür. Ve elbette, 2D görüntülerin doğrudan üretimi ve manipülasyonu kendi başına önemli
bir konudur. Dahası, birçok fikir iki boyuttan üçe taşır. Bu nedenle, 2D grafiklerle başlamak mantıklı.
Bilgisayar ekranında sunulan görüntü piksellerden oluşur . Ekran, satırlar ve sütunlar halinde
düzenlenmiş dikdörtgen bir piksel ızgarasından oluşur. Pikseller ayrı ayrı görülemeyecek kadar küçük.
Aslında, birçok çok yüksek çözünürlüklü ekran için, aslında görünmez olurlar. Belirli bir zamanda, her
piksel yalnızca bir renk gösterebilir. Günümüzde çoğu ekran 24 bit renk kullanır, burada renk üç 8 bit
sayı ile belirtilebilir ve renkte kırmızı, yeşil ve mavi seviyeleri verir. Ekranda gösterilebilecek herhangi
bir renk, bu üç "birincil" rengin bir kombinasyonundan oluşur. Gri tonlama gibi başka formatlar da
mümkündürburada her piksel bir miktar gri gölgedir ve piksel rengi siyah-beyaz ölçeğinde gri düzeyini
belirten bir sayı ile verilir. Tipik olarak 256 gri tonu kullanılır. İlk bilgisayar ekranlarında , genellikle 16
veya 256 olmak üzere yalnızca küçük bir renk kümesinin görüntülenebileceği dizinli renk kullanılmıştır
. İndekslenmiş renkli ekran için, olası renklerin numaralı bir listesi vardır ve bir pikselin rengi, listedeki
rengin konumunu veren bir tamsayı ile belirtilir.
Her durumda, ekrandaki tüm piksellerin renk değerleri, çerçeve arabelleği olarak bilinen büyük bir
bellek bloğunda saklanır . Ekrandaki görüntünün değiştirilmesi, çerçeve arabelleğinde saklanan renk
değerlerinin değiştirilmesini gerektirir. Ekran saniyede birçok kez yeniden çizilir, böylece çerçeve
arabelleğindeki renk değerleri değiştikten hemen sonra, ekrandaki piksellerin renkleri eşleşecek ve
görüntülenen görüntü değişecektir.
Bu şekilde kullanılan bir bilgisayar ekranı raster grafiklerin temel modelidir . "Raster" terimi teknik
olarak eski vakum tüplü bilgisayar monitörlerinde kullanılan mekanizmayı ifade eder: Bir elektron ışını,
piksel sıraları boyunca hareket ederek onları parlatır. Işın elektronların yolunu saptıracak güçlü
mıknatıslarla ekran boyunca hareket ettirildi. Işın ne kadar güçlü olursa, pikselin parıltısı o kadar parlak
olur, böylece piksellerin parlaklığı elektron ışınının yoğunluğu değiştirilerek kontrol edilebilir. Çerçeve
tamponunda saklanan renk değerleri, elektron ışınının yoğunluğunu belirlemek için kullanıldı. (Renkli
bir ekran için her pikselde, ışın tarafından ayrı olarak aydınlatılan kırmızı bir nokta, yeşil bir nokta ve
mavi bir nokta vardı.)
Modern düz ekran bilgisayar monitörü aynı anlamda bir raster değildir. Hareketli elektron ışını yoktur.
Piksellerin renklerini kontrol eden mekanizma, farklı ekran türleri için farklıdır. Ancak ekran yine de
piksellerden oluşur ve tüm piksellerin renk değerleri hala bir çerçeve arabelleğinde saklanır. Her piksel
için sayısal renk değerlerine sahip bir piksel ızgarasından oluşan bir görüntü fikri raster grafiklerini
tanımlar.
Bilgisayar ekranındaki görüntüler piksel kullanılarak temsil edilse de, tek tek piksel renklerini belirtmek
her zaman görüntü oluşturmanın en iyi yolu değildir. Başka bir yol, içerdiği temel geometrik nesneleri,
çizgiler, daireler, üçgenler ve dikdörtgenler gibi şekilleri belirtmektir. Vektör grafikleri tanımlayan fikir
budur : Görüntüyü, içerdiği geometrik şekillerin bir listesi olarak temsil eder. İşleri daha ilginç hale
getirmek için şekillerin nitelikleri olabilirörneğin bir çizginin kalınlığı veya bir dikdörtgeni dolduran renk
gibi. Elbette, her görüntü basit geometrik şekillerden oluşamaz. Bu yaklaşım kesinlikle güzel bir gün
batımının resmi için (veya diğer birçok fotoğraf görüntüsü için) işe yaramaz. Bununla birlikte, mimari
planlar ve bilimsel çizimler gibi birçok görüntü türü için iyi çalışır.
Aslında, bilgisayar tarihinin başlarında, vektör grafikleri doğrudan bilgisayar ekranlarında bile kullanıldı.
İlk grafik bilgisayar ekranları geliştirildiğinde, tarama ekranları pratik olamayacak kadar yavaş ve
pahalıdır. Neyse ki, vakum tüpü teknolojisini başka bir şekilde kullanmak mümkün oldu: Elektron ışını,
doğrudan bu ışını o çizgi boyunca süpürerek doğrudan bir çizgi çizmek için yapılabilir. Bir vektör grafik
ekranı bir görüntüleme listesini saklarEkranda görünmesi gereken satırlar. Ekrandaki bir nokta,
elektron ışını tarafından aydınlatıldıktan çok kısa bir süre sonra parlayacağından, grafik ekran, listedeki
tüm satırları sürekli olarak yeniden çizerek ekran listesinden tekrar tekrar geçecektir. Görüntüyü
değiştirmek için yalnızca görüntüleme listesinin içeriğini değiştirmek gerekir. Tabii ki, görüntüleme
listesi çok uzun hale gelirse, görüntü titremeye başlar çünkü bir çizgi bir sonraki dönüşünün yeniden
çizilmesinden önce gözle görülür bir şekilde solma şansına sahip olacaktır.
Ancak asıl nokta: Makul bir sayıdaki geometrik şekil olarak belirtilebilen bir görüntü için, görüntüyü
temsil etmek için gereken bilgi miktarı, bir vektör temsili kullanılarak bir raster temsili kullanmaktan
çok daha azdır. Bin satır segmentinden oluşan bir görüntü düşünün. Görüntünün vektör temsili için,
sadece iki bin noktanın koordinatlarını, çizgilerin uç noktalarını depolamanız gerekir. Bu sadece birkaç
kilobayt bellek gerektirir. Bir raster görüntü için görüntüyü bir çerçeve arabelleğinde saklamak çok
daha fazla bellek gerektirir. Benzer şekilde, bir vektör görüntüsü, ekrandaki çizgileri, bir raster
görüntüsünün aynı görüntüyü çerçeve arabelleğinden ekrana kopyalayabileceğinden daha hızlı
çizebilir. (Raster görüntüler hızlı ve ucuz hale gelir gelmez,
Raster grafikler ve vektör grafikleri arasındaki ayrım, bilgisayar grafiklerinin çeşitli alanlarında devam
eder. Örneğin, resim oluşturmak için kullanılabilecek iki program kategorisi arasındaki bir bölümde
görülebilir: boyama programları ve çizim programları. Bir boyama programında, görüntü bir piksel
ızgarası olarak temsil edilir ve kullanıcı piksellere renkler atayarak bir görüntü oluşturur. Bu, ressamın
fırçası gibi davranan bir "çizim aracı" veya hatta çizgiler veya dikdörtgenler gibi geometrik şekiller çizen
araçlar kullanılarak yapılabilir. Ancak, bir boyama programındaki nokta, tek tek pikselleri
renklendirmektir ve yalnızca kaydedilen piksel renkleridir. Bunu daha açık hale getirmek için, bir ev
çizmek için bir boyama programı kullandığınızı, ardından evin önüne bir ağaç çizdiğinizi varsayalım.
Daha sonra ağacı silerseniz, bir evi değil, yalnızca boş bir arka plan ortaya çıkarırsınız. Aslında, görüntü
hiçbir zaman gerçekten bir "ev" içermiyordu - yalnızca izleyicinin bir evin resmini oluştururken
algılayabileceği tek tek renkli pikseller.
Bir çizim programında, kullanıcı geometrik şekiller ekleyerek bir görüntü oluşturur ve görüntü bu
şekillerin bir listesi olarak gösterilir. Görüntüye bir ev şekli (veya bir evi oluşturan şekiller koleksiyonu)
yerleştirirseniz ve ardından evin üzerine bir ağaç şekli yerleştirirseniz, ev hala oradadır, çünkü görüntü
içerir. Ağacı silerseniz, ev, tıpkı ağacı eklemeden önceki gibi hala görüntüde olacaktır. Ayrıca, resimdeki
şekillerden birini seçip taşıyabilmeli veya boyutunu değiştirebilmelisiniz, böylece çizim programları
boyama programlarında mümkün olmayan zengin bir düzenleme işlemleri seti sunar. (Ancak bunun
tersi de doğrudur.)
Görüntü oluşturma ve düzenleme için pratik bir program, resim veya çizim öğelerini birleştirebilir,
ancak biri veya diğeri genellikle baskındır. Örneğin, bir çizim programı kullanıcının raster türü bir
görüntü eklemesine izin verebilir ve bu görüntüyü tek bir şekil olarak ele alabilir. Bir boyama programı,
kullanıcının son görüntüyü oluşturmak için üst üste yerleştirilebilen ayrı görüntüler olan "katmanlar"
oluşturmasına izin verebilir. Katmanlar daha sonra bir çizim programındaki şekiller gibi manipüle
edilebilir (böylece evin görüntüsünde ağacın arkasında olsa bile, hem evinizi hem de ağacınızı ayrı
katmanlarda tutabilirsiniz).
İyi bilinen iki grafik programı Adobe Photoshop ve Adobe Illustrator'dur . Photoshop boyama
programları kategorisindeyken, Illustrator daha çok bir çizim programıdır. Özgür yazılım dünyasında,
GNU görüntü işleme programı Gimp , Photoshop'a iyi bir alternatifken , Inkscape oldukça yetenekli bir
serbest çizim programıdır. Gimp ve Inkscape ile ilgili kısa tanıtımlar Ek C'de bulunabilir .
Raster ve vektör grafikleri arasındaki ayrım, grafik dosyası formatları alanında da görünür. Görüntüyü
bir dosyada depolanan veriler olarak göstermenin birçok yolu vardır. Orijinal görüntü, dosyada
saklanan bitlerden kurtarılacaksa, gösterimin bilinen bazı spesifikasyonlara uyması gerekir. Böyle bir
spesifikasyona grafik dosyası formatı denir. Bazı popüler grafik dosya biçimleri GIF, PNG, JPEG ve
SVG'dir. Web'de kullanılan görüntülerin çoğu GIF, PNG veya JPEG'dir. Modern web tarayıcılarının SVG
görüntüleri için de desteği vardır.
GIF, PNG ve JPEG temel olarak raster grafik formatlarıdır; bir görüntü, her piksel için bir renk değeri
saklanarak belirtilir. GIF, büyük ölçüde PNG'nin yerini alan daha eski bir dosya biçimidir, ancak yine de
GIF görüntülerini web'de bulabilirsiniz. (GIF formatı animasyonlu görüntüleri destekler, bu nedenle
GIF'ler genellikle Web sayfalarındaki basit animasyonlar için kullanılır.) GIF, maksimum 256 renk içeren
dizine alınmış bir renk modeli kullanır. PNG, dizinlenmiş veya tam 24 bit renk kullanabilirken, JPEG tam
renkli görüntüler içindir.
Raster görüntüyü temsil etmek için gerekli veri miktarı oldukça büyük olabilir. Ancak, veriler genellikle
çok fazla yedeklilik içerir ve veriler boyutunu azaltmak için "sıkıştırılabilir". GIF ve PNG kayıpsız veri
sıkıştırması kullanır , bu da orijinal görüntünün sıkıştırılmış verilerden mükemmel şekilde
kurtarılabileceği anlamına gelir. JPEG kayıplı bir veri sıkıştırması kullanıralgoritma; bu, bir JPEG
dosyasından kurtarılan görüntünün orijinal görüntüyle tam olarak aynı olmadığı anlamına gelir; bazı
bilgiler kayboldu. Bu iyi bir fikir gibi gelmeyebilir, ancak aslında fark genellikle çok fark edilmez ve kayıplı
sıkıştırma kullanmak genellikle sıkıştırılmış verilerin boyutunda daha büyük bir azalmaya izin verir. JPEG
genellikle fotoğrafik görüntüler için iyi çalışır, ancak farklı renkler arasında keskin kenarları olan
görüntüler için de iyi değildir. Özellikle metin içeren çizgi çizimleri ve resimler için kötüdür; PNG, bu tür
görüntüler için tercih edilen biçimdir.
Öte yandan SVG, temelde bir vektör grafik formatıdır (SVG görüntüleri raster görüntüler içerebilir). SVG
aslında iki boyutlu vektör grafik görüntülerini tanımlamak için XML tabanlı bir dildir. "SVG",
"Ölçeklenebilir Vektör Grafikleri" anlamına gelir ve "ölçeklenebilir" terimi, vektör grafiklerinin
avantajlarından birini belirtir: Görüntünün boyutu artırıldığında kalite kaybı olmaz. İki nokta arasındaki
bir çizgi herhangi bir ölçekte temsil edilebilir ve hala aynı mükemmel geometrik çizgidir. Raster
görüntünün boyutunu büyük ölçüde artırmaya çalışırsanız, diğer yandan, yeni görüntüdeki tüm
pikseller için yeterli renk değerine sahip olmadığınızı göreceksiniz; orijinal görüntüdeki her piksel,
ölçeklendirilmiş görüntüdeki piksellerden oluşan bir dikdörtgeni kapsayacak şekilde genişletilir, ve aynı
renkte çok pikselli bloklar elde edersiniz. SVG görüntülerinin ölçeklenebilir yapısı, onları web tarayıcıları
ve bilgisayarınızın masaüstündeki grafik öğeleri için iyi bir seçim haline getirir. Ve aslında, bazı masaüstü
ortamları artık masaüstü simgeleri için SVG görüntüleri kullanıyor.
Dijital görüntü, biçimi ne olursa olsun, bir koordinat sistemi kullanılarak belirtilir . Bir koordinat sistemi,
sayılar ve geometrik noktalar arasında bir yazışma oluşturur. İki boyutta, her noktaya noktanın
koordinatları olarak adlandırılan bir çift sayı atanır. Bir noktanın iki koordinatına genellikle x- koordinatı
ve y- koordinatı denir , ancak "x" ve "y" adları isteğe bağlıdır.
Raster görüntü, satırlar ve sütunlar halinde düzenlenmiş iki boyutlu bir piksel ızgarasıdır. Bu nedenle,
her pikselin, satırın sayısını ve pikseli içeren sütunun numarasını veren bir çift tamsayıya karşılık geldiği
doğal bir koordinat sistemine sahiptir. (Bu basit durumda bile, satırların yukarıdan aşağıya mı yoksa
aşağıdan yukarıya mı numaralandırılması gerektiği konusunda bazı anlaşmazlıklar vardır.)
Bir vektör görüntüsü için gerçek sayı koordinatları kullanmak doğaldır. Bir görüntünün koordinat
sistemi bir dereceye kadar isteğe bağlıdır; yani, aynı görüntü farklı koordinat sistemleri kullanılarak
belirtilebilir. Burada koordinat sistemleri hakkında çok fazla şey söylemek istemiyorum, ancak bunlar
kitabın büyük bir kısmının ana odağı olacak ve üç boyutlu grafiklerde iki boyuttan daha önemli.
Download