Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

TRANSFORMASI & Flipping Coin

Presentasi serupa


Presentasi berjudul: "TRANSFORMASI & Flipping Coin"— Transcript presentasi:

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();

9

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();

12

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();

15

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


Download ppt "TRANSFORMASI & Flipping Coin"

Presentasi serupa


Iklan oleh Google