Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
TRANSFORMASI & Flipping Coin
2
Transformasi Translasi objek dipindah kelokasi baru tanpa mengubah bentuk ukuran atau orientasinya. Skala objek diperbesar/diperkecil. Rotasi/Putar objek diputar terhadap titik tertentu tanpa mengubah bentuk dan ukurannya.
3
contoh skala translasi before rotasi after
4
Pengenalan Konsep yang terpenting dalam grafika komputer adalah Transformasi Affine. Pada dasarnya, transformasi ini adalah memindahkan objek tanpa merusak bentuk.
5
Transformasi Affine Transformasi Affine mempertahankan garis dan bidang. – Mempertahankan keliniearan dan kedatarannya Garis tetap sebagai garis Bidang tetap datar
6
. . . Transformasi Affine mempertahankan garis dan bidang. – Jika 2 garis paralel dikenakan transformasi yang sama maka hasil setelah transformasi tetap juga paralel. – Demikian juga untuk bidang
7
glTranslated Akan ditranslasikan bangunan persegi dengan glTranslated( x, y, z) dan warnanya diganti dengan warna biru void myDisplay(void) { glColor3f (0.0, 1.0, 0.0); glRectf (300.0, 200.0, 400.0, 300.0); glColor3f (0.0, 0.0, 1.0); glPushMatrix(); glTranslated(150,150,0); glRectf (300.0, 200.0, 400.0, 300.0); glPopMatrix(); glFlush (); }
8
Coding : #include <windows.h> #include <gl/Gl.h> #include <gl/glut.h> void myInit(void) { gluOrtho2D(0.0, 640.0, 0.0, 480.0); } void myDisplay(void) glColor3f (0.0, 1.0, 0.0); glRectf (300.0, 200.0, 400.0, 300.0); glColor3f (0.0, 0.0, 1.0); glPushMatrix(); glTranslated(150,150,0); glPopMatrix(); glFlush (); void main(int argc, char** argv) glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640,480); glutInitWindowPosition(100, 150); glutCreateWindow("transformasi"); glutDisplayFunc(myDisplay); myInit(); glutMainLoop();
10
glRotate Bangun persegi diputar glRotate(degrees, x, y, z); , warnanya diganti dengan warna merah. void myDisplay(void) { glColor3f (0.0, 0.0, 1.0); glRectf (300.0, 200.0, 400.0, 300.0); glColor3f (1.0, 0.0, 0.0); glPushMatrix(); glRotatef(30.0f, 0.0f, 0.0f, 1.0f); glRectf (300.0, 200.0, 400.0, 300.0); glPopMatrix(); glFlush (); }
11
Coding : #include "stdafx.h" #include <windows.h> #include <gl/Gl.h> #include <gl/glut.h> void myInit(void) { gluOrtho2D(0.0, 640.0, 0.0, 480.0); } void myDisplay(void) glColor3f (0.0, 0.0, 1.0); glRectf (300.0, 200.0, 400.0, 300.0); glColor3f (1.0, 0.0, 0.0); glPushMatrix(); glRotatef(30.0f, 0.0f, 0.0f, 1.0f); glPopMatrix(); glFlush (); void main(int argc, char** argv) glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640,480); glutInitWindowPosition(100, 150); glutCreateWindow("transformasi"); glutDisplayFunc(myDisplay); myInit(); glutMainLoop();
13
glScaled Atau diskala glScaled(x, y, z); dan warnanya diganti dengan kuning. void myDisplay(void) { glColor3f (0.0, 0.0, 1.0); glRectf (300.0, 200.0, 400.0, 300.0); glColor3f (1.0, 1.0, 0.0); glPushMatrix(); glScalef(0.5f, 0.5f, 1.0f); glRectf (300.0, 200.0, 400.0, 300.0); glPopMatrix(); glFlush (); }
14
Coding : #include "stdafx.h" #include <windows.h> #include <gl/Gl.h> #include <gl/glut.h> void myInit(void) { gluOrtho2D(0.0, 640.0, 0.0, 480.0); } void myDisplay(void) glColor3f (0.0, 0.0, 1.0); glRectf (300.0, 200.0, 400.0, 300.0); glColor3f (1.0, 1.0, 0.0); glPushMatrix(); glScalef(0.5f, 0.5f, 1.0f); glPopMatrix(); glFlush (); void main(int argc, char** argv) glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640,480); glutInitWindowPosition(100, 150); glutCreateWindow("transformasi"); glutDisplayFunc(myDisplay); myInit(); glutMainLoop();
16
Coding Flipping Coin : #include <stdlib.h> #include <math.h> #include <gl/glut.h> const double phi = ; int A; float sudut = 0; void lingkaran(int jari2, int titik, int lebar, int tinggi) { glBegin(GL_POLYGON); for (A = 0; A <= 400; A++) { float sudut = A * (2 * phi / titik); float x = lebar + jari2 * cos(sudut); float y = tinggi + jari2 * sin(sudut); glVertex2f(x, y); } glEnd(); void shape() { glPushMatrix(); lingkaran(1, 320, 0, 0); glPopMatrix(); void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glClearColor(1.0, 1.0, 1.0, 1.0); glScalef(sudut*0.001, sudut*0.001, 1.0f); glTranslated(sudut / 500, 0.2, 0); glRotated(sudut * 100, 0, sudut, 0); glColor3f(sudut*0.003, 1 - sudut * , 1 - sudut * 0.001); shape(); glFlush(); void timer(int value) { sudut -= -0.06; glutPostRedisplay(); glutTimerFunc(1, timer, 0); void main(int argc, char**argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640, 480); glutInitWindowPosition(100, 150); gluOrtho2D(-1000, 1000, -1000, 1000); glutCreateWindow("Tranformasi"); glutDisplayFunc(myDisplay); glutTimerFunc(100, timer, 0); glutMainLoop(); }s
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.