Subscribe Twitter FaceBook

Jumat, 30 Desember 2011

Model 3 Dimensi dengan OpenGl dan 3Ds Max

Model 3 Dimensi dengan OpenGl dan 3Ds Max
OpenGL
  Spesifikasi standar mendefinisikan API lintas bahasa, lintas-platform untuk menulis aplikasi yang menghasilkan grafik komputer 2D dan 3D
Membuat Model 3 Dimensi
  Pertama tentukan model 3 dimensi yang aka kita buat, misalnya kubus
  Buat sketsa dari kubus dalam koordinat X, Y, Z

Membuat Model 3 Dimensi #2
  Tentukan titik sudut yang akan digunakan untuk membentuk kubus. Kubus memiliki 8 titik sudut dan 6 sisi.
  Titik sudut tersebut kita tandai dengan V0 sampai V7
  Tandai sisi kubus dengan S1 sampai S6
  Setelah itu, baru kita bisa terjemahkan dalam bentuk program
Membuat Model 3 Dimensi #3
  Buat larik yang mendefinisikan titik sudut dalam bentuk koordinat X, Y, Z
  Kita akan mengunakan fungsi glPolygonMode agar model kubus yang dibuat terlihat 3 dimensi.
  Gunakan fungsi GL_QUADS untuk menciptakan kubus dengan 6 permukaan
Membuat Model 3 Dimensi #4
  Permukaan kubus pertama dibuat dari titik V0, V1, V2, V3. Titik sudut tersebut harus berlawan arah dengan jarum jam.

Membuat Model 3 Dimensi #5
  Fungsi GL_QUADS akan secara otomatis membuat permukaan kubus yang lain, melalui titik sudut yang telah kita tentukan
Membuat Model 3 Dimensi #6

#include"stdafx.h"
#include<gl/glut.h>
GLdouble V0[] = { 0.0, 0.0, 0.0};
GLdouble V1[] = { 1.0f, 0.0, 0.0};
GLdouble V2[] = { 1.0f, 1.0f, 0.0};
GLdouble V3[] = { 0.0, 1.0f, 0.0};
GLdouble V4[] = { 0.0, 0.0, -1.0f};
GLdouble V5[] = { 1.0f, 0.0, -1.0f};
GLdouble V6[] = { 1.0f, 1.0f, -1.0f};
GLdouble V7[] = { 0.0, 1.0f, -1.0f};

void Display(void){
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    gluLookAt(3.0, 2.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
    glColor3f(1.0, 1.0, 1.0);

    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

    glBegin(GL_QUADS);
        glVertex3dv(V0); glVertex3dv(V1); glVertex3dv(V2); glVertex3dv(V3);        // Surface 1
        glVertex3dv(V1); glVertex3dv(V5); glVertex3dv(V6); glVertex3dv(V2);        // Surface 2
        glVertex3dv(V5); glVertex3dv(V4); glVertex3dv(V7); glVertex3dv(V6);        // Surface 3
        glVertex3dv(V4); glVertex3dv(V0); glVertex3dv(V3); glVertex3dv(V7);        // Surface 4
        glVertex3dv(V3); glVertex3dv(V2); glVertex3dv(V6); glVertex3dv(V7);        // Surface 5
        glVertex3dv(V0); glVertex3dv(V4); glVertex3dv(V5); glVertex3dv(V1);        // Surface 6
    glEnd();

    glutSwapBuffers();
}
void Init(void){
    glClearColor(0.0, 0.0, 0.0, 0.0);
}

void Resize(int width, int height){
    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(60.0, height/width, 0.1, 1000.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

int main(int argc, char **argv){
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutInitWindowSize(400, 400);
    glutInitWindowPosition(200, 200);
    glutCreateWindow("3D Object in OpenGL");
    Init();
    glutDisplayFunc(Display);
    glutReshapeFunc(Resize);
    glutMainLoop();
return 0;
}



3DSMax
  Pengenalan 3DSMax
  Tampilan















Minggu, 04 Desember 2011

Morphing NRP menjadi Nama

Morphing dari  angka 120 ke lau
Pertama-tama membuat angka 1 , 2, dan 0 dan selanjutnya membuat huruf  l , a, u menggunakan apa terserah.. tapi disini saya menggunakan adobephotoshop.








Setelah itu buka aplikasi Abrosoft FantaMorph kebetulan saya memakai Abrosoft FantaMorph.


Pada project wizard pilih type project yang mau digunakan, misalnya Morph. Selanjutnya klik next.



Selanjutnya import source emage yaitu emage 1 atau source morph dan emage 2 atau destination morph. Selanjutnya klik next.
 
 Contoh emage sebelum dicrop/emage asli


Setelah itu akan tampil perintah edit source emage, pada bagian ini emage kita edit misalnya emagenya dicrop agar terlihat lebih jelas. Selanjutnya klik next,



Image setelah dicrop:





Mengatur propertis movie, misalnya movie side(ukuran movie), movie length, durasi movie,dll. 
 

 Selanjutnya klik next. setelah itu akan muncul tampilan seperti berikut:
Dan proses morphing bisa dilakukan pada tampilan di bawah ini dengan mengedit dot atau add dot,dll.

Setelah proses morphing selesai maka bisa di play dengan mengklik tombol play seperti pada gambar di atas. Setelah itu dieksport terserah dalam format apa dan hasilnya seperti video berikut :

 

Sekian dan Trimakasih..!!!

MORPHING

 Pengertian Morphing

Morphing adalah perubahan bentuk obyek gambar secara bertahap.Morphing merupakan salah satu teknik yang banyak digunakan dalam dunia entertainment karena efek dari morphing ini sangat menarih untuk diamati. Morphing memerlukan dua gambar, yaitu gambar awal dan gambar akhir. Morphing digunakan untuk membuat gambar yang merupakan gambar perubahan setiap satuan waktu dari gambar asal ke gambar hasil. Morphing secara sederhana dapat dilakukan dengan menggunakan interpolasi linier.

 Contoh Morphing 1

Morphing suatu obyek gambar adalah hasil perubahan pada setiap titiknya, sehingga proses morphing dilakukan pada titik-titik dari obyek gambar.
Interpolasi linier 

Interpolasi linier adalah salah satu teknik untuk mendapatkan nilai antara dari dua nilai dengan memperhatikan perbandingan skala atau posisinya. Interpolasi berikut ini menggunakan pendekatan garis lurus.



 

Implementasi
Interpolasi Linier 2D

point2D_t interpolasi(point2D_t a,                     
point2D_t b, float k, float n)
{
   point2D_t c;
   c.x=a.x+k*(b.x-a.x)/n;
   c.y=a.y+k*(b.y-a.y)/n;
   return c;
}
 
Morphing 2D
  • Morphing 2D adalah implementasi dari interpolasi yang dikenakan pada titik-titik 2D
  • Morphing yang dilakukan pada dua obyek gambar 2D adalah interpolasi dari setiap titik yang bersesuaian (berdasarkan urutan)
  • Morphing 2D menggunakan transformasi posisi pada sistem koordinat 2D
  • Jumlah titik sama.