Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Computer Graphics (OpenGL) Ödevi


Kemarlos

Öne çıkan mesajlar

Selam patiler, bu çarşambaya teslim etmem gereken bir comp. graph ödevim var, ve aynı güne başka bir proje teslimim ve bir önceki gün ise festivaller'de konserimiz var bu ödeve ayıracak fazla vaktim yok o nedenle. OpenGL bilen birinden biraz yardım alabilir miyim?

ödev

The figure below shows a scene with several objects disposed at the corners of a cube, which itself has one corner at the origin. Seven objects appear at various corners at the cube, all drawn as wire frames. Initialize a 640-by-480 pixel screen window and set the viewport.


Link to comment
Sosyal ağlarda paylaş

GLUT kullanıyosanız çizeceğin şeylerin çoğunun fonksiyonu var sana kalan sadece kordinatları vermek, translate felan yapmak.
http://www.dei.isep.ipp.pt/~matos/cg/docs/manual/gluSphere.3G.html
http://www.genesim.co.il/gluTorus.htm
http://libsh.org/ref/online/onlinese2.html
gibi...
Viewport da çok karışık bi' şey değil
http://www.opengl.org/sdk/docs/man/xhtml/glViewport.xml

Bi kaç tutorial okuyarak 2 saatte felan yaparsın eğer hiç bilgim yok diyosan.
Link to comment
Sosyal ağlarda paylaş

Kemarlos yapılmayacak birşey değil aslında. Umarım yetiştirirsin. Cisimleri hazır bulup viewport'u set edip sadece konumlandırıp translate falan ediceksin sanırım. Yapabildiğin kadar yap bari. En azından boş proje verme. Computer Graphics'te projeler ağırlıklı olması lazım. Sınavlar sıkıntılı geçmişti ben aldığımda. Normalde kalırdık o notlarla, ama hoca projelere bakarak notlandırmıştı genel olarak.

Final projesi yok mu buarada? Mayısın ortasında ne projesi ki bu böyle?
Link to comment
Sosyal ağlarda paylaş

Ödev bu bildiğin. Projeyi de verdi final projemiz de var onu da koyarım yakında :) Ya bununla ilgili bi kod var elimde ama yarına başka bir projeyi yetiştirmeye çalıştığım için bununla uğraşamıyorum. Eğer openGL konusunda usta olan elimi sallasam ellesi bir arkadaş yardımcı olursa yetiştiricem bunu da :) Şöyle bir kod var elimde:


// Ekrani cizmek icin cagrilir
void RenderScene(void)
{
// Pencereyi temizle
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

//ana_küp
glPushMatrix();
glTranslatef(0,0,0);
glRotatef(25, 1.0f, 0.0f, 0.0f);
glRotatef(-16, 0.0f, 1.0f, 0.0f);
glutWireCube(2.1f);
glPopMatrix();

//simit
glPushMatrix();
glTranslatef(-0.7,1.5,0);
glRotatef(-70, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireTorus(0.2f, 0.5f, 10, 10);
glPopMatrix();

//çaydanlık
glPushMatrix();
glTranslatef(0.7,0.4,0);
glRotatef(25, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireTeapot(0.35f);
glPopMatrix();

//Daire
glPushMatrix();
glTranslatef(1.3,1.3,0);
glRotatef(60, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireSphere(0.4f, 12, 12);
glPopMatrix();

//küp
glPushMatrix();
glTranslatef(-1.3,0.7,0);
glRotatef(22, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireCube(0.5f);
glPopMatrix();

//küp
glPushMatrix();
glTranslatef(1.3,-0.5,0);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glScalef (0.3, 0.3, 0.3);
glutWireDodecahedron();
glPopMatrix();

//Cone
glPushMatrix();
glTranslatef(0.8,-1.4,0);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireCone(0.30f, 0.9f, 10, 10);
glPopMatrix();

//Dönmeyen_Cone
glPushMatrix();
glTranslatef(0,-0.5,0);
glRotatef(30, 0.0f, 1.0f, 0.0f);
glRotatef(80, 0.0f, 1.0f, 0.0f);
glutWireCone(0.08f, 0.3f, 8, 6);
glPopMatrix();

//Dönmeyen_Cone
glPushMatrix();
glTranslatef(-0.72,0.2,0);
glRotatef(-80, 1.0f, 0.0f, 0.0f);
glRotatef(0, 0.0f, 1.0f, 0.0f);
glutWireCone(0.08f, 0.3f, 8, 6);
glPopMatrix();

//Dönmeyen_Cone
glPushMatrix();
glTranslatef(-0.82,-0.5,0);
glRotatef(80, 1.0f, 0.0f, 0.0f);
glRotatef(-28, 0.0f, 1.0f, 0.0f);
glutWireCone(0.08f, 0.3f, 8, 6);
glPopMatrix();

//gluCylinder(quadratic,1.0f,1.0f,3.0f,32,32);

glutSwapBuffers();
}
Link to comment
Sosyal ağlarda paylaş


void reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

gluPerspective(50.0, w/h, 2, 100.0);
glMatrixMode(GL_MODELVIEW);
}

void main(int argc, char **argv)
{
glutInit(&argc, argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(500, 500);
glutCreateWindow("hede");

glutReshapeFunc(reshape);
glutDisplayFunc(RenderScene);
glutIdleFunc(NULL);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glEnable(GL_DEPTH_TEST);

glutMainLoop();
}
Link to comment
Sosyal ağlarda paylaş


#include <GL/glut.h>
#include <stdio.h>
#include <math.h>

int yRot;
int w=640, h=800;



// Ekrani cizmek icin cagrilir
void RenderScene(void)
{
// Pencereyi temizle
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

//ana_küp
glPushMatrix();
glTranslatef(0,0,0);
glRotatef(25, 1.0f, 0.0f, 0.0f);
glRotatef(-16, 0.0f, 1.0f, 0.0f);
glutWireCube(2.1f);
glPopMatrix();

//simit
glPushMatrix();
glTranslatef(-0.7,1.5,0);
glRotatef(-70, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireTorus(0.2f, 0.5f, 10, 10);
glPopMatrix();

//çaydanlık
glPushMatrix();
glTranslatef(0.7,0.4,0);
glRotatef(25, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireTeapot(0.35f);
glPopMatrix();

//Daire
glPushMatrix();
glTranslatef(1.3,1.3,0);
glRotatef(60, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireSphere(0.4f, 12, 12);
glPopMatrix();

//küp
glPushMatrix();
glTranslatef(-1.3,0.7,0);
glRotatef(22, 1.0f, 0.0f, 0.0f);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireCube(0.5f);
glPopMatrix();

//küp
glPushMatrix();
glTranslatef(1.3,-0.5,0);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glScalef (0.3, 0.3, 0.3);
glutWireDodecahedron();
glPopMatrix();

//Cone
glPushMatrix();
glTranslatef(0.8,-1.4,0);
glRotatef(yRot, 0.0f, 1.0f, 0.0f);
glutWireCone(0.30f, 0.9f, 10, 10);
glPopMatrix();

//Dönmeyen_Cone
glPushMatrix();
glTranslatef(0,-0.5,0);
glRotatef(30, 0.0f, 1.0f, 0.0f);
glRotatef(80, 0.0f, 1.0f, 0.0f);
glutWireCone(0.08f, 0.3f, 8, 6);
glPopMatrix();

//Dönmeyen_Cone
glPushMatrix();
glTranslatef(-0.72,0.2,0);
glRotatef(-80, 1.0f, 0.0f, 0.0f);
glRotatef(0, 0.0f, 1.0f, 0.0f);
glutWireCone(0.08f, 0.3f, 8, 6);
glPopMatrix();

//Dönmeyen_Cone
glPushMatrix();
glTranslatef(-0.82,-0.5,0);
glRotatef(80, 1.0f, 0.0f, 0.0f);
glRotatef(-28, 0.0f, 1.0f, 0.0f);
glutWireCone(0.08f, 0.3f, 8, 6);
glPopMatrix();

//gluCylinder(quadratic,1.0f,1.0f,3.0f,32,32);

glutSwapBuffers();
}

void reshape(int w, int h)
{
w= 600;
h= 800;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

gluPerspective(50.0, w/h, 2, 100.0);
glMatrixMode(GL_MODELVIEW);
}

void main(int argc, char **argv)
{
glutInit(&argc, argv);

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(800, 800);
glutCreateWindow("hede");

glutReshapeFunc(reshape);
glutDisplayFunc(RenderScene);
glutIdleFunc(NULL);
//glutMouseFunc(mouse);
//glutKeyboardFunc(keyboard);
glEnable(GL_DEPTH_TEST);

glutMainLoop();
}


abi saçma sapan bişi çiziyo olması gerken şeyler mevcut ama saykodelik bir şekilde dağılmışlar ekrana :D
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...