Geometrik nesneler(Nokta,çizgi,Çokgen,egriler)
Noktalar, Çizgiler ve
Çokgenler tanımlanması
Şimdiye kadar pencere oluşturmayı
ve pencere rengini belirleme gibi konuları inceledik şimdide
oluşturdugumuz pencere içersinde geometrik nesnelerin çizimlerini yapmayı ögrenecegiz .Openglde çizim işlemi
glBegin glEnd arasında belirtilen parametreler ile belirlenmektedir bu konuyu geometrik nesnelerin çizimi
bölümünde daha geniş inceleme fırsatımız olacak ,openglde geometrik nesneler nokta,çizgi,çokgen,dikdortgen,
egriler,egilimli yuzeyler vs gibi konular içermektedir.Öncelikle bunlar openglde ne anlama gelmektedir
inceleyelim.
Nokta(Points)
Openglde geometrik nesnelerin köşelerini oluşturmak için kullanılan (Floating-point) kayan noktalı sayılar
kümesine nokta denmektedir.2 Boyutlu düzlemde nokta kullanıcı tarafındna belirtilen x ve y koordinat
parametreleri ile oluşturulmaktadır.3 Boyutlu düzlemlerde z koordinat düzlemide eklenir.
Çizgiler(LINES)
Opengl de çizgi yuzelsel olarak matematikte,dogru çizgi diye adlandırılan terime benzemektedir
dogru çizgi :iki nokta arasınıdan geçen dogruya dogru çizgi denir.
openglde de aynı işlem yapılmaktadır iki nokta ile çizgi elde edilir ancak ikiden daha fazla nokta ile
çizgi farklı hallerde ala bilir.
Çokgenler(Polygons)
Koordinatları belirlenmiş noktalar kümesi ile oluşturulan içi dolu yüzeylere çokgen denmektedir.Bu genel tanımıdır ancak
belirlenen farklı kipler ile çokgen çizgi ve nokta olarakta tanımlanmaktadır içi dolu tanımı belirlenen renk sistemi
ile doldurulması anlamına gelmektedir
Dikdörtgenler(Rectangles)
Aslında bu kısım polygonlar varken pek gerekli degil ama opengl yi tasarlayanlar dikdortgenler için özel bir
komut tasarlamışlar glRect() komutu,bu komut belirlenen parametreler aracılıgı ile ekrana bir dikdörtgen çizmektedir.
Örnek kullanımı:
void glRect{veri tipi}( xl, yl, x2, y2);
glRectf(-0.4f,-0.4f,0.4f,0.4f);
bu kod tam bir dikdörtgen cizmektedir burada belirledigimiz glRect parametresinden sonraki (f) birimi parametrelerin
veri tipini belirlemektedir burada floating- point olarak ayarlanmışız noktalı sayı,parametreler x1 ve x2
dikdörtgenin enine genişligini y1,y2 parametreleri boyuna genişligini belirlemektedir.
Eğrileri ve Eğimli Yüzeyler(Curves and Curved Surfaces)
Egriler ve yüzeyler kısa çizgi parcalarının birbiri ile birleşmesi sonucu egrisel bir çizimin ortaya
çıkmasıyla oluşmaktadır.Aşagıdaki grafige bakarak bunu daha iyi anlaya bilirsiniz.
Noktaları belirleme(Specifying Vertices)
Opengl de oluşturulan her geometrik nesne köşe noktaları ile belirlenmektedir.Köşe noktalarını oluşturmak için glVertex komutu kullanılmaktadır.
glVertex{234}{veri tipi}[v](x, y, z, w);
Bu Komut geometrik nesneler oluşturmak için bir tek köşe noktası oluşturmaktadır.Komutu inceleyelim
glVertex openglde nokta ve çizimin köşe noktasını belirleyen komuttur.
{234}Bu rakamlar çizimin boyutunu belirlemektedir ,bu belirleme kartezyen koordinat sistemina dayalı bir belirlemeye sahiptir çizim esnasında ancak biri kullanıla bilir 2 boyutlu,3 boyutlu
olmak üzere iki kesime ayrılır buradaki 4 rakamı ekseri olarak homojen koordinat sisteminide içine almaktadır.
{veri tipi}veri tipini belirler ala bilecegi tipler şunlardır
s(short)
i(int)
f(float)
d(double)
Veri tipinden sonra gelen parametre,[v] parametresi belirlenen veri tipine göre önceden tanımlanmış bir diziyi atama imkanımızı saglaması anlamına gelmektedir.
GLfloat sayi[2]={-0.9f,-0.3f};
glVertex2fv(sayi);
Bunları bir örnekle incelersek daha anlamlı olacaktır
glVertex2s(2,3);
glVertex2i(2,3);
glVertex2f(2.0,3.0);
glVertex2d(2.0,3.0);
Komutlarımıza baktıgımız zaman hepsi 2 boyutlu çizim yapılacagı belirtilmiştir ,(glVertex2)
sadece veri tipleri farklı
ilk komut
glVertex2s(2,3);
2 boyutlu sorth tipinde bir komut sadece x,y parametreleri içeriyor
x=2;
y=3;
ikinci komut
glVertex2i(2,3);
2 boyutlu int tipinde bir komut sadece x,y parametreleri içeriyor
x=2;
y=3;
üçüncü komut
glVertex2f(2.0,3.0);
2 boyutlu (floating-point) kayan noktalı sayı tipinde bir komut sadece x,y parametreleri içeriyor
x=2.0;
y=3.0;
dördüncü komut
glVertex2d(2.0,3.0);
2 boyutlu ondalık sayı tipinde bir komut sadece x,y parametreleri içeriyor
x=2.0;
y=3.0;
Aynı işlem 3 boyutlu sistemdede gecerli
glVertex3s(2,3,0);
glVertex3i(2,3,0);
glVertex3f(2.0,3.0,0.0);
glVertex3d(2.0,3.0,0.0);
4 komutta 3 boyutlu ve z koordinat düzlemide eklemiş durumda oluşturulan çizimler üç boyulutlu sonuclar elde edilecektir.
oluşturdugumuz pencere içersinde geometrik nesnelerin çizimlerini yapmayı ögrenecegiz .Openglde çizim işlemi
glBegin glEnd arasında belirtilen parametreler ile belirlenmektedir bu konuyu geometrik nesnelerin çizimi
bölümünde daha geniş inceleme fırsatımız olacak ,openglde geometrik nesneler nokta,çizgi,çokgen,dikdortgen,
egriler,egilimli yuzeyler vs gibi konular içermektedir.Öncelikle bunlar openglde ne anlama gelmektedir
inceleyelim.
Nokta(Points)
Openglde geometrik nesnelerin köşelerini oluşturmak için kullanılan (Floating-point) kayan noktalı sayılar
kümesine nokta denmektedir.2 Boyutlu düzlemde nokta kullanıcı tarafındna belirtilen x ve y koordinat
parametreleri ile oluşturulmaktadır.3 Boyutlu düzlemlerde z koordinat düzlemide eklenir.
Çizgiler(LINES)
Opengl de çizgi yuzelsel olarak matematikte,dogru çizgi diye adlandırılan terime benzemektedir
dogru çizgi :iki nokta arasınıdan geçen dogruya dogru çizgi denir.
openglde de aynı işlem yapılmaktadır iki nokta ile çizgi elde edilir ancak ikiden daha fazla nokta ile
çizgi farklı hallerde ala bilir.
Çokgenler(Polygons)
Koordinatları belirlenmiş noktalar kümesi ile oluşturulan içi dolu yüzeylere çokgen denmektedir.Bu genel tanımıdır ancak
belirlenen farklı kipler ile çokgen çizgi ve nokta olarakta tanımlanmaktadır içi dolu tanımı belirlenen renk sistemi
ile doldurulması anlamına gelmektedir
Dikdörtgenler(Rectangles)
Aslında bu kısım polygonlar varken pek gerekli degil ama opengl yi tasarlayanlar dikdortgenler için özel bir
komut tasarlamışlar glRect() komutu,bu komut belirlenen parametreler aracılıgı ile ekrana bir dikdörtgen çizmektedir.
Örnek kullanımı:
void glRect{veri tipi}( xl, yl, x2, y2);
glRectf(-0.4f,-0.4f,0.4f,0.4f);
bu kod tam bir dikdörtgen cizmektedir burada belirledigimiz glRect parametresinden sonraki (f) birimi parametrelerin
veri tipini belirlemektedir burada floating- point olarak ayarlanmışız noktalı sayı,parametreler x1 ve x2
dikdörtgenin enine genişligini y1,y2 parametreleri boyuna genişligini belirlemektedir.
Eğrileri ve Eğimli Yüzeyler(Curves and Curved Surfaces)
Egriler ve yüzeyler kısa çizgi parcalarının birbiri ile birleşmesi sonucu egrisel bir çizimin ortaya
çıkmasıyla oluşmaktadır.Aşagıdaki grafige bakarak bunu daha iyi anlaya bilirsiniz.
Noktaları belirleme(Specifying Vertices)
Opengl de oluşturulan her geometrik nesne köşe noktaları ile belirlenmektedir.Köşe noktalarını oluşturmak için glVertex komutu kullanılmaktadır.
glVertex{234}{veri tipi}[v](x, y, z, w);
Bu Komut geometrik nesneler oluşturmak için bir tek köşe noktası oluşturmaktadır.Komutu inceleyelim
glVertex openglde nokta ve çizimin köşe noktasını belirleyen komuttur.
{234}Bu rakamlar çizimin boyutunu belirlemektedir ,bu belirleme kartezyen koordinat sistemina dayalı bir belirlemeye sahiptir çizim esnasında ancak biri kullanıla bilir 2 boyutlu,3 boyutlu
olmak üzere iki kesime ayrılır buradaki 4 rakamı ekseri olarak homojen koordinat sisteminide içine almaktadır.
{veri tipi}veri tipini belirler ala bilecegi tipler şunlardır
s(short)
i(int)
f(float)
d(double)
Veri tipinden sonra gelen parametre,[v] parametresi belirlenen veri tipine göre önceden tanımlanmış bir diziyi atama imkanımızı saglaması anlamına gelmektedir.
GLfloat sayi[2]={-0.9f,-0.3f};
glVertex2fv(sayi);
Bunları bir örnekle incelersek daha anlamlı olacaktır
glVertex2s(2,3);
glVertex2i(2,3);
glVertex2f(2.0,3.0);
glVertex2d(2.0,3.0);
Komutlarımıza baktıgımız zaman hepsi 2 boyutlu çizim yapılacagı belirtilmiştir ,(glVertex2)
sadece veri tipleri farklı
ilk komut
glVertex2s(2,3);
2 boyutlu sorth tipinde bir komut sadece x,y parametreleri içeriyor
x=2;
y=3;
ikinci komut
glVertex2i(2,3);
2 boyutlu int tipinde bir komut sadece x,y parametreleri içeriyor
x=2;
y=3;
üçüncü komut
glVertex2f(2.0,3.0);
2 boyutlu (floating-point) kayan noktalı sayı tipinde bir komut sadece x,y parametreleri içeriyor
x=2.0;
y=3.0;
dördüncü komut
glVertex2d(2.0,3.0);
2 boyutlu ondalık sayı tipinde bir komut sadece x,y parametreleri içeriyor
x=2.0;
y=3.0;
Aynı işlem 3 boyutlu sistemdede gecerli
glVertex3s(2,3,0);
glVertex3i(2,3,0);
glVertex3f(2.0,3.0,0.0);
glVertex3d(2.0,3.0,0.0);
4 komutta 3 boyutlu ve z koordinat düzlemide eklemiş durumda oluşturulan çizimler üç boyulutlu sonuclar elde edilecektir.
Hiç yorum yok:
Yorum Gönder