Documente Academic
Documente Profesional
Documente Cultură
Raport Lab 3 GC
Raport Lab 3 GC
RAPORT
despre lucrarea de laborator nr.3
la disciplina: Grafica pe Calculator
A ndeplinit:
Chiinu 2017
Scopul Lucrrii: Obinerea cunotinelor practice n realizarea
transformrilor geometrice 2D i 3D a imaginilor.
Sarcina Lucrrii:
1. De a elabora un program pentru sintetizarea i afiarea graficilor funciilor
conform variantei
Varianta de ndeplinire a lucrrii.
Var 5: y=sin e x ; y=sin x +2 ; y=xsin x
2. S se foloseasc transformarea fereastr-poart.
3. De a prezenta imagini n diferite pori de vizualizare.
Listingul Programului:
package GP.lab3;
import javax.swing.*;
import java.awt.*;
this.setVisible(true);
}
public static void main(String[] args) {
MyFrame frame = new MyFrame();
}
}
g.setColor(Color.RED);
g.drawLine( new Double(window.xm * sx + tx).intValue(),
new Double(gate.yM + window.ym * sy).intValue(),
new Double(window.xM * sx + tx).intValue(),
new Double(gate.yM + window.ym * sy).intValue());
g.drawLine( new Double(tx).intValue(),
new Double(gate.yM - window.ym * sy + window.ym * sy).intValue(),
new Double(tx).intValue(),
new Double(gate.yM - window.yM * sy + window.ym * sy).intValue());
g.setColor(Color.black);
for (double i = window.xm; i < window.xM; i += dx) {
int xp = new Double(i * sx + tx).intValue();
int yp = new Double(gate.yM - func.f(i) * sy + window.ym * sy).intValue();
System.out.printf("xp: %d yp: %d %f%n", xp, yp, func.f(i));
if (oyp >= window.ym && oyp <= window.yM && yp >= window.ym && yp <=
window.yM)
g.drawLine(oxp, oyp, xp, yp);
oxp = xp;
oyp = yp;
}
}
}
class Rect {
double xm;
double ym;
double xM;
double yM;
Rect(double xm, double ym, double xM, double yM) {
this.xm = xm;
this.ym = ym;
this.xM = xM;
this.yM = yM;
}
}
interface Function{
Double f(double x);
}
Verificare: