laporan 3 graika komputer

Upload: litarobby

Post on 14-Feb-2018

242 views

Category:

Documents


14 download

TRANSCRIPT

  • 7/23/2019 Laporan 3 Graika Komputer

    1/26

    LAPORAN PRAKTIKUM GRAFIKA KOMPUTER

    MODUL III

    TRANSFORMASI DAN ANIMASI OBJEK 2D

    Disusun untuk Memenuhi Matakuliah Praktikum Grafika Komputer yang

    dibimbing oleh Bapak Heru Wahyu Herwanto

    Oleh :

    Wildan etyo Budi !"#$%&&'&$((')

    *inik +usmawati !"#$%&&'&$((")

    " P,- "# off B

    UNIVERSITAS NEGERI MALANG

    FAKULTAS TEKNIK

    JURUSAN TEKNIK ELEKTRO

    S1 PENDIDIKAN TEKNIK INFORMATIKA

    MARET 2014

    MODUL 3

  • 7/23/2019 Laporan 3 Graika Komputer

    2/26

    Transformasi dan Animasi Objek 2D

    A. TUJUAN

    Memahami fungsi.fungsi transformasi !translasi/ rotasi/ skala)0

    Memahami dan dapat membuat multi ob1ek menggunakan fungsi transformasi0

    Memahami prinsip.prinsip pembuatan animasi ob1ek #D0

    Membuat animasi ob1ek #D

    B. LATIHAN TRANSFORMASI OBJEK 2 D

    Lat!a" 1

    2ript

    #include

    #include

    void drawQuads(){

    glClear(GL_COLO_!"$_!%&)'

    glColor(*+,+,)'

    gl&ranslate (-,+,+,)' /osisi d

    gl!egin(GL_Q"012)'

    gl&ranslate (-,+,+,)' /osisi a

    gl3erte45(,.,+,.,)'

    gl3erte45 (,.,+*,.,)'

    gl&ranslate (-,+,+,)' /osisi b

    gl3erte45d (5,.,+*,.,)'gl3erte45d (5,.,+,.,)'

    gl&ranslate (-,+,+,)' /osisi c

    gl$nd ()'

    gllush ()'

    6

    void 7ain(int argc+ char 88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul BD)'

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(drawQuads )'

    glut;ainLoo/()'

    6

    2

  • 7/23/2019 Laporan 3 Graika Komputer

    3/26

    2reenshoot

    Posisi d Posisia/b atau 2

    Pen1elasan

    Lat!a" 2

    2ript

    #include

    #include

    void drawQuads(){

    gl!egin(GL_Q"012)'

    gl3erte45(,.,+,.,)'

    gl3erte45 (,.,+B,.,)'

    gl3erte45d (F,.,+B,.,)'

    gl3erte45d (F,.,+,.,)'

    gl$nd ()'

    6

    void render(){

    glClear(GL_COLO_!"$_!%&)'glColor(*+,+,)' 7erah

    drawQuads ()' ota *

    gl&ranslate(,+EB,+,)'

    glColor(*+*+*)' /utih

    drawQuads ()' ota 5

    gllush ()'

    6

    void 7ain(int argc+ char 88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul BD)'

    3

  • 7/23/2019 Laporan 3 Graika Komputer

    4/26

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(render)' /e7anggilan ungsi render

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    Lat!a" 3

    2ript

    #include

    #include

    void drawQuads(){

    gl!egin(GL_Q"012)'

    gl3erte45(,.,+,.,)'

    gl3erte45 (,.,+B,.,)'

    gl3erte45d (F,.,+B,.,)'

    gl3erte45d (F,.,+,.,)'

    gl$nd ()'

    6

    void render(){

    glClear(GL_COLO_!"$_!%&)'

    glColor(*+,+,)' 7erah

    drawQuads ()'

    glotate(B-+*+,+,)'(sudut+4+:+A) E> nilai 4:A dirubah

    rubah 7enghasilan...glColor(*+*+*)' /utih

    4

  • 7/23/2019 Laporan 3 Graika Komputer

    5/26

    drawQuads ()'

    gllush ()'

    6

    void 7ain(int argc+ char 88argv){

    glut%nit(9argc+argv)'glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul BD)'

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(render)'

    glut;ainLoo/()'

    6

    2reenshoot

    Gambar dengan fungsi rotasi

    gl+otatef!'%/"/$/$)3

    Gambar dengan fungsi rotasi

    gl+otatef!'%/$/"/$)3

    Gambar dengan fungsi rotasi gl+otatef!'%/$/$/")3

    Pen1elasan

    5

  • 7/23/2019 Laporan 3 Graika Komputer

    6/26

    Lat!a" 4

    2ript

    #include

    #include

    void drawQuads(){

    gl!egin(GL_Q"012)'

    gl3erte45(,.,+,.,)'

    gl3erte45 (,.,+B,.,)'

    gl3erte45d (F,.,+B,.,)'

    gl3erte45d (F,.,+,.,)'

    gl$nd ()'

    6

    void render(){

    glClear(GL_COLO_!"$_!%&)'

    glColor(*+,+,)' 7erah

    drawQuads ()'

    gl2cale(5+ *+ ,)'di/erbesar atau di/erecil sebesar...glColor(*+*+*)' /utih

    drawQuads ()'

    gllush ()'

    6

    void 7ain(int argc+ char 88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul BD)'

    gluOrtho51(E5,+5,+E5,+5,)'glut1is/la:unc(render)'

    glut;ainLoo/()'

    6

    2reenshoot

    Gambargl2alef!#/ "/ $)3

    6

  • 7/23/2019 Laporan 3 Graika Komputer

    7/26

    Gambargl2alef!"/ #/ $)3

    Gambargl2alef!"/ "/ #)3

    Pen1elasan

    #. LATIHANANIMASI OBJEK 2D

    Lat!a"1

    2ript

    7

  • 7/23/2019 Laporan 3 Graika Komputer

    8/26

    #include

    #include

    voiddrawQuads ()

    { gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(*,,+,)'

    gl3erte45i(*,,+*,,)'

    gl3erte45i(,+*,,)'

    gl$nd()'

    6

    voiddis/la:(){

    glClear(GL_COLO_!"$_!%&)'

    glotate(*+,+,+*)'glotate(angle+4+:+A)'

    drawQuads ()'

    gllush()'6

    voidti7er(intvalue){

    tulisan variabel :ang berubah nilain:a disini

    glutostedis/la:()'

    glut&i7erunc(,+ ti7er+ ,)'

    6

    void7ain (intargc+ char88argv) {

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(HB,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,.+5,.+E5B,.+5B,.)'

    glut1is/la:unc(dis/la:)'

    glut&i7erunc(*,,+ ti7er+ ,)' /anggil ti7er

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    8

  • 7/23/2019 Laporan 3 Graika Komputer

    9/26

    Lat!a" 2

    2ript

    #include

    #include

    voiddrawQuads (){

    gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(*,,+,)'

    gl3erte45i(*,,+*,,)'

    gl3erte45i(,+*,,)'

    gl$nd()'

    6

    voiddis/la:(){

    glClear(GL_COLO_!"$_!%&)'

    glotate(*+,+*+,)'glotate(angle+4+:+A)'

    drawQuads ()'

    gllush()'

    6

    voidti7er(intvalue){

    tulisan variabel :ang berubah nilain:a disini

    glutostedis/la:()'

    glut&i7erunc(-,+ ti7er+ ,)'

    6

    void7ain (intargc+ char88argv) {glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(HB,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,.+5,.+E5B,.+5B,.)'

    glut1is/la:unc(dis/la:)'

    glut&i7erunc(*,,+ ti7er+ ,)' /anggil ti7er

    glut;ainLoo/()'

    6

    2reenshoot

    9

  • 7/23/2019 Laporan 3 Graika Komputer

    10/26

    Pen1elasan

    Lat!a" 3

    2ript

    #include

    #include

    voiddrawQuads ()

    {

    gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(*,,+,)'

    gl3erte45i(*,,+*,,)'

    gl3erte45i(,+*,,)'

    gl$nd()'

    6

    voiddis/la:(){

    glClear(GL_COLO_!"$_!%&)'

    glotate(*+*+,+,)'glotate(angle+4+:+A)'

    drawQuads ()'

    gllush()'

    6

    10

  • 7/23/2019 Laporan 3 Graika Komputer

    11/26

    voidti7er(intvalue){

    tulisan variabel :ang berubah nilain:a disini

    glutostedis/la:()'

    glut&i7erunc(*,+ ti7er+ ,)'

    6

    void7ain (intargc+ char88argv) {

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(HB,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,.+5,.+E5B,.+5B,.)'

    glut1is/la:unc(dis/la:)'

    glut&i7erunc(*,,+ ti7er+ ,)' /anggil ti7er

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    Lat!a" 4

    2ript

    #include

    #include

    int4'

    11

  • 7/23/2019 Laporan 3 Graika Komputer

    12/26

    voiddrawQuads ()

    {

    gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'gl3erte45i(*,,+,)'

    gl3erte45i(*,,+*,,)'

    gl3erte45i(,+*,,)'

    gl$nd()'

    6

    voiddis/la:(void)

    {

    glClear(GL_COLO_!"$_!%&)'

    gl&ranslate(4+ ,+ ,)'

    drawQuads()'

    gllush()'

    6void&i7er (intvalue)

    {

    i(4

  • 7/23/2019 Laporan 3 Graika Komputer

    13/26

    Lat!a" $

    2ript

    #include

    #include

    int:'

    voiddrawQuads ()

    {

    gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(*,,+,)'

    gl3erte45i(*,,+*,,)'

    gl3erte45i(,+*,,)'

    gl$nd()'

    6

    voiddis/la:(void){

    glClear(GL_COLO_!"$_!%&)'

    gl&ranslate(,+ :+ ,)'

    drawQuads()'

    gllush()'

    6

    void&i7er (intvalue)

    {

    i(:

  • 7/23/2019 Laporan 3 Graika Komputer

    14/26

    glut&i7erunc(*,,+ &i7er+ ,)'

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    Lat!a" %

    2ript

    #include

    #include

    intA'

    voiddrawQuads ()

    {

    gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(*,,+,)'

    gl3erte45i(*,,+*,,)'

    gl3erte45i(,+*,,)'

    gl$nd()'

    6

    voiddis/la:(void)

    {

    glClear(GL_COLO_!"$_!%&)'

    gl&ranslate(,+ ,+ A)'

    drawQuads()'gllush()'

    14

  • 7/23/2019 Laporan 3 Graika Komputer

    15/26

    6

    void&i7er (intvalue)

    {

    i(A

  • 7/23/2019 Laporan 3 Graika Komputer

    16/26

    2ript

    #include

    #include

    void drawQuads(){gl!egin(GL_Q"012)'

    gl3erte45(EB-.,+E*,.,)'

    gl3erte45 (B-.,+E*,.,)'

    gl3erte45d (B-.,+,.,)'

    gl3erte45d (EB-.,+,.,)'

    gl$nd ()'

    6

    void drawQuads5(){

    gl!egin(GL_Q"012)'

    gl3erte45(*-,.,+*,.,)'

    gl3erte45 (*,.,+*,.,)'gl3erte45d (*,.,+5B,.,)'

    gl3erte45d (*-,.,+5B,.,)'

    gl$nd ()'

    6

    void render(){

    glClear(GL_COLO_!"$_!%&)'

    glColor(*+,+,)' 7erah

    drawQuads ()'

    gl&ranslate(,+EB,+,)'

    glColor(*+*+*)' /utih

    drawQuads ()'

    glColor(*+,+,)' 7erahanan

    drawQuads5 ()'

    glotate(*,+,+E*+,)'

    glColor(*+*+*)' /utihiri

    drawQuads5 ()'

    gl&ranslate(,+,+,)'

    glColor(*+,+,)' 7erahiri

    drawQuads5 ()'

    glotate(*,+,+E*+,)'

    glColor(*+*+*)' /utihanan

    drawQuads5 ()'

    gl&ranslate(*5,+E*,,+,)'glColor(*+,+,)' 7erahbawah

    drawQuads ()'

    gl&ranslate (EF,+,+,)'

    glColor(*+,+,)' 7erahbawah

    drawQuads ()'

    gl&ranslate (EF,+,+,)'

    glColor(*+,+,)' 7erahbawah

    drawQuads ()'

    gl&ranslate(5,+EB,+,)'

    glColor(*+*+*)' /utihbawah

    drawQuads ()'

    16

  • 7/23/2019 Laporan 3 Graika Komputer

    17/26

    gl&ranslate(*5,+,+,)'

    glColor(*+*+*)' /utihbawah

    drawQuads ()'

    gllush ()'

    6void 7ain(int argc+ char 88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul BD)'

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(render)'

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    17

  • 7/23/2019 Laporan 3 Graika Komputer

    18/26

    T&'a( 2

    2ript

    #include

    #include

    voidsegitiga(){

    gl!egin(GL_&%0?GL$2)'

    gl3erte45i(E-+,)'

    gl3erte45i(-+,)'

    gl3erte45i(,+*-)'

    gl$nd()'6

    voidbintang(){

    segitiga()'

    glotate(K5+,+,+*)'

    segitiga()'

    glotate(K5+,+,+*)'

    segitiga()'

    glotate(K5+,+,+*)'

    segitiga()'

    glotate(K5+,+,+*)'

    segitiga()'glotate(K5+,+,+*)'

    6

    voidrender(void){

    glClear(GL_COLO_!"$_!%&)'

    gl&ranslate(5-,+5-,+,)'

    bintang()'

    glColor(*+,+*)'

    gl&ranslate(E-,+E-,+,)'

    bintang()'

    glColor(*+,+,)'

    gl&ranslate(E-,+E-,+,)'

    bintang()'

    glColor(,+,+*)'

    gl2cale(5+5+,)'

    gl&ranslate(E,+E,+,)'

    bintang()'

    glColor(*+*+,)'

    gl&ranslate(E,+E,+,)'

    bintang()'

    glColor(,+*+*)'

    gl&ranslate(E,+E,+,)'

    bintang()'glColor(*+,+*)'

    18

  • 7/23/2019 Laporan 3 Graika Komputer

    19/26

    gl&ranslate(E,+E,+,)'

    bintang()'

    glColor(*+*+*)'

    gl&ranslate(E,+E,+,)'

    gl2cale(,.+,.+,)'bintang()'

    glColor(*+,+*)'

    gl&ranslate(E,+E,+,)'

    bintang()'

    glColor(,+,+*)'

    gl&ranslate(E,+E,+,)'

    bintang()'

    gllush()'

    6

    void7ain(intargc+ char88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(render)'

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    19

  • 7/23/2019 Laporan 3 Graika Komputer

    20/26

    T&'a( 3

    T)a"(*a(.R+ta(

    2ript

    #include

    #include

    voiddrawQuad(void){

    gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(,+5,)'

    gl3erte45i(-,+5,)'

    gl3erte45i(-,+,)'

    gl$nd()'

    gllush()'

    6

    voidrender(void){

    glClear(GL_COLO_!"$_!%&)'

    gl&ranslate(5,,+E*,,+,)'

    glotate(B-+,+,+*)'

    drawQuad()'

    gllush()'

    6

    void7ain(intargc+ char88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(render)'

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    20

  • 7/23/2019 Laporan 3 Graika Komputer

    21/26

    R+ta(.T)a"(*a(

    2ript

    #include

    #include

    voiddrawQuad(void){gl!egin(GL_Q"012)'

    gl3erte45i(,+,)'

    gl3erte45i(,+5,)'

    gl3erte45i(-,+5,)'

    gl3erte45i(-,+,)'

    gl$nd()'

    gllush()'6

    voidrender(void){

    glClear(GL_COLO_!"$_!%&)'

    glotate(B-+,+,+*)'

    gl&ranslate(5,,+E*,,+,)'

    drawQuad()'

    gllush()'

    6

    void7ain(intargc+ char88argv){

    glut%nit(9argc+argv)'

    glut%nit1is/la:;ode(GL"&_1$&= GL"&_2%?GL$ GL"&_G!0)'

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(B,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,+5,+E5,+5,)'

    glut1is/la:unc(render)'

    glut;ainLoo/()'6

    2reenshoot

    21

  • 7/23/2019 Laporan 3 Graika Komputer

    22/26

    Pen1elasan

    T&'a( 4

    2ript

    #include

    #include

    void1raw(){

    gl!egin(GL_&%0?GL$2)'

    gl3erte45i(,+,)'

    gl3erte45i(-,+*,,)'

    gl3erte45i(E-,+*,,)'

    gl3erte45i(,+,)'

    gl3erte45i(-,+E*,,)'

    gl3erte45i(E-,+E*,,)'

    gl$nd()'6

    intr J H,'intn JE*'

    voiddis/la:(){

    glClear(GL_COLO_!"$_!%&)'

    glush;atri4()'

    glotate(r+,+,+*)'

    1raw()'

    glo/;atri4()'

    glut2wa/!uers()'

    6

    voidti7er(inta){

    i(nJJ*){rII'

    22

  • 7/23/2019 Laporan 3 Graika Komputer

    23/26

    6else{

    rEE'

    6

    i(rJJH,){

    nJE*'6elsei(r

  • 7/23/2019 Laporan 3 Graika Komputer

    24/26

    #include

    #include

    voiddrawivot(){

    gl!egin(GL_&%0?GL$2)'gl3erte45i(,+55,)'

    gl3erte45i(E*,+5B,)'

    gl3erte45i(*,+5B,)'

    gl$nd()'6

    voiddrawaru7(){

    glLine@idth(5)'

    gl!egin(GL_L%?$2)'

    gl3erte45i(,+,)'

    gl3erte45i(,+5,,)'

    gl$nd()'6

    ints J,'

    int7 J E,85'inth J ,85'

    voiddis/la:(){

    glClear(GL_COLO_!"$_!%&)'

    glColor(*+*+,)'

    glush;atri4()'

    or(inti J,'i

  • 7/23/2019 Laporan 3 Graika Komputer

    25/26

    glut%nit@indowosition(*,,+*,,)'

    glut%nit@indow2iAe(HB,+B,)'

    glutCreate@indow(D7odul D)'

    gluOrtho51(E5,+5,+E5B,+5B,)'

    glut1is/la:unc(dis/la:)'glut&i7erunc(*,,,+ti7er+,)'

    glut;ainLoo/()'

    6

    2reenshoot

    Pen1elasan

    E. KESIMPULAN

    25

  • 7/23/2019 Laporan 3 Graika Komputer

    26/26

    F. DAFTAR RUJUKAN

    http:44glprogramming02om4red42hapter$#0html diakses tanggal 5 februari

    #$"'

    Modul & praktikum grafika komputer 6ni7ersitas *egeri Malang

    8,+9*O+M9- D9* 9*-M9- OB;