计算机图形学–旋转变换(java)

import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.*;public class Rotates extends Frame {public void lanch() {this.setSize(640, 480);this.setVisible(true);this.addWindowListener(new MyWindowMonitor());}class MyWindowMonitor extends WindowAdapter {public void windowClosing(WindowEvent e) {setVisible(false);System.exit(0);}}public void paint(Graphics g) {g.translate(320, 240);int[] A={0,0,20};int[] B={0,100,50};for(int n=0;n<720;n+=40){double[][] r={ {Math.cos(n*3.14/180),Math.sin(n*3.14/180),0},{-Math.sin(n*3.14/180),Math.cos(n*3.14/180),0},{0,0,1}};int[][] a;a=new int[][]{{0,0,1},{0,100,1},{20,50,1}};if(n>=360){a=new int[][]{{0,0,1},{0,100,1},{-20,50,1}};}int[][] zz;zz=new int[3][3];for(int i=0;i<3;i++){for(int j=0;j<3;j++){for(int k=0;k<3;k++){zz[i][j]+=a[i][k]*r[k][j];}}}int[] aa=new int[3];int[] bb=new int[3];for(int i=0;i<3;i++){aa[i]=(int)zz[i][0];bb[i]=(int)zz[i][1];}if(n>=360){try {Thread.sleep(1000);//延时函数} catch (InterruptedException e) {e.printStackTrace();}g.setColor(Color.red);g.fillPolygon(aa, bb,3);}else{try {Thread.sleep(1000);//延时函数} catch (InterruptedException e) {e.printStackTrace();}g.setColor(Color.BLUE);g.fillPolygon(aa, bb, 3);}}} main(String[] args) {new Rotates().lanch();}},不甚酒力,体会不了酒的美味,但却能感受知已的妙处。

计算机图形学–旋转变换(java)

相关文章:

你感兴趣的文章:

标签云: