Академический Документы
Профессиональный Документы
Культура Документы
1
Aim: Write a program to move an object using the concept of 2-D
translation transformation.
Input:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
@Override
public void paintComponent(final Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
}
Output:
Program No. 2
Aim: Write a program to move an object using the concept of 2-D rotation
transformation.
Input:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
}
Output:
Program No. 3
Aim: Write a program to move an object using the concept of 2-D scaling
transformation.
Input:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import javax.swing.JFrame;
import javax.swing.JPanel;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
}
Output:
Program No. 4
Aim: Write a program to move an object using the concept of 2-D shearing
transformation.
Input:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import javax.swing.JFrame;
import javax.swing.JPanel;
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
}
Output:
Program No. 5
Aim: Write a program to implement DDA line drawing algorithm.
Input:
import java.awt.*;
import java.applet.*;
public class DDA extends Applet {
@Override
public void paint(Graphics g) {
double dx, dy, steps, x, y, k;
double xc, yc;
double x1 = 50, y1 = 200, x2 = 250, y2 = 10;
dx = x2 - x1;
dy = y2 - y1;
if (Math.abs(dx) > Math.abs(dy))
steps = Math.abs(dx);
else
steps = Math.abs(dy);
xc = (dx / steps);
yc = (dy / steps);
x = x1;
y = y1;
g.fillOval(200, 500, 5, 5);
for (k = 1; k <= steps; k++) {
x = x + xc;
y = y + yc;
g.fillOval((int) x, (int) y, 5, 5);
}
}
}
Output:
Program No. 6
Aim: Write a program to implement Bresenhams line drawing algorithm.
Input:
import java.applet.*;
import java.awt.*;
public class Bresenham extends Applet {
@Override
public void paint(Graphics g) {
int x, y, k;
double dx, dy, p;
int x1 = 50, y1 = 50, x2 = 250, y2 = 250;
dx = Math.abs(x2 - x1);
dy = Math.abs(y2 - y1);
x = x1;
y = y1;
p = 2 * dy - dx;
g.fillOval(200, 300, 5, 5);
for (k = 0; k < dx; k++) {
if (p < 0) {
g.fillOval(x++, y, 5, 5);
p = p + (2 * dy);
} else {
g.fillOval(x++, y++, 5, 5);
p = p + (2 * (dy - dx));
}
}
}
}
Output:
Program No. 7
Aim: Write a program to implement Bresenhams circle drawing
algorithm.
Input:
import java.awt.*;
import java.applet.*;
public class Brescir1 extends Applet
{
@Override
public void paint(Graphics g)
{
int xc,yc,r;
xc=125;
yc=125;
r=60;
int x=0;
int y=r;
int p=3-2*r;
do
{
if(p<0)
p=p+4*x+6;
else
{
p=p+4*(x-y)+10;
y=y-1;
}
x=x+1;
g.drawLine(xc+x,yc+y,xc+x,yc+y);
g.drawLine(x+xc,yc-y,xc+x,yc-y);
g.drawLine(xc-x,yc+y,xc-x,yc+y);
g.drawLine(xc-x,yc-y,xc-x,yc-y);
g.drawLine(xc+y,yc+x,xc+y,yc+x);
g.drawLine(xc+y,yc-x,xc+y,yc-x);
g.drawLine(xc-y,yc+x,xc-y,yc+x);
g.drawLine(xc-y,yc-x,xc-y,yc-x);
}
while(x<y);
}
}
Output: