RSS

Grafika Komputer (Translasi, Skala dan Rotasi)

I. Translasi
      Diketahui titk koordinat A(10, 10), B(30, 10) dan C(10, 30)
      dengan translasi vektor (10, 20).
      Cari terlebih dahulu titik - titik translasinya menggunakan rumus :

    x' = x + tx    dan y' = y + ty


       a. Untuk A(10, 10)                             b. Untuk B(30, 10)
            x' = 10 + 10                                       x' = 30 + 10
                = 20                                                   = 50
             y' = 10 + 20                                       y' = 10 + 20
                 = 30                                                   = 30
             Maka A'(20, 30)                                Maka A'(50, 30)


       c. Untuk B(30, 10)
              x' = 30 + 10
                 = 50
              y' = 10 + 10
                  = 30
              Maka C'(50, 30)


   Maka Coding dalam aplikasi Processingnya sebagai berikut :


                                            void setup()
                                               {
                                                  size(200,250);
                                                  background (115);
                                                  noStroke();
                                                  fill(70);
                                                  triangle(10, 10, 30, 10, 10, 30);
                                                  fill(50,50,115,90);
                                                  pushMatrix();
                                                  translate(10,20);
                                                  triangle(20, 30, 40, 30, 20, 50);
                                                  popMatrix();
                                   }



II. Skala
     Diketahui titik koordinat A(10,10), B(30,10), B(30, 10), C(30, 20),
       D(10,20) dengan Skla faktor (3,2)
       Cari terlebih dahulu titik - titik Skalanya menggunakan rumus :
        x' = x . sx    dan y' = y . sy

         a. Untuk A(10, 10)                             b. Untuk B(30, 10)
             x' = 10 . 3                                          x' = 30 + 3
                = 30                                                   = 90
             y' = 10 . 2                                          y' = 10 + 2
                = 20                                                   = 20
             Maka A'(30, 20)                                Maka B'(90, 20)                                


         c. Untuk C(30, 20)                             d. Untuk D(10, 20)
             x' = 30 + 3                                         x' = 10 + 3
                = 90                                                   = 30
             y' = 20 + 2                                         y' = 20 + 2
                = 40                                                   = 40
             Maka C'(90, 40)                                 Maka D'(30, 40)

    Maka Coding dalam aplikasi Processingnya sebagai berikut :


                                              void setup()
                                                 {
                                                     size (400,300);
                                                     background (255);
                                                     stroke(100);
                                                     fill(80);
                                                     quad(10, 10, 30, 10, 30, 20,10,20);
                                                     stroke(1);
                                                     pushMatrix();
                                                     scale(3.2);
                                                     fill(70);
                                                     squad(30, 20, 90, 20, 90, 40, 30, 40);
                                                     popMatrix();
                                                 }



III. Rotasi
       Diketahui titik koordinat A(10, 10), B(30, 10) dan C(10, 30) 
          dengan sudut rotasi 30 derajat
          dan sudut cartesian (10, 10).
          
          Maka dapat kita cari koordianatnya sebagai berikut :
          a. Untuk Koordinat A(10, 10)
   x' = xp + (x - xp) Cos (30) - (y - yp) Sin (30)
       = 10 + (10 - 10) 0.9 - (10 - 10) 0.5
       = 10 + 0 - 0
       = 10
   y' = yp (x - xp) Sin (30) + (y - yp) Cos (30)
       = 10 + (10 - 10) 0.5 + (10 - 10) 0.9
       = 10 + 0 - 0
       = 10
   Maka A'(10, 10)

b. Untuk Koordinat B(30, 10)
                    x' = x+ (x - xp) Cos (30) - (y - yp) Sin (30)
                        = 10 + (30 - 10) 0.9 - (10 - 10) 0.5
                        = 10 + 18 - 0
                        = 28
                    y' = y(x - xp) Sin (30) + (y - yp) Cos (30)
                        = 10 + (30 - 10) 0.5 + (10 - 10) 0.9
                        = 10 + 10 - 0
                        = 20
                    Maka B'(28, 20)

           c. Untuk Koordinat C(10, 30)
                  x' = x+ (x - xp) Cos (30) - (y - yp) Sin (30)
                      = 10 + (10 - 10) 0.9 - (30 - 10) 0.5
                      = 10 + 0 - 10
                      = 20
                  y' = y(x - xp) Sin (30) + (y - yp) Cos (30)
                      = 10 + (10 - 10) 0.5 + (30 - 10) 0.9
                      = 10 + 0 - 18
                      = 28
                   Maka C'(20, 28)

     Maka Coding dalam aplikasi Processingnya sebagai berikut :
                   void setup()
                      {
                          size(150,200);
                          background (155);
                          noStroke();
                          fill(90);
                          triangle(10, 10, 30, 10, 10, 30);
                          fill(0,0,115,125);
                          pushMatrix();
                          rotate(radians(30));
                          triangle(10, 10, 28, 20, 20, 28);
                          popMatrix();
                       }



1 komentar:

Unknown mengatakan...

ini menggunakan bahasa pemograman apa y??

Posting Komentar