Advertisement

Main Ad

SOAL UAS KOMPUTER GRAFIK I UNIVERSITAS PAMULANG

  1.  Affine Transform digunakan untuk melakukan sejumlah transformasi objek dalam java 2D, beberapa Affine Transform yang dapat dilakukan diantara nya Translation, Rotation, dan Scaling. Jelaskan menurut pemahaman anda, bagaimana penerapan dari ketiga Affine Transform tersebut dalam graphics java2D !
  2. Dalam image processing, gambar yang dijadikan sebagai objek pemrosesan citra diantaranya berformat vector display dan raster display, namun untuk kebutuhan pemrosesan citra, format raster display lah yang digunakan dalam image processing. Jelaskan mengapa demikian ! sertakan juga perbedaan dari keduanya !
  3. Jelaskan dan gambarkan alur sistem pemrosesan citra serta sebutkan beberapa operator dari class BufferedImage yang digunakan dalam pemrosesan citra ! 
  4. Buatlah source code yang menampilkan hasil objek grafik 2D seperti gambar dibawah ini:
    5. Buatlah source code yang menampilkan hasil objek grafik berupa animasi 2D seperti gambar             dibawah ini: Arah objek animasi vertikal dan horizontal

JAWABAN
  1. Translation yaitu sistem suatu operasi yang menyebabkan perpindahan objek 2D dari satu tempat ke tempat yang lain, pemindahan koordinat asal ke koordinat baru bentuk transformasi dengan dengan memutar sebuah objek, Rotation yaitu suatu operasi yang menyebabkan objek bergerak berputar pada titik pusat atau pada sumbu putar yang dipilih berdasarkan sudut putaran tertentu. Untuk melakukan rotasi diperlukan sudut rotasi dan pivot point (xp,yp) dimana objek akan dirotasi. Scaling yaiutu Penskalaan yang mana suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan (scalling factor) yaitu (sx,sy) yang diberikan. Skala adalah operasi untuk membuat sebuah objek lebih besar atau lebih kecil dari bentuk aslinya.
  2. Karena seperti maksud dari pemrosesan citra itu menjadi citra yang kualitasnya lebih baik. jadi antara vektor dan raster itu raster lah yang bisa dikatakan memiliki kualitas dibawah vektor. karena dari segi jenis gambar digital yang merepresentasikan gambar sebagai susunan titik-titik atau matriks. Tiap itik disebut pixel sebagai elemen terkecil yang menyusun gambar. Pada gambar hitam-putih, pixel hanya bisa berwarna hitam atau putih. Sedangkan pada gambar berwarna, tiap-tiap pixel memiliki warna. selain itu kualitas raster akan terlihat ketika diperbesar yaitu Raster akan terlihat susunan pixelpixelnya yang mana kualitasnys berubah dan berkurang keimbang vector Perbedaan vektor dengan raster Bila ada gambar vektor dan raster, dengan dimensi yang sama, ketika diperbesar, barulah kelihatan bedanya. Raster akan terlihat susunan pixel-pixelnya. Sedangkan vektor, sama sekali tidak kehilangan kualitasnya. Masih sama halusnya. Raster jika dizoom akan terlihat pixel kotak-kotak nya.Sedangkan vector, diperbesar berapapun masih halus dan tajam. Kita bisa simpulkan bahwa raster cocok untuk gambar detail rumit seperti foto atau painting. Sedangkan vektor cocok untuk logo, icon, ilustrasi, yang disusun dari shape-shape. Perbedaan paling jelas adalah ketika diperbesar.
  3. Pengolahan citra (image Processing) merupakan proses mengolah piksel-piksel di dalam citra digital untuk tujuan tertentu. Image enhancement, berupa proses perbaikan citra dengan meningkatkan kualitas citra, baik kontras maupun kecerahan. • Image restoration, yaitu proses memperbaiki model citra,biasanya berhubungan dengan bentuk citra yang sesuai. • Color image processing, yaitu suatu proses yang melibatkan citra berwarna, baik berupa image enhancement, image restoration, atau yang lainnya. • Wavelet dan multiresolution processing, merupakan suatu proses yang menyatakan citra dalam beberapa resolusi. • Image compression, merupakan proses yang digunakan untuk mengubah ukuran data pada citra. • Morphological processing, yaitu proses untuk memperoleh informasi yang menyatakan deskripsi dari suatu bentuk pada citra. • Segmentation, merupakan proses untuk membedakan atau memisahkan objek-objek yang ada dalam suatu citra, seperti memisahkan objek dengan latar belakangnya. • Object recognition, yaitu suatu proses yang dilakukan untuk mengenali objek-objek apa saja yang ada dalam suatu citra.


4. /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package uas;
import java.awt.*;
import static java.lang.Math.sqrt;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Uas extends JPanel{
 public Uas ()
 {
 this.setPreferredSize(new Dimension (600, 600));
 this.setBackground(Color.BLUE);
 }
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
Polygon tugas1 = new Polygon();
tugas1.addPoint(50, 75);
tugas1.addPoint(200, 75);
tugas1.addPoint(275, 125);
tugas1.addPoint(200, 175);
tugas1.addPoint(50, 175);
g2d.draw(tugas1);
g2d.setColor(Color.YELLOW);
g2d.fill(tugas1);
g2d.setColor(Color.BLACK);
Font HURUF = new Font("Comic Sans MS", Font.BOLD, 12);
g2d.setFont(HURUF);
g2d.drawString("UAS KOMPUTER GRAFIK 1", 55, 100);
g2d.drawString("NAMA = ADRIANSYAH MAULANA", 55, 130);
g2d.drawString("NIM = 191011402334", 55, 145);
Polygon tugas2 = new Polygon();
tugas2.addPoint(295, 125);
tugas2.addPoint(225, 75);
tugas2.addPoint(255, 75);
tugas2.addPoint(330, 125);
tugas2.addPoint(255, 175);
tugas2.addPoint(225, 175);
g2d.draw(tugas2);
g2d.setColor(Color.RED);
g2d.fill(tugas2);
Polygon ARROW3 = new Polygon();
ARROW3.addPoint(345, 125);
ARROW3.addPoint(275, 75);
ARROW3.addPoint(305, 75);
ARROW3.addPoint(380, 125);
ARROW3.addPoint(305, 175);
ARROW3.addPoint(275, 175);
g2d.draw(ARROW3);
g2d.setColor(Color.YELLOW);
g2d.fill(ARROW3);
Polygon ARROW4 = new Polygon();
ARROW4.addPoint(395, 125);
ARROW4.addPoint(325, 75);
ARROW4.addPoint(355, 75);
ARROW4.addPoint(430, 125);
ARROW4.addPoint(355, 175);
ARROW4.addPoint(325, 175);
g2d.draw(ARROW4);
g2d.setColor(Color.GREEN);
g2d.fill(ARROW4);
}
public static void main (String [] args ){
JFrame f = new JFrame("UAS");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Uas us = new Uas();
f.getContentPane().add(us);
f.setSize(700,500);
f.setLocationRelativeTo(us);
f.setVisible(true);
}
}

5. /*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package uas2;
import java.awt.*;
import java.awt.geom.*;
import javafx.scene.shape.Ellipse;
import javax.swing.*;
/**
*
* @author Kaiyan
*/
public class uas5 extends JPanel{
 private float xpos = 20f;
 private float ypos = 20f;
 private float diff = 1.0f;
 private float x = 400f;
 private float y = 10f;
 private float diff2 = 2.0f;

 public static void main (String[]args){
 JFrame f = new JFrame("UAS KOMGRAF");
 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 uas5 an = new uas5();
 f.getContentPane().add(an);
 f.setBackground(Color.WHITE);
 f.setSize(700,700);
 f.setLocationRelativeTo(an);
 f.setVisible(true);
 }

 public uas5(){
 AnimasiRunnable AR = new AnimasiRunnable();
 }



 public void paintComponent (Graphics g){
 super.paintComponent(g);
 Graphics2D g2d = (Graphics2D) g;


 g2d.setColor(Color.RED);
 //Rectangle2D rect = new Rectangle2D.Float(xpos,ypos,80f,40f);
 Ellipse2D ell1 = new Ellipse2D.Float(xpos,ypos,60f,60f);
 g2d.fill(ell1);

 g2d.setColor(Color.BLUE);
 Ellipse2D ell = new Ellipse2D.Float(y,x,60f,60f);
 //Rectangle2D rect1 = new Rectangle2D.Float(y,x,60f,40f);
 g2d.fill(ell);
 }

 class AnimasiRunnable implements Runnable{
 private final Thread runner;
 public AnimasiRunnable(){
 runner = new Thread(this);
 runner.start();
 }
 public void run(){
 while (true){
 repaint();
 if(xpos>450.0f)
 diff=-1.0f;
 else if (xpos<20f)
 diff=1.0f;
 xpos+=diff;
 //ypos+=diff;

 if(x>10f)
 diff2=-2.0f;
 else if (x<-20f)
 diff2=4.0f;
 x = xpos+ ypos;
 //y+=diff2;
 try{
 Thread.sleep(5);
 }catch (InterruptedException e){}
 }
 }
 }
}


Posting Komentar

0 Komentar