import java.applet.*; import java.awt.*; /** * Keeramine maatriksarvutuse abil */ public class Ruum4 extends Applet implements Runnable{ double nurk=0; double nurgasamm=0.05; double raadius=50; Maatriks kujund=new Maatriks(2, 3); int keskx=100; int kesky=100; public Ruum4(){ new Thread(this).start(); kujund.m[0][0]=raadius; //esimese punkti x kujund.m[0][1]=0; //esimese punkti y kujund.m[0][2]=0; //esimese punkti z kujund.m[1][0]=0; //teise punkti x kujund.m[1][1]=0; //teise punkti y kujund.m[1][2]=-raadius; //teise punkti z } void liigu(){ nurk=nurk+nurgasamm; } void joonista(Graphics g){ Maatriks muutusmaatriks=new Maatriks( Math.cos(nurk), 0, -Math.sin(nurk), 0, 1, 0, Math.sin(nurk), 0, Math.cos(nurk) ); Maatriks keeratudKujund=kujund.korruta(muutusmaatriks); g.fillOval(ex(keeratudKujund.m[0][0])-5, ey(keeratudKujund.m[0][1])-5, 10, 10); g.fillOval(ex(keeratudKujund.m[1][0])-5, ey(keeratudKujund.m[1][1])-5, 10, 10); } int ex(double x){return keskx+(int)x;} int ey(double y){return kesky-(int)y;} public void run(){ while(true){ try{ Graphics g=getGraphics(); liigu(); g.setColor(Color.black); joonista(g); Thread.sleep(100); g.setColor(getBackground()); joonista(g); }catch(Exception e){} } } public static void main(String arg[]){ Frame f=new Frame(); f.add(new Ruum4()); f.setSize(200, 200); f.setVisible(true); } }