//3D cismi öteleme,döndürme,yansıtma ve ölçekleme
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <math.h>
#include <stdio.h>
void menu(void);
void cizim();
void olcekayar();
void otelemeayar();
void yansimaayar();
void dondurmeayar();
float deger1;
float deger2;
float deger3;
float matris[8][4]={{0,0,1,1},
{1,0,1,1},
{1,0,0,1},
{0,0,0,1},
{1,1,1,1},
{0,1,1,1},
{1,1,0,1},
{0,1,0,1}};
int main(int argc, char **argv)
{
int sec;
menu();
scanf("%d",&sec);
glutInit(&argc, argv);
glutInitWindowSize(1000,1000);
if(sec==1){
olcekayar();
glutCreateWindow("OLCEKLENMIS 3D");
glutDisplayFunc(cizim);
}
else if(sec==2){
otelemeayar();
glutCreateWindow("OTELENMIS 3D");
glutDisplayFunc(cizim);
}
else if(sec==3){
yansimaayar();
glutCreateWindow("YANSIMIS 3D");
glutDisplayFunc(cizim);
}
else if(sec==4){
dondurmeayar();
glutCreateWindow("DONDURULMUS 3D");
glutDisplayFunc(cizim);
}
glutMainLoop();
return(0);
}
3d etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
3d etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
29 Kasım 2009 Pazar
OpenGl - 3D
OpenGl - 3D Ölçekleme
void olcekayar(){
int i,j;
printf("\nolcekleme x degerini giriniz(0.x seklinde):");
scanf("%f",°er1);
printf("\nolcekleme y degerini giriniz(0.x seklinde):");
scanf("%f",°er2);
printf("\nolcekleme z degerini giriniz(0.x seklinde):");
scanf("%f",°er3);
for(i=0;i<8;i++)
matris[i][0]=matris[i][0]*deger1;
for(i=0;i<8;i++)
matris[i][1]=matris[i][1]*deger2;
for(i=0;i<8;i++)
matris[i][2]=matris[i][2]*deger3;
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
int i,j;
printf("\nolcekleme x degerini giriniz(0.x seklinde):");
scanf("%f",°er1);
printf("\nolcekleme y degerini giriniz(0.x seklinde):");
scanf("%f",°er2);
printf("\nolcekleme z degerini giriniz(0.x seklinde):");
scanf("%f",°er3);
for(i=0;i<8;i++)
matris[i][0]=matris[i][0]*deger1;
for(i=0;i<8;i++)
matris[i][1]=matris[i][1]*deger2;
for(i=0;i<8;i++)
matris[i][2]=matris[i][2]*deger3;
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
OpenGl - 3D Yansıma
void yansimaayar(){
int i,secim,j;
printf("\nhangi duzleme gore yansima\n");
printf("\n1- yz duzlemine gore yansima\n");
printf("\n2- xz duzlemine gore yansima\n");
printf("\n3- xy duzlemine gore yansima\n");
scanf("%d",&secim);
if(secim==1){
for(i=0;i<8;i++)
matris[i][0]=matris[i][0]*(-1);
}
else if(secim==2){
for(i=0;i<8;i++)
matris[i][1]=matris[i][1]*(-1);
}
else if(secim==3){
for(i=0;i<8;i++)
matris[i][2]=matris[i][2]*(-1);
}
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
int i,secim,j;
printf("\nhangi duzleme gore yansima\n");
printf("\n1- yz duzlemine gore yansima\n");
printf("\n2- xz duzlemine gore yansima\n");
printf("\n3- xy duzlemine gore yansima\n");
scanf("%d",&secim);
if(secim==1){
for(i=0;i<8;i++)
matris[i][0]=matris[i][0]*(-1);
}
else if(secim==2){
for(i=0;i<8;i++)
matris[i][1]=matris[i][1]*(-1);
}
else if(secim==3){
for(i=0;i<8;i++)
matris[i][2]=matris[i][2]*(-1);
}
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
OpenGl - 3D Döndürme
void dondurmeayar(){
int i,j,k,secim;
float mtrs[8][4]={0},aci;
printf("\ndondurme acisini giriniz:");
scanf("%f",&aci);
printf("\nhangi eksen etrafinda dondurme\n");
printf("\n1- x ekseni etrafinda dondurme\n");
printf("\n2- y ekseni etrafinda dondurme\n");
printf("\n3- z ekseni etrafinda dondurme\n");
scanf("%d",&secim);
if(secim==1){
float deger[4][4]={{1,0,0,0},
{0,cos(aci*3.14/180),sin(aci*3.14/180),0},
{0,sin(aci*3.14/180)*(-1),cos(aci*3.14/180),0},
{0,0,0,1}};
for(i=0;i<8;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
mtrs[i][j]=mtrs[i][j] + (matris[i][k])*(deger[k][j]);
}
else if(secim==2){
float deger[4][4]={{cos(aci*3.14/180),0,sin(aci*3.14/180)*(-1),0},
{0,1,0,0},
{sin(aci*3.14/180),0,cos(aci*3.14/180),0},
{0,0,0,1}};
for(i=0;i<8;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
mtrs[i][j]=mtrs[i][j] + (matris[i][k])*(deger[k][j]);
}
else if(secim==3){
float deger[4][4]={{cos(aci*3.14/180),sin(aci*3.14/180),0,0},
{sin(aci*3.14/180)*(-1),cos(aci*3.14/180),0,0},
{0,0,1,0},
{0,0,0,1}};
for(i=0;i<8;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
mtrs[i][j]=mtrs[i][j] + (matris[i][k])*(deger[k][j]);
}
for(i=0;i<8;i++)
for(j=0;j<4;j++)
matris[i][j]=mtrs[i][j];
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
int i,j,k,secim;
float mtrs[8][4]={0},aci;
printf("\ndondurme acisini giriniz:");
scanf("%f",&aci);
printf("\nhangi eksen etrafinda dondurme\n");
printf("\n1- x ekseni etrafinda dondurme\n");
printf("\n2- y ekseni etrafinda dondurme\n");
printf("\n3- z ekseni etrafinda dondurme\n");
scanf("%d",&secim);
if(secim==1){
float deger[4][4]={{1,0,0,0},
{0,cos(aci*3.14/180),sin(aci*3.14/180),0},
{0,sin(aci*3.14/180)*(-1),cos(aci*3.14/180),0},
{0,0,0,1}};
for(i=0;i<8;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
mtrs[i][j]=mtrs[i][j] + (matris[i][k])*(deger[k][j]);
}
else if(secim==2){
float deger[4][4]={{cos(aci*3.14/180),0,sin(aci*3.14/180)*(-1),0},
{0,1,0,0},
{sin(aci*3.14/180),0,cos(aci*3.14/180),0},
{0,0,0,1}};
for(i=0;i<8;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
mtrs[i][j]=mtrs[i][j] + (matris[i][k])*(deger[k][j]);
}
else if(secim==3){
float deger[4][4]={{cos(aci*3.14/180),sin(aci*3.14/180),0,0},
{sin(aci*3.14/180)*(-1),cos(aci*3.14/180),0,0},
{0,0,1,0},
{0,0,0,1}};
for(i=0;i<8;i++)
for(j=0;j<4;j++)
for(k=0;k<4;k++)
mtrs[i][j]=mtrs[i][j] + (matris[i][k])*(deger[k][j]);
}
for(i=0;i<8;i++)
for(j=0;j<4;j++)
matris[i][j]=mtrs[i][j];
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
OpenGl - 3D Öteleme
void otelemeayar(){
int i,j;
printf("\noteleme degerini giriniz:(0.x seklinde)");
scanf("%f",°er1);
printf("\noteleme degerini giriniz:(0.x seklinde)");
scanf("%f",°er2);
printf("\noteleme degerini giriniz:(0.x seklinde)");
scanf("%f",°er3);
for(i=0;i<8;i++)
matris[i][0]=matris[i][0]+deger1;
for(i=0;i<8;i++)
matris[i][1]=matris[i][1]+deger2;
for(i=0;i<8;i++)
matris[i][2]=matris[i][2]+deger3;
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
int i,j;
printf("\noteleme degerini giriniz:(0.x seklinde)");
scanf("%f",°er1);
printf("\noteleme degerini giriniz:(0.x seklinde)");
scanf("%f",°er2);
printf("\noteleme degerini giriniz:(0.x seklinde)");
scanf("%f",°er3);
for(i=0;i<8;i++)
matris[i][0]=matris[i][0]+deger1;
for(i=0;i<8;i++)
matris[i][1]=matris[i][1]+deger2;
for(i=0;i<8;i++)
matris[i][2]=matris[i][2]+deger3;
for(i=0;i<8;i++){
printf("\n");
for(j=0;j<4;j++){
printf("%f ",matris[i][j]);}}
}
OpenGl - 3D Menü ve Çizim Fonksiyonu
void menu(void){
printf("\n 1- OLCEKLEME\n");
printf("2- OTELEME\n");
printf("3- YANSIMA\n");
printf("4- DONDURME\n");
printf("seciminizi giriniz");
}
void cizim(){//çizim
glClear(GL_COLOR_BUFFER_BIT);
glColor3f (1,1,1);
glBegin(GL_POLYGON);
glVertex3f(matris[0][0], matris[0][1], matris[0][2]);
glVertex3f(matris[1][0], matris[1][1], matris[1][2]);
glVertex3f(matris[2][0], matris[2][1], matris[2][2]);
glVertex3f(matris[3][0], matris[3][1], matris[3][2]);
glVertex3f(matris[4][0], matris[4][1], matris[4][2]);
glVertex3f(matris[5][0], matris[5][1], matris[5][2]);
glVertex3f(matris[6][0], matris[6][1], matris[6][2]);
glVertex3f(matris[7][0], matris[7][1], matris[7][2]);
glEnd();
glFlush();
}
printf("\n 1- OLCEKLEME\n");
printf("2- OTELEME\n");
printf("3- YANSIMA\n");
printf("4- DONDURME\n");
printf("seciminizi giriniz");
}
void cizim(){//çizim
glClear(GL_COLOR_BUFFER_BIT);
glColor3f (1,1,1);
glBegin(GL_POLYGON);
glVertex3f(matris[0][0], matris[0][1], matris[0][2]);
glVertex3f(matris[1][0], matris[1][1], matris[1][2]);
glVertex3f(matris[2][0], matris[2][1], matris[2][2]);
glVertex3f(matris[3][0], matris[3][1], matris[3][2]);
glVertex3f(matris[4][0], matris[4][1], matris[4][2]);
glVertex3f(matris[5][0], matris[5][1], matris[5][2]);
glVertex3f(matris[6][0], matris[6][1], matris[6][2]);
glVertex3f(matris[7][0], matris[7][1], matris[7][2]);
glEnd();
glFlush();
}
20 Ekim 2009 Salı
UP'ladım
Tür: Komedi/Macera/Animasyon/3DGösterim Tarihi: 16 Ekim 2009
Yönetmen: Pete Docter, Bob Petersen
Senaryo: Bob Petersen
Müzik: Michael Giacchino
Yapım: 2009,ABD,96 dk
IMDB puanı: 8.6
Hayatı boyunca yaşamak istediği macera hayalini gerçekleştirmek için evine binlerce balon bağlayıp Güney Amerika'nın vahşi doğasına doğru yolculuğa çıkan 78 yaşındaki baloncu Carl Fredricksen'ın hikayesinin anlatıldığı yeni bir komedi.
Ancak Carl, yolculuğa başladıktan sonra en büyük kabusunu da yanında götürmekte olduğunu fark eder: fazlasıyla iyimser, doğa kaşifi 8 yaşındaki Russel'ı.
Sinema salonlarında daha fazla 3 boyutlu film gösterilmesi için Hollywood’un son dönemdeki çabasına katkıda bulunmak amaçlı, bu yıl Cannes Film Festivali’nin açılış filmi olan Up/Yukarı Bak'ın Türkçe seslendirmesinde Erol Günaydın baş karaktere sesini verecek.
İzlediğim en iyi animasyonlardan.Komediden çok macera var bu filmde; seslendirme,konusu ve efektler çok iyi.İzlemenizi tavsiye ederim,3D izlemedim ama onun da seyri başkadır.Benim bu filme puanım 9...
Etiketler:
3d,
Animasyon,
Etkinlikler 2009,
sinema,
up,
yukarı bak
Kaydol:
Kayıtlar (Atom)