Tampilkan postingan dengan label Vita Mau....STIKOM ARTHA BUANA. Tampilkan semua postingan
Tampilkan postingan dengan label Vita Mau....STIKOM ARTHA BUANA. Tampilkan semua postingan

Rabu, 27 November 2013

MID GRAFIKA KOMPUTER


MID GRAFIKA KOMPUTER

SOAL :
1. Rotasi titik A,B,C  terhadap titik X(200,200) dengan sudut pusat  45 derajat.
2. Translasi terhadap T(50 dan 100) dari kedua nomor tersebut:
a. Buatlah lisning programnya !
b. Tentukan titik-titik hasil  rotasi A translasinya !!!

JAWAB :
1. Berikut ini lisning untuk membuat  rotasi seperti soal diatas

package membuat_rotasi;

import java.awt.*;
import java.awt.event.*;
public class Membuat_rotasi extends Frame implements ActionListener{
    int x = 200;
    int y = 200;
public static void main(String[] args) {
    Frame frame = new Membuat_rotasi();
    frame.setSize(640, 480);
    frame.setVisible(true);
}
public Membuat_rotasi() {
setTitle("Membuat rotasi");
// create menu
    MenuBar mb = new MenuBar();
    setMenuBar(mb);
    Menu menu = new Menu("File");
    mb.add(menu);
    MenuItem mi = new MenuItem("Exit");
    mi.addActionListener(this);
    menu.add(mi);
// end program when window is closed
    WindowListener l = new WindowAdapter()  {
            @Override
    public void windowClosing(WindowEvent ev) {
    System.exit(0);
    }
    };
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
            @Override
public void mouseClicked(MouseEvent ev) {
    x = ev.getX();
    y = ev.getY();
    repaint();
}
};
addMouseListener(mouseListener);
}

    @Override
public void paint(Graphics g) {
int xasalA = 150; int yasalA = 100;
int xasalB = 100; int yasalB = 250;
int xasalC = 200; int yasalC = 250;

int sudut = 45;

g.setColor(Color.blue);
g.drawLine(xasalA,yasalA, xasalB,yasalB);
g.drawLine(xasalB,yasalB,xasalC,yasalC);

long xA = Math.round(x+(xasalA-x)*Math.cos(sudut)-(yasalA-y)*Math.sin(sudut));
long yA = Math.round(x+(xasalA-x)*Math.sin(sudut)-(yasalA-y)*Math.cos(sudut));
long xB = Math.round(x+(xasalB-x)*Math.cos(sudut)-(yasalB-y)*Math.sin(sudut));
long yB = Math.round(x+(xasalB-x)*Math.sin(sudut)-(yasalB-y)*Math.cos(sudut));
long xC = Math.round(x+(xasalC-x)*Math.cos(sudut)-(yasalC-y)*Math.sin(sudut));
long yC = Math.round(x+(xasalC-x)*Math.sin(sudut)-(yasalC-y)*Math.cos(sudut));

int xA1 = (int)xA; int yA1 = (int)yA;
int xB1 = (int)xB; int yB1 = (int)yB;
int xC1 = (int)xC; int yC1 = (int)yC;

g.drawLine(xA1,yA1, xB1,yB1);
g.drawLine(xB1,yB1, xC1,yC1);

}
    @Override
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}
}











Dan berikut adalah hasilnya setelah diruning




2.
a. Lisning program untuk membuat  translasi seperti soal diatas

package membuat_translasi;

import java.awt.*;
import java.awt.event.*;
public class Membuat_translasi extends Frame implements ActionListener{
    int x = 50;
    int y = 100;
public static void main(String[] args) {
    Frame frame = new Membuat_translasi();
    frame.setSize(640, 480);
    frame.setVisible(true);
}
public Membuat_translasi() {
setTitle("AWT Demo");
// create menu
    MenuBar mb = new MenuBar();
    setMenuBar(mb);
    Menu menu = new Menu("File");
    mb.add(menu);
    MenuItem mi = new MenuItem("Exit");
    mi.addActionListener(this);
    menu.add(mi);
// end program when window is closed
    WindowListener l = new WindowAdapter()  {
    public void windowClosing(WindowEvent ev) {
    System.exit(0);
    }
    };
this.addWindowListener(l);
// mouse event handler
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent ev) {
   int x = 50;
   int y = 100;
    repaint();
}
};
addMouseListener(mouseListener);
}

public void paint(Graphics g) {

g.drawLine(20, 20, 150, 200);
g.drawLine(20+x, 20+y, 150+x, 200+y);
}
public void actionPerformed(ActionEvent ev) {
String command = ev.getActionCommand();
if ("Exit".equals(command)) {
System.exit(0);
}
}
}

b. Hasilnya seperti berikut




Rabu, 19 September 2012

RANGKAIAN DIGITAL



TUGAS I
RANGKAIN DIGITAL

SOAL:
1.      120 + 54
2.      224 -132
3.      112 -89
4.      110 + 100
5.      200 + 20
6.      111 – 25
 JAWABAN:
1.      120=1111000                                                              54=110110
120/2 =60 sisa 0                                                          54/2 =27 sisa 0
60/2   =30 sisa 0                                                          27/2 =13 sisa 1
30/2   =15 sisa 0                                                          13/2 =6    sisa1
15/2   =7   sisa 1                                                          6/2   =3    sisa 0
7/2     =3   sisa 1                                                          3/2   =1    sisa 1
3/2     =1   sisa 1                                                                      1
            1