rendered paste bodyimport java.math.*;
import java.awt.*;
import javax.swing.*;
class PolarPoint {
// Punkt polaarkordinaatides
private double a=0, l=0; // Pööre ja kaugus
PolarPoint() {
a = 0.0;
l = 0.0;
return;
}
PolarPoint(double a, double l) {
this.a = a;
this.l = l;
return;
}
public void set(double a, double l) {
this.a = a;
this.l = l;
return;
}
public void setA(double a) {
this.a = a;
return;
}
public void setv(double a) {
this.a = a;
return;
}
public double a() {
return a;
}
public double l() {
return l;
}
public int x() {
return (int) (Math.acos(a)*l);
}
public int y() {
return (int) (Math.asin(a)*l);
}
// Ristkordinaatidest
public void setCross(int x, int y) {
this.a = (x!=0?Math.atan(y/x):(y==0?0:(y>0?90:-90)));
this.l = Math.pow(Math.pow(x,2)+Math.pow(y,2), 0.5);
return;
}
// Suhteline ristkordinaatidest
public void setCrossFrom(int x, int y, int u, int o) {
x-=u; y-=o;
this.a = Math.atan(y/x);
this.l = Math.pow(Math.pow(x,2)+Math.pow(y,2), 0.5);
return;
}
// Operaatorid
/*
ftw? Javas pole operaatoreid? OMG. Ma mässasin sellega 2h (kuigi oleks ilma saanud)
ja seepärast ei saanud kodutööga õigeks ajaks valmis. :/
public boolean operator==(PolarPoint &other) {
if ((this.a() != other.a()) || (this.l() != other.l())
return false;
else
return true;
}
public static PolarPoint operator +(PolarPoint p1, PolarPoint p2) {
return new PolarPoint((p1.a()+p2.a())%360, p1.l() + p2.l());
}
PolarPoint operator-(PolarPoint other) {
return new PolarPoint((other.a()-this.a())%360, other.l() - this.l());
}*/
public String cordsAsString(){
return "a:"+a+" l:"+l;
}
}
class Kolmnurk {
Color serv;
PolarPoint a, b, c;
Kolmnurk(PolarPoint a, PolarPoint b, PolarPoint c) {
this.a = a;
this.b = b;
this.c = c;
serv = Color.black;
return;
}
Kolmnurk(int x, int y) {
this.a = new PolarPoint();
this.b = new PolarPoint();
this.c = new PolarPoint();
this.a.setCross(x/2,0);
System.out.println(" Kolmnurga nurga a kordinaadid on: "+a.cordsAsString());
this.b.setCross(x,y);
System.out.println(" Kolmnurga nurga b kordinaadid on: "+b.cordsAsString());
this.c.setCross(0,y);
System.out.println(" Kolmnurga nurga c kordinaadid on: "+c.cordsAsString());
serv = Color.black;
}
void joonista (Graphics g) {
g.setColor(serv);
g.drawLine(a.x(),a.y(),b.x(),b.y());
g.drawLine(b.x(),b.y(),c.x(),c.y());
g.drawLine(c.x(),c.y(),a.x(),a.y());
return;
}
}
class Tahvel extends JPanel {
Kolmnurk a;
Tahvel(int max_x, int max_y){
a = new Kolmnurk(max_x, max_y);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
a.joonista(g);
}
}
class Animatsioon {
private static final int MAX_X=300, MAX_Y=300;
public static void main(String[] args) {
JFrame raam = new JFrame("Kolmnurgad");
raam.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
raam.setLocation(new Point(300, 200));
raam.setSize(new Dimension(MAX_X, MAX_Y));
Tahvel t = new Tahvel(MAX_X, MAX_Y);
raam.getContentPane().add(t);
raam.setVisible(true);
}
}