A. TANIM

n, 1 den büyük bir sayma sayısı olmak üzere,
xn = a denklemini sağlayan x sayısına a nın n inci dereceden kökü denir.



B. KÖKLÜ İFADELERİN ÖZELİKLERİ

1) n tek ise, n√a daima reeldir.

2) n çift ve a < 0 ise, n√a reel sayı belirtmez.

3) a < 0 ise, n√a daima reeldir.

4) a < 0 ise,

5) n tek ise,

6) n çift ise,

7)


8) n çift ve b ile c aynı işaretli olmak üzere,



9) n tek ise,

10) a, pozitif reel (gerçel) sayı olmak üzere,



11) k pozitif tam sayı ve a pozitif gerçel sayı olmak üzere,



12) (a  0 ve b  0) ise,


C. KÖKLÜ İFADELERDE YAPILAN İŞLEMLER

1. Toplama - Çıkarma
Kök dereceleri birbirine eşit ve kök içindeki sayılar da birbirine eşit olan ifadelerin kat sayıları toplanır ya da çıkarılır.
Bulunan sonuç köklü ifadenin kat sayısı olur.



2. Çarpma
n ve m, 1 den büyük tek sayı ya da a ve b negatif olmamak üzere,



3. Bölme
Uygun koşullarda,



4. Paydayı Kökten Kurtarma
Uygun koşullarda,





D. İÇ İÇE KÖKLER




E. SONSUZ KÖKLER




F. KÖKLÜ İFADELERDE SIRALAMA

Kök dereceleri eşit olan (ya da eşitlenen) pozitif sayılarda, kök içindeki sayıların büyüklüğüne göre sıralama yapılır.




Konuyu İndir

Etiketler:
Beğeniler: 0
Favoriler: 0
İzlenmeler: 2539
favori
like
share
ben furkan Tarih: 06.01.2009 16:17
Bu yazımızda üç boyutlu çizimler üzerinde döndürme, öteleme, yakınlaşma ve uzaklaşma işlemlerinin nasıl yapılacağını ele alacağız. OpenGL ve C başlığı altında yürüttüğümüz yazı dizisinde, bir OpenGL penceresinin nasıl oluşturulduğunu, iki boyutlu ve üç boyutlu çizimlerin nasıl yapıldığını ele almıştık ve OpenGL’in bu işlemleri yapan fonksiyonlarını incelemiştik. OpenGL kütüphanesi x, y ve z eksenleri etrafında döndürme, x, y ve z eksenleri boyunca öteleme işlemlerini yapan fonksiyonlar da içermektedir. Daha önce yaptığımız uygulamalarda kısmen kullandığımız bu fonksiyonları bu yazımızda ayrıntılarıyla ele alacağız.
void glTranslated(GLdouble x, GLdouble y, GLdouble z);
void glTranslatef(GLfloat x, GLfloat y, GLfloat z); Geçerli görüntü matrisini, parametre olarak verilen öteleme matrisi ile çarparak görüntü matrisini değiştirir. Başka bir deyişle görüntüyü x, y ve z eksenleri boyunca öteler. Fonksiyonların x, y ve z parametreleri öteleme matrisinin değerleridir. glBegin ve glEnd fonksiyonları arasında çağrılırsa GL_INVALID_OPERATION hata kodunu üretir.
void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); Geçerli görüntü matrisini, parametre olarak verilen dönüşüm matrisi ile çarparak görüntü matrisini değiştirir. Başka bir deyişle görüntüyü x, y ve z eksenleri etrafında saat yönünde döndürür. Fonksiyonların x, y ve z parametreleri dönüşüm matrisinin değerleridir, angle parametresi ise belirtilen eksen etrafındaki döndürme açısının derece cinsinden değeridir. glBegin ve glEnd fonksiyonları arasında çağrılırsa GL_INVALID_OPERATION hata kodunu üretir.
Bu yazımızda, kullanıcının klavyeden gireceği karakterlere göre çizimi belli bir eksen etrafında döndüren, belli eksenler boyunca öteleyen bir uygulama oluşturacağız. Uygulama çalıştırıldığında başlangıçta hiçbir işlem yapılmayacak. Kullanıcı klavyeden belli karakterleri girdiğinde, uygulama girilen bu karakterlere göre işlem yapacaktır. Uygulamanın içeriğini özetleyecek olursak :
- x , y ve z eksenleri boyunca öteleme işlemleri
- x , y ve z eksenleri etrafında döndürme işlemleri
Daha önce yaptığımız uygulamalarda bir OpenGL çizim penceresi oluşturmuştuk. Bu pencere üzerinde iki ve üç boyutlu çizimler yapmıştık. Bu uygulamamızda yine aynı pencereyi kullanacağız ve üç boyutlu çizim yapacağız. Döndürme ve öteleme işlemlerinde kullanmak üzere global alanda aşağıdaki değişkenleri tanımlayalım :
BOOL filled = FALSE;
BOOL rotate = FALSE;
GLfloat rotateAngle = 0.0f;
GLfloat xRotate = 0.0f, yRotate = 0.0f, zRotate = 0.0f;
GLfloat xTranslate = 0.0f, yTranslate = 0.0f, zTranslate = -7.0f;
Bu değişkenleri ne amaçla kullanacağımıza kısaca değinelim. Uygulamamızda bir küp oluşturacağız. OpenGL kütüphanesi bu kübü, sadece kenar çizgileri ile gösterebilmemize ya da yüzeylerini boyayarak gösterebilmemize izin verir. filled isimli değişkeni de bu durumu belirlemek için kullanacağız. Uygulamanın çalışma zamanında, kullanıcı klavyeden ’f’ (fill) tuşuna basarak bu seçeneği değiştirebilecek. Kullanıcı klavyeden ’t’ (turn) tuşuna bastığında şekil döndürülecek, tekrar ’t’ tuşuna bastığında ise şekil o anki açısıyla sabit biçimde gösterilecek. rotateAngle isimli değişken, şeklin döndürülme açısını belirleyecek. xRotate, yRotate ve zRotate değişkenleri ise şeklin hangi eksenler etrafında döndürüleceğini belirleyecek. Döndürme işlemini başlatmak veya durdurmak için kullanıcı klavyeden ’t’ (turn) tuşuna basacak. Döndürme eksenlerini ayarlamak için ise eksen isimlerini ifade eden ’x’, ’y’ ve ’z’ tuşlarına basacak. xTranslate, yTranslate ve zTranslate değişkenleri, x, y ve z eksenleri boyunca yapılacak öteleme miktarını belirleyecek. Kullanıcı klavyeden ’l’ (left), ’r’ (right), ’u’ (up) ve ’d’ (down) tuşlarına bastıkça bu değişkenlerin değerlerini değiştireceğiz. Dolayısıyla öteleme matrisinin değerlerini değiştirmiş olacağız.
Uygulamamızda çizim işlemlerini yaptığımız fonksiyon ’DrawGLScene’ isimli fonksiyon idi. Uygulamanın çalışma zamanında herhangi bir mesaj alınmadığı sürece bu fonksiyon çağrılır ve ekrana çizim işlemi yapılır. DrawGLScreen fonksiyonunun hemen ardından SwapBuffers isimli fonksiyon çağılır ve görüntü tamponundaki değişiklikler ekrana yansıtılır. Bu uygulamada DrawGLScreen isimli fonksiyonun içeriğini değiştireceğiz. Ekrana önce yapılacak değişikliklerin daha iyi anlaşılması için x, y ve z eksenlerini belirten bir koordinat sistemi çizdireceğiz, ardından bir küp çizdireceğiz. Şimi DrawGLScreen fonksiyonumuzu inceleyelim :
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
DrawCoordiateSystem();
glLineWidth(1.0f);
glTranslatef(xTranslate,yTranslate,zTranslate);
glRotatef(rotateAngle,xRotate,yRotate,zRotate);
if (filled)
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
else
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
glBegin(GL_QUADS);
glColor3f(0.0f,0.5f,0.1f);
glVertex3f(1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(1.0f,1.0f,1.0f);


Bu yazımızda üç boyutlu çizimler üzerinde döndürme, öteleme, yakınlaşma ve uzaklaşma işlemlerinin nasıl yapılacağını ele alacağız. OpenGL ve C başlığı altında yürüttüğümüz yazı dizisinde, bir OpenGL penceresinin nasıl oluşturulduğunu, iki boyutlu ve üç boyutlu çizimlerin nasıl yapıldığını ele almıştık ve OpenGL’in bu işlemleri yapan fonksiyonlarını incelemiştik. OpenGL kütüphanesi x, y ve z eksenleri etrafında döndürme, x, y ve z eksenleri boyunca öteleme işlemlerini yapan fonksiyonlar da içermektedir. Daha önce yaptığımız uygulamalarda kısmen kullandığımız bu fonksiyonları bu yazımızda ayrıntılarıyla ele alacağız.
void glTranslated(GLdouble x, GLdouble y, GLdouble z);
void glTranslatef(GLfloat x, GLfloat y, GLfloat z); Geçerli görüntü matrisini, parametre olarak verilen öteleme matrisi ile çarparak görüntü matrisini değiştirir. Başka bir deyişle görüntüyü x, y ve z eksenleri boyunca öteler. Fonksiyonların x, y ve z parametreleri öteleme matrisinin değerleridir. glBegin ve glEnd fonksiyonları arasında çağrılırsa GL_INVALID_OPERATION hata kodunu üretir.
void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); Geçerli görüntü matrisini, parametre olarak verilen dönüşüm matrisi ile çarparak görüntü matrisini değiştirir. Başka bir deyişle görüntüyü x, y ve z eksenleri etrafında saat yönünde döndürür. Fonksiyonların x, y ve z parametreleri dönüşüm matrisinin değerleridir, angle parametresi ise belirtilen eksen etrafındaki döndürme açısının derece cinsinden değeridir. glBegin ve glEnd fonksiyonları arasında çağrılırsa GL_INVALID_OPERATION hata kodunu üretir.
Bu yazımızda, kullanıcının klavyeden gireceği karakterlere göre çizimi belli bir eksen etrafında döndüren, belli eksenler boyunca öteleyen bir uygulama oluşturacağız. Uygulama çalıştırıldığında başlangıçta hiçbir işlem yapılmayacak. Kullanıcı klavyeden belli karakterleri girdiğinde, uygulama girilen bu karakterlere göre işlem yapacaktır. Uygulamanın içeriğini özetleyecek olursak :
- x , y ve z eksenleri boyunca öteleme işlemleri
- x , y ve z eksenleri etrafında döndürme işlemleri
Daha önce yaptığımız uygulamalarda bir OpenGL çizim penceresi oluşturmuştuk. Bu pencere üzerinde iki ve üç boyutlu çizimler yapmıştık. Bu uygulamamızda yine aynı pencereyi kullanacağız ve üç boyutlu çizim yapacağız. Döndürme ve öteleme işlemlerinde kullanmak üzere global alanda aşağıdaki değişkenleri tanımlayalım :
BOOL filled = FALSE;
BOOL rotate = FALSE;
GLfloat rotateAngle = 0.0f;
GLfloat xRotate = 0.0f, yRotate = 0.0f, zRotate = 0.0f;
GLfloat xTranslate = 0.0f, yTranslate = 0.0f, zTranslate = -7.0f;
Bu değişkenleri ne amaçla kullanacağımıza kısaca değinelim. Uygulamamızda bir küp oluşturacağız. OpenGL kütüphanesi bu kübü, sadece kenar çizgileri ile gösterebilmemize ya da yüzeylerini boyayarak gösterebilmemize izin verir. filled isimli değişkeni de bu durumu belirlemek için kullanacağız. Uygulamanın çalışma zamanında, kullanıcı klavyeden ’f’ (fill) tuşuna basarak bu seçeneği değiştirebilecek. Kullanıcı klavyeden ’t’ (turn) tuşuna bastığında şekil döndürülecek, tekrar ’t’ tuşuna bastığında ise şekil o anki açısıyla sabit biçimde gösterilecek. rotateAngle isimli değişken, şeklin döndürülme açısını belirleyecek. xRotate, yRotate ve zRotate değişkenleri ise şeklin hangi eksenler etrafında döndürüleceğini belirleyecek. Döndürme işlemini başlatmak veya durdurmak için kullanıcı klavyeden ’t’ (turn) tuşuna basacak. Döndürme eksenlerini ayarlamak için ise eksen isimlerini ifade eden ’x’, ’y’ ve ’z’ tuşlarına basacak. xTranslate, yTranslate ve zTranslate değişkenleri, x, y ve z eksenleri boyunca yapılacak öteleme miktarını belirleyecek. Kullanıcı klavyeden ’l’ (left), ’r’ (right), ’u’ (up) ve ’d’ (down) tuşlarına bastıkça bu değişkenlerin değerlerini değiştireceğiz. Dolayısıyla öteleme matrisinin değerlerini değiştirmiş olacağız.
Uygulamamızda çizim işlemlerini yaptığımız fonksiyon ’DrawGLScene’ isimli fonksiyon idi. Uygulamanın çalışma zamanında herhangi bir mesaj alınmadığı sürece bu fonksiyon çağrılır ve ekrana çizim işlemi yapılır. DrawGLScreen fonksiyonunun hemen ardından SwapBuffers isimli fonksiyon çağılır ve görüntü tamponundaki değişiklikler ekrana yansıtılır. Bu uygulamada DrawGLScreen isimli fonksiyonun içeriğini değiştireceğiz. Ekrana önce yapılacak değişikliklerin daha iyi anlaşılması için x, y ve z eksenlerini belirten bir koordinat sistemi çizdireceğiz, ardından bir küp çizdireceğiz. Şimi DrawGLScreen fonksiyonumuzu inceleyelim :
int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
DrawCoordiateSystem();
glLineWidth(1.0f);
glTranslatef(xTranslate,yTranslate,zTranslate);
glRotatef(rotateAngle,xRotate,yRotate,zRotate);
if (filled)
glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);
else
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
glBegin(GL_QUADS);
glColor3f(0.0f,0.5f,0.1f);
glVertex3f(1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(1.0f,1.0f,1.0f);
glColor3f(0.0f,0.4f,0.0f);
glVertex3f(1.0f,-1.0f,1.0f);
glVertex3f(-1.0f,-1.0f,1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glColor3f(0.0f,0.2f,0.7f);
glVertex3f(1.0f,1.0f,1.0f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(-1.0f,-1.0f,1.0f);
glVertex3f(1.0f,-1.0f,1.0f);
glColor3f(0.0f,0.0f,0.5f);
glVertex3f(1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(1.0f,1.0f,-1.0f);
glColor3f(0.8f,0.1f,0.2f);
glVertex3f(-1.0f,1.0f,1.0f);
glVertex3f(-1.0f,1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,1.0f);
glColor3f(0.0f,0.8f,0.0f);
glVertex3f(1.0f,1.0f,-1.0f);
glVertex3f(1.0f,1.0f,1.0f);
glVertex3f(1.0f,-1.0f,1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glEnd();
if (rotate == TRUE)
rotateAngle += 0.25f;
return TRUE;
}
Fonksiyonda glClear fonksiyonu ile görüntü tamponunu temizledikten sonra, koordinat sistemini çizen DrawCoordiateSystem isimli fonksiyonu çağırıyoruz. Bu fonksiyonun içeriği de şöyledir :
void DrawCoordiateSystem()
{
glLineWidth(3.0f);
//x ekseni
glBegin(GL_LINES);
glColor3f(1.0f,1.0f,1.0f);
glVertex3f(-4.0f,-3.0f,-9.0f);
glVertex3f(1.0f,-3.0f,-9.0f);
glEnd();
//y ekseni
glBegin(GL_LINES);
glColor3f(1.0f,1.0f,1.0f);
glVertex3f(-4.0f,-3.0f,-9.0f);
glVertex3f(-4.0f,2.0f,-9.0f);
glEnd();
//z ekseni
glBegin(GL_LINES);
glColor3f(1.0f,1.0f,1.0f);
glVertex3f(-4.0f,-3.0f,-9.0f);
glVertex3f(-4.0f,-3.0f,-14.0f);
glEnd();
}
DrawCoordiateSystem fonksiyonundan incelemeye başlayalım. Bu fonksiyonda x, y ve z eksenlerini ifade edecek üç çizgi çizdireceğiz. Eksenlerin diğer çizimlerden ayırd edilebilmesi için öncelikle çizgi kalınlığını değiştiriyoruz. OpenGL kütüphanesinin glLineWidth isimli API fonksiyonu çizgi kalınlığını değiştirir. Bu fonksiyonun prototip bildirimine bakalım :
void glLineWidth (
GLfloat width //Çizgi kalınlığı
);
glLineWidth API fonksiyonu float türünde bir parametre alır. Bu parametre çizgi kalınlığını belirtir. Varsayılan çizgi kalınlığı 1.0’dır. Koordinat sisteminin eksenlerini çizmek için glLineWidth fonksiyonunu 3.0f parametresini geçerek çağırıyoruz ve çizgi kalınlığının 3.0 olmasını sağlıyoruz. Eksen çizgilerini çizmek için, çizimi GL_LINES sembolik sabiti ile başlatıp çizim rengini beyaz yapıyoruz. Ardından eksen çizgilerini glVertex3f fonksiyonunu kullanarak çiziyoruz.
Eksen çizgilerinin çizimini tamamladıktan sonra kübün çizimine geçiyoruz. Çizgi kalınlığını tekrar 1.0 yapmak için glLineWidth fonksiyonunu 1.0f parametresini geçerek çağırıyoruz. Şimdi döndürme ve öteleme işlemlerini yapacak olan fonksiyonları çağırabiliriz. Koordinat eksenlerinin bu işlemlerden etkilenmesini önlemek için eksen çizimlerini bu fonksiyonları çağırmadan önce yapıyoruz. Öteleme işlemi için glTranslatef, döndürme işlemi için ise glRotatef fonksiyonunu uygun parametre değişkenlerini geçerek çağırıyoruz. Bu fonksiyonlara geçilen parametre değişkenleri, global alanda tanımlamış olduğumuz değişkenlerdir. Bu değişkenlerin değerlerini uygulamanın çalışma zamanında kullanıcının klavyeden gireceği bilgilere göre güncelleyeceğiz. Böylece her çizim öncesi parametre değişkenlerinin değerleri, dolayısıyla döndürme ve öteleme matrislerinin değerleri değişmiş olacak.
Döndürme ve öteleme işlemlerinin ardından kübün çizimine geçmeden önce çizilecek poligonun çizim modunu belirlemek üzere glPolygonMode OpenGL API fonksiyonunu çağırıyoruz. Bu fonksiyonun prototip bildirimini hatırlayalım :
void glPolygonMode (
GLenum face, //İşlemden etkilenecek olan yüzeyler
GLenum mode //Çizim biçimi
);
glPolygonMode OpenGL API fonksiyonu, çizilecek kapalı alanın pikselleştirilme biçimini ayarlar. Fonksiyonun iki parametre değişkeni bulunmaktadır. İlk parametre değişkeni verilen özellikten etkilenecek olan yüzeyi veya yüzeyleri ifade eder. Bu parametre değişkeni yerine G_FRONT sembolik sabiti geçilirse sadece ön yüzeyler, GL_BACK sembolik sabiti geçilirse sadece arka yüzeyler, GL_FRONT_AND_BACK sembolik sabiti geçilirse hem ön hem de arka yüzeyler atanacak özellikten etkilenecektir. Fonksiyonun ikinci parametre değişkeni atanacak olan özelliği ifade eder. Bu parametre değişkeni yerine GL_POINT sembolik sabiti geçilirse çizilecek olan kapalı alan noktalarla gösterilir, GL_LINE sembolik sabiti geçilirse çizilecek olan kapalı alan alanın kenarlarından geçen çizgilerle gösterilir, GL_FILL sembolik sabiti geçilirse çizilecek olan kapalı alan yüzeyleri boyanarak gösterilir. DrawGLScene fonksiyonunda, eğer filled değişkeninin değeri TRUE ise çizim GL_FILL modunda, filled değişkeninin değeri FALSE ise çizim GL_LINE modunda yapılıyor. Kullanıcının klavyeden gireceği bilgilere göre filled değişkeninin değeri değiştirilerek uygulamanın çalışma zamanında çizim modunu değiştirmek mümkün olmaktadır.
Çizim modunu da ayarladıktan sonra küp yüzeylerinin çizimine geçiyoruz. Çizimi GL_QUADS modunda başlatarak küp yüzeylerini dört köşe koordinatlarının değerlerini geçerek çiziyoruz. Her yüzey için glColor3f API fonksiyonu ile başka renk atıyoruz. Bu sayede yaptığımız işlemi uygulamanın çalışma zamanında görebilmemiz kolaylaşacaktır. Küp yüzeylerinin çizimini tamamladıktan sonra eğer çizim döndürülmekte ise, dönme açısının değerini 0.25f kadar artırıyoruz. Her çizim sonrası bu değer artırılarak sürekli bir dönme işleminin yapılması sağlanmaktadır.
Çizim fonksiyonumuzdan sonra şimdi pencere fonksiyonumuzu inceleyelim. Pencere fonksiyonunda, gelen mesajları dinleyerek kullanıcının klavyeden gireceği bilgiler doğrultusunda, uygulamada kullandığımız global değişkenlerin değerlerini değiştireceğiz. Önce fonksiyonumuzu inceleyelim :
LRESULT CALLBACK WndProc (HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
static HWND hWndChild;
switch (uMsg) {
case WM_CLOSE :
PostQuitMessage(0);
return 0;
case WM_SIZE :
ReSizeGLScene(LOWORD(lParam),HIWORD(lParam));
return 0;
case WM_COMMAND :
sbreak;
case WM_CHAR :
if (wParam == ’t’
rotate = rotate == TRUE ? FALSE : TRUE;
else if (wParam == ’x’
xRotate = abs(xRotate - 1.0f);
else if (wParam == ’y’
yRotate = abs(yRotate - 1.0f);
else if (wParam == ’z’
zRotate = abs(zRotate - 1.0f);
else if (wParam == ’f’
filled = filled == TRUE ? FALSE : TRUE;
else if (wParam == ’r’
xTranslate += 0.25f;
else if (wParam == ’l’
xTranslate -= 0.25f;
else if (wParam == ’u’
yTranslate += 0.25f;
else if (wParam == ’d’
yTranslate -= 0.25f;
else if (wParam == ’i’
zTranslate += 0.25f;
else if (wParam == ’o’
zTranslate -= 0.25f;
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
Kullanıcının klavyeden girdiği bilgiler, pencere fonksiyonuna WM_CHAR mesajı aracılığı ile iletilirler. Mesaj döngüsünün işlendiği switch-case ifadesinde, WM_CHAR mesajının alınması durumunda önceden belirlediğimiz bazı karakterlerin girildiğinin anlaşılması durumunda belli işlemlerin yapılmasını sağlıyoruz. Klavyeden ’t’ tuşuna basıldığında çizimin döndürülme durumunu ayarlıyoruz. Kullanıcı bir kere t tuşuna bastığında rotate isimli değişkenin değeri TRUE olur ve çizim döndürülür. Klavyeden tekrar t tuşuna basıldığında rotate isimli değişkenin değeri FALSE olur ve döndürme işlemi durdurulur. Klavyeden x, y veya z tuşlarına basılması durumunda xRotate , yRotate ve zRotate isimli değişkenlerin değerlerini değiştiriyoruz. Bu tuşlara ilk kez basılması durumunda değişkenlere 1.0 değeri atanır ve değeri 1.0 olan eksenler etrafında döndürme işlemi yapılır. Klavyeden tekrar x, y veya z tuşlarına basılması durumunda bu değişkenlerin değerleri 0.0 olur ve o eksen etrafındaki döndürme işlemi sonlandırılır.
Klavyeden ’f’ tuşuna basılması çizimin biçimini belirlemektedir. f tuşuna ilk kez basılması durumunda filled isimli değişkenin değeri TRUE olur ve çizilen kübün yüzeyleri boyanır. Klavyeden tekrar ’f’ tuşuna basıldığında ise filled değişkeninin değeri FALSE olur ve küp sadece kenarlarını sınırlayan çizgilerle gösterilir.
Klavyeden ’r’ ve ’l’ tuşlarına basılması çizimin x ekseni doğrultusundaki öteleme miktarını değiştirir. Bu tuşlarla çizim sola ya da sağa doğru kaydırılabilir. Klavyeden ’u’ veya ’d’ tuşlarına basılması çizimin y ekseni doğrultusundaki öteleme miktarını değiştirir. Bu tuşlarla çizim yukarıya veya aşağıya doğru kaydırılabilir. Klavyeden ’o’ veya ’i’ tuşlarına basılması çizimin z ekseni doğrultusundaki öteleme miktarını değiştirir. Bu tuşlarla çizime yaklaşılması veya çizimden uzaklaşılması sağlanır.
Uygulamanın çalışma zamanındaki görünümü şu şekillerde olacaktır :



2- Çarpma ve Bölme İşlemi

Tanım: Bir üslü ifadede Çarpma ve Bölme İşleminin yapılabilmesi için benzer terimlerin tabanlarının ayını olması gerekir.

Kural 8/ 1- (a.Xm) .(b.Xn) = (a.b).Xm+n
Kural 8 2- (a.Xm) ¸ (b.Xn) = (a¸b).Xm-n veya
Örnek / (2.52 ) . (3.54) = 2.3.52+4 =6.56
Örnek / (8.36) ¸ (4.32) =
Örnek /
Örnek / 15a = 3a-2 olduğuna göre 5a nın değerini bulalım.
15a = 3a-2 = (3.5)a = şeklinde yazılırsa
15a = 3a-2 = (3.5)a =
= 3a.5a =
= 32 . 3a.5 a = 3a
= 9.5a =
= 9.5a = 1
= 5a=
Nanometre (nm). Bir milimetrenin milyonda biridir. 10-9 metreye karşılık gelir. Gözle göremediğimiz maddeleri (atom v.b.) ölçmek için kullanılır. 1nm =o,oooooooo1 mÖrneğin Hücre Zarı 12 nm(nanometre)dirkaynak 2008-2009 Biyoloji 9. sınıf ders kitabıAyrıca nanometre bir çok bilgisayar parçasının üretim tekniğinde kullanılır.İntel'in yeni işlemcilerinde (CPU) 45 nm teknolojisi kullanılmaktadır.
Nerelerde kullanılır
Nano, bilim alanında metrenin milyarda biri anlamına gelen bir ölçü birimidir.Nano Teknoloji’ye gün geçtikçe ilgi artıyor. Birçok bilim dalında kullanılan Nano Teknoloji sayesinde doğanın sırlarını çözmeyi amaçlarken, aynı zamanda tıp, elektronik ve makine yapımında yararlanılan bu teknoloji giderek yaygınlaşıyor.

Nano Teknoloji gittikçe daha fazla ilgi uyandıran bir bilim dalı olmaya başladı. Yunanca’dan alınma olan ve “cüce” anlamına gelen Nano kelimesi bilim alanında, metrenin milyarda biri anlamına gelen ölçü birimi olarak kullanılıyor. Bu teknolojiden en fazla yararlanılan alanlar tıp, elektronik ve makine yapımı.

Nano Teknoloji kullanılarak çok küçük makineler yapılabildiği gibi “akıllı” malzemeler üretilebiliyor. İşte bu teknolojiye ilgi gösteren bilim adamları da Almanya’nın Münster kentinde buluştu. Toplantıda öncelikle Nano Teknoloji’nin fizik, kimya, biyoloji gibi birçok bilim dalını biraraya getirmesi özelliği ele alındı. Bu noktaya dikkat çeken Münster Üniversitesi Nano Teknoloji Merkezi Profesörü Harald Fuchs, Nano Teknoloji ile yaşamın sırlarını aralamayı planladıklarını belirterek, “En önemlisi sürecin kendi kendisini örgütlemesi” dedi ve bu teknoloji ile neler yapılacağını şöyle anlattı: “Biyolojik yapıların örgütlenmesinde bunu gözlemleyebiliyoruz. İşlevsel yapıların ortaya çıktığı heryerde öz örgütlenme çok önemli. Nano Teknoloji ile bizim istediğimiz şekilde çalışmak üzere kendi yapılarını örgütleyen makineler yapabiliriz. Doğanın nasıl örgütlendiğini henüz tam olarak çözemedik.

Doğadaki süreçlerin doğrusal olarak işlemediğini biliyoruz. Öyle özel yapılar var ki, doğrusal fizikle açıklamak mümkün değil.” Doğanın sırları Prof. Fuchs, doğanın sırlarını Nano Teknoloji ile çözmeyi planlıyor. Doğrusal olmayan doğal süreçlerin kare, küp ya da başka geometrik biçimlere sığdırılması mümkün değil. Ama artık bilgisayar yardımı ile geometriye uymayan doğal süreçleri de anlamak mümkün.

Yıllar önce bir odayı tek başlarına dolduran bilgisayarlar, önce masa üstlerimize, ardından dizüstlerine, şimdilerde de cebimize girecek kadar küçüldüler. mikron boyutlarında hayatımıza giren gelişmelerse sadece bilgi işlemle sınırlı kalmıyor. Tarımdan tıbba, mikro mekanikten yongalara dek hemen her alanda nano teknolojinin günlük hayatımıza neler katacağını araştırdık. Hemen her gün mikron boyutlarında yaşanan gelişmeler sadece masaüstü ya da diz üstü sistemler için geçerli olmaktan çıktı.Bilgi işlemci arenasındaki yarışta hayati önem taşıyan nano teknoloji, artık hayatımızın her noktasında kendini gösteriyor.Tarım, biyoloji, mekanik, elektronik, tıp ve kimya alanlarında uygulanan yeni yöntemlerde de, nano teknolojinin nimetlerinden faydalanılıyor.Bu sayede geliştirilen yeni ürün, hizmet ve yöntemler, günlük hayatımıza girmeye hazırlanıyor.Geçmişine baktığımızda %u2018taze’ olarak nitelendirebileceğimiz nano teknoloji üzerine yapılan çalışmalara artarken, ciddi firma ve akademik kurumların bu alana yaptığı yatırımlar milyar dolarlara ulaşmış durumda. Hal böyleyken nano teknolojinin getirilerinin somut örneklere dönüşmesi ise çok şaşırtıcı değil. Şimdi, bilim kurgudan gerçeğe dönüşen yeniliklerin hayatımıza neler getirdiğine göz atalım… Her geçen gün hızla ilerleyen teknolojinin sokaktaki insana yaşayan yüzü öncelikle cihaz boyutlarında yaşanan hızlı küçülme. Hepimizin bildiği gibi ilk bilgisayar bir oda kadar büyüktü ve yaptıkları işlemi ve hızlarını bugünkü modellerle kıyaslamak bile şu an için çok anlamsız bir davranış olarak değerlendirilebilir. Günümüzde çok güçlü bir bilgisayarın bir saat büyüklüğünde olabileceğini ve günlerce şarj edilmeden çalışabileceğini duyduğumuzda ‘neden olmasın’ diyebiliyoruz.Bundan 15 yıl önce ise 10MHz hızındaki işlemciler kullanıyorduk. Bugünse 2GHz ‘lik bir işlemci için ise ‘idare eder’ dediğimiz bile oluyor. 15 yıl sonraysa ‘Vay be,o zamanlar 2GHz ‘lik işlemciler kullanırdık’ diyerek kendi kendimize güleceğiz.
Yansıma ile dönme birbirinden farklıdır.
Yansımada; gerçek şekle ve görüntüsüne ( yansımasına ) baktığımız zaman birbirlerine ters dururlar.
Yani sağda olan solda, solda olan sağdadır.
Fakat dönme hareketinde sağda olan hep sağda,solda olan kısım da hep solda durur.
Dönme hareketine en iyi örnek çarkıfelektir.
Çarkıfelek ne kadar dönerse dönsün sayıların sıralanışı değişmez.
Dönme hareketi genellikle 90 ,180 veya 270 derece olarak yapılır.
360 derece pek karşımıza çıkmaz,zaten 360 derece dönmesi demek, cismin olduğu yerde kalması demektir.
Örnek: Şimdi elimizde A(-3,+2) noktası olsun, bu noktayı 90 derece saat yönünde döndürelim.
döndükten sonraki oluşan A şeklinin yeni haline A1 dersek,
A1 in koordinatları = A1(+2,+3) olacaktır.
Peki yukarıda neler oldu buna bakalım.
Her 90 derece dönmede noktaların koordinatları yer değişir ve ikinci koordinatın işareti - ile çarpılır.
Burada da A(-3,+2) noktasını 90 derece döndürdüğümüzde ne oldu?
Koordinatlar yer değişti yani A1(+2,-3) oldu, devamında ise ikincinin işaretini - ile çarptık.
Yani tam sonuç A1(+2,+3) elde edildi.

Sonuç: Bir noktayı saat yönünde 90 derece çevirdiğimizde noktanın koordinarları önceden A(a,b) ise dönme sonrası A1(b,-a) elde edilir.
180 derece sorulduğunda bu işlem 2 kere tekrar edilir, 270 derece sorulduğunda 3 kere tekrar edilir.
Şimdi aşağıdaki şekli inceleyelim.

Yukarıda;
A1(+2,+3) , B1(+6,+6) , C1(+7,+5), D1(+3,+1) noktalarının köşesinde olduğu bir dikdörtgen saat yönünde önce 90, sonra bir daha 90 derece döndürülmektedir. Yani ikinci dönmede baştakine göre şeklimiz 180 derece dönmüştür.
O halde ilk 90 derece dönmede yukarıdaki kuralımıza göre:
A2(+3,-2), B2(+6,-6), C2(+5,-7), D2(+1,-3) elde edilir.
Bunları bir daha 90 derece döndürürsek, baştakine göre 180 derece döndürmüş oluruz ve 3. şekil elde edilir.
Onun koordinatlarını da siz bulmaya çalışın.
• Peki saat yönünün tersine döndürüldüğünü düşünelim.
Örnek: A(+2,-3) noktasının saat yönünün tersine 90 derece dönmesiyle oluşan yeni koordinatı nedir?
Çözüm: Tersten düşünelim. Elimizdeki şeklin 90 derece ters yöne dönmesini bulacağız, o halde şu anki A(+2,-3) noktası bulacağımız şeklin saat yönüne dönmüş halidir.
Tersten bakarsak;
A(+2,-3) hangi koordinatın saat yönünde dönmüş hali olabilir?
A2(+3,+2) imiş ki saat yönünde dönünce A(+2,-3) elde edilmiş.
O halde;
Sonuç: Noktalar aat yönünün tersine döndürülecek olursa, A(a,b) olan koordinatı A2(-b,a) olarak değişmektedir.
Öteleme ve yansıma:
öteleme: bir cismin duruşunun değişmeden sadece yer değişmesidir.
Yansıma ise cismin duruşunun belirli bir yere göre ters dönmesidir.
öteleme ve yansıma farklı şeylerdir.
Fakat bazı şekilleri ötelesek de yansıma yapsak da aynı şekil elde edilir.
Örneğin: T harfinin aynadaki yansıması yine T şeklindedir. T harfinin ötelemesi de T şeklindedir.
Yani T ahrfinin ötelenmiş ve yansımış şekli aynıdır.
Buna ötelemeli yansıma (öteleme simetrisi) denir.
Bunun haricinde: Cisimleri önce öteleyip sonra yansıma yapmakla,
önce yansıma yapıp sonra öteleyerek elde edilen sonuçlar değişmez.
istenen sırayla gidilebilir.
Kendiniz de bu örnekleri çoğaltabilirsiniz.

1
ÖRNEK:

Bir zar atıldığında
Tek sayı gelme olayı: A = (1,3,5)
Çift sayı gelme olayı: B = (2,4,6)
Asal sayı gelme olayı C = (2,3,5) olsun.
Buradan :

olduğundan A ve B (2,4,6) =  B = (1,3,5) 1) A ayrık olaylardır
(2,3,5) = (3,5) olduğundan ayrık C = (1,3,5) 2) A olaylar değildir.
NOT: A ve B ayrık olaylar değil ise
B) = P(A) +P(A B) dir.P(B) – P(A

2
ÖRNEK :
Bir kutuda 5 siyah ve 4 beyaz top bulunmaktadır. Bu kutudan

a) Çekilen bir topun siyah olma olasılığı :

P(S) = Siyah top sayısı = 5 bulunur.
Toplam top sayısı 9

b) Çekilen iki topun ikisinin de beyaz olma olasılığını bulalım.

İstenen durum sayısı: 4 beyaz toptan 2 tanesini çekmek s 4 = 6 dir.
2

Tüm durumlar sayısı : Toplam 9 toptan 2 tanesini çekmek s(E) = 9 = 36 dir.
2
Sonuç olarak : P(A) = s(A) = 6 = 1 dır.
S(E) 36 6

c) Çekilen iki topun farklı renkte olma olasılığını bulalım.

İstenen durum sayısı: s(A) = 5 4 = 20 dır.
1 1
P(A) = s(A) = 20 = 5 olur.
s(E) 36 9

d) Çekilen iki toptan birincinin siyah, ikincinin beyaz olma olasılığını bulalım. Buradan sıralama verilmektedir. Birincinin siyah olma olasılığı = 5 dır. Kalan top
9
sayısı 9 – 1 = 8 olduğuna göre ikincinin beyaz olma olasılığı = 4 dir.
8
Sonuç olarak:
P(BS) = 5 . 4 = 5
9 8 18

3
ÖRNEK:
İçinde 6 kırmızı ve 4 beyaz bilye bulunan bir torbadan çekilen bilye tekrar torbaya atılmak üzere iki bilye çekiliyor.

a) Çekilen iki bilyenin ikisinin de kırmızı olma olasılığı
b) Çekilen iki bilyenin farklı renkte olma olasılığı
c) Çekilen iki bilyenin aynı renkte olma olasılığı
d) Çekilen iki bilyeden birincisinin kırmızı ikincisinin beyaz olma olasılığı kaçtır?


ÇÖZÜM:

a) P(KK) = 5 . 5 = 25 dır.
8 8 64
b) P(KS) + P(SK) = 6 . 4 + 4 . 6
10 10 10 10
= 48 = 12
100 25
c) P(KK) + P(BB) = 6 . 6 + 4 . 4
10 10 10 10
= 52 = 13
100 25
d) P(KB) = 6 . 4 = 24 = 6
10 10 100 25

4
ÖRNEK:

Bir torbada bulunan 6 beyaz 5 kırmızı ve 4 siyah bilye vardır. Torbadan rastgele çekilen 3 bilyenin
a) Üçününde beyaz olma olasılığı
b) Üçününde aynı renkte olma olasılığı
c) Üçününde farklı renkte olma olasılığı
d) 1. nin beyaz, 2. nin kırmızı ve 3. nün siyah olma olasılığı nedir?

ÇÖZÜM:

6+5+4 = 15 bilyeden 3’ü C(15,3) = 455 değişik şekilde seçileceğinden örnek uzayın eleman sayısı s(E) = 455’tir.
a) Seçilen üç bilyenin üçünün de beyaz olma olayı A olsun.
6 beyaz bilyeden 3’ü C(6,3) = 20 değişik şekilde seçileceğinden s(A) = 20 dir.
P(A) = s(A) = 20 = 4 bulunur.
S(E) 455 91
b) Üçününde aynı renkte olma olayı B olsun.
6 beyazdan, 3 beyaz: C(6,3) = 20
5 kırmızıdan, 3 kırmızı: C(5,3) =10
4 siyahtan, 3 siyah: C(4,3) = 4 değişik şekilde seçileceğinden, aynı renkli 3 bilye 20+10+4 = 34 farklı şekilde seçilebilir.
Buna göre
P(B) = s(B) = 34
S(E) 455
c) Seçilen her 3 bilyeninde farklı renklerde olma olayı C olsun.

6 beyazdan biri C(6,1)
5 kırmızıdan biri C(5,1) s(C) = C(6,1).C(5,1).C(4,1)
4 siyahtan biri C(4,1) =6.5.4 = 120
ise s(C) = 120 = 24
s(E) 455 91

d) Bu soruda sıralama vardır.
Birincinin beyaz olma olasılığı : 6
15
İkincinin kırmızı olma olasılığı : 5
14
Üçüncünün siyah olma olasılığı : 4
13
P(D) = 6 . 5 . 4 = 4
15 14 13 91



5
ÖRNEK:
3 kadın ve 4 erkekten oluşan bir komitenin üyelerinin adları birer karta yazılarak bir torbaya konuluyor. Torbadan rastgele çekilen 3 kartın birinde bir kadının diğerlerinde birer erkeğin isimlerinin yazılı olma olasılığı nedir?

ÇÖZÜM:
Torbadan 3 kart çekildiğinde, çekilenlerin kümesi örnek uzay E ise
s(E) =C(7,3) = 35 tir.

Çekilen 3 karttan birinde bir kadın diğerlerinde birer erkeğin isimlerinin yazılı olma olayı A olsun.

S(A) = s(A) = 18 bulunur.
s(E) 35
ÖRNEK:

3 madeni para atılıyor. Bu atışta en az bir tura gelme olasılığı nedir?

ÇÖZÜM:
E = { YYY,YYT,YTY,TYY,YTT,TYT,TTY,TT T}
Ve en az bir tura gelmesi
A = {YYT,YTY,TYY,YTT,TYT,TTY,TTT}
P(A) = 7 dir.
8

Veya : En az bir tura gelmesini hiç yazı gelmemesi şeklinde de ifade edebiliriz.

P(A) = 1 – P(YYY) = 1 – 1 = 7 dır.
8 8

6
ÖRNEK:
A = {1,2,3,4,5} kümesinin elemanları ile farklı 3 basamaklı sayılar ayrı ayrı kartlara yazılıp torbaya konuyor.
Torbadan rastgele çekilen bir karttaki sayının tek olma olasılığı kaçtır?





ÇÖZÜM:
Rakamları farklı 3 basamaklı tüm sayılar

s(E) = 5 . 4 . 3 = 60 tanedir.

Bunlardan tek sayı olanları

s(A) = 3 4 3 = 36 tanedir.

P(A) = s(A) = 36 = 3 dir.
s(E) 60 5

7
ÖRNEK:
Bir sınava giren A,B,C isimlerinden oluşan 3 öğrenciden A’nın sınavı kazanma olasılığı B’nin kazanma olasılığının 2 katı, B’nin sınavı kazanma olasılığı ise C’nin kazanma olasılığının 2 katı olduğuna göre A’nın sınavı kazanma olasılığı
3
nedir?

ÇÖZÜM:
P(A) = 2P(B) ve P(B) = 2 . P(C) dir
3

2.P(B) + P(B) + 3P(B) = 1 ise P(B) = 2
2 9

ve P(A) = 2P(B) = 2.2 = 4 bulunur.
9 9

KOŞULLU OLASILIK

A,B;E örnek uzayında iki olay olsun. B olayının gerçekleşmiş olması durumunda, A olayının olasılığına, A’nın B’ye bağlı koşullu olasılığı denir ve

P(A / B) ile gösterilir.

 B) , P(B) P(A / B) = P(A 
P(B)

8
ÖRNEK:
Bir çift zarın birlikte atılması deneyinde zarlardan birinin 5 geldiği bilindiğine göre, toplamının 10’dan büyük olma olasılığı kaçtır?

ÇÖZÜM:
İki zarın atılması deneyinde örnek uzay;
E = {(1,1), (1,2),... (6,5), (6,6)} yani
s(E) = 36 dır.
B = {(5,1), (1,5), (5,2), (2,5), ... (5,6)} yani
s(B) = 11 dir.
A = {(5,6),(6,5)} ise s(A) = 2 ve A B = {(5,6),(6,5)} Buna göre,

B)s(A
s(E)
B) =P(A / B) = P(A B) = 2= s(A
P(B) s(B) s(B) 11
s(E)

9
ÖRNEK:

1’den 10’a kadar (10 top) numaralandırılmış, aynı özellikteki toplar arasından rastgele çekilen bir topun asal sayı olduğu bilindiğine göre, çift sayı olma olasılığı kaçtır?

ÇÖZÜM:

E = {1,2,3,4,5,6,7,8,9,10} ise s(E) = 10
B = {2,3,5,7} ise s(B) = 4
A = {2} ise s(A) = 1
Buna göre;

s(A B)
s(E)
B) = = 1P(A / B) = P(A
P(B) s(B) 4
s(E)

10
ÖRNEK:
25 kişilik bir sınıfta fizik dersinden geçen 10 kişidir. Matematik ve fizik derslerinden her ikisinden geçen 3 kişidir. Her iki dersten kalan ise 10 kişidir. Bu sınıftan seçilen bir öğrencinin matematikten geçtiği bilindiğine göre fizikten de geçmiş olma olasılığı kaçtır?

ÇÖZÜM:
Yukarıdaki ifadeye göre şema çizilirse;


E M F


5 3 7


10


M) = 3 bulunur.P(F/M) = P(F
P(M) 8




OLASILIK ÇEŞİTLERİ NELERDİR?

Deneysel olasılık: Bir olasılık deneyi sonunda hesaplanan olasılığa denir. Bu olasılıkta deneyin yapıldığı problemin içinde geçer, problemi okuduğunuzda bir şeyler yapıldığını anlar, verileri görürsünüz.

örnek: Hileli bir zar 20 kez atıldığında 3 kez 1, 2 kez 2, 3 kez 3, 2 kez 4, 3 kez 5 ve 7 kez 6 geliyor. Buna göre bu zar atıldığında 5 gelme olasılığı kaçtır? cevap: 3/20

Teorik olasılık: Bir olasılık deneyinden teorik olarak beklenen olasılığa denir.Genelde şimdiye kadar karşılaştığımız problem tipleridir.İstenen durumların sayısını tespit edip tüm durumlara böleriz.

örnek: Bir zar atıldığında 3 gelme olasılığı kaçtır? cevap: 1/6

Öznel olasılık: Kişilerin kendi düşüncelerine göre karar verdikleri olasılıklara denir.Bu tip problemlerde kişilerin ismi ve tahmini yer alır.

örnek: 25 yumurtadan bazıları çift sarılıdır.Ali'ye göre alınacak bir yumurtanın çift sarılı olma olasılığı 10/25=0,4'tür. Ayşe'ye göre alınacak bir yumurtanın çift sarılı olma olasılığı 15/25=0,6'dır.
Fraktal parçalanmış ya da kırılmış anlamına gelen Lâtince fractuuss kelimesinden gelmiştir. İlk olarak 1975'de Polonya asıllı matematikçi Benoit Mandelbrot tarafından ortaya atıldığı varsayılır. Kendi kendini tekrar eden ama sonsuza kadar küçülen şekilleri, kendine benzer bir cisimde cismi oluşturan parçalar ya da bileşenler cismin bütününü inceler. Düzensiz ayrıntılar ya da desenler giderek küçülen ölçeklerde yinelenir ve tümüyle soyut nesnelerde sonsuza kadar sürebilir; tam tersi de her parçanın her bir parçası büyütüldüğünde, gene cismin bütününe benzemesi olayıdır. Doğada görülebilen bir örnek olarak bazı bitkilerin yapısı verilebilir.