嘿嘿,如果你想应付一下这个计算机图形学的作业,那么这篇文章在合适不过了。
想看懂代码,那么只需要明白齐次坐标在各种变换下的变化即可。
对了,别忘记在java工程中补上一张“background”的图片,不然编译会出错的。
喜欢的话就点个赞吧。
有神马不对的地方,或是可以优化的地方,希望大佬批评指正。力求进步。
import java.awt.Color;
import java.awt.Graphics;
import java.io.IOException;
import java.util.Scanner;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import java.awt.image.BufferedImage;
public class Draw extends JFrame {
private static final long serialVersionUID = 1L;
BufferedImage image;
Graphics g;
Color color = Color.BLACK;
/*
* 变换矩阵
*/
public float[][] tranMatrix = { { 0.701f, 0, -0.701f, -0.002f }, { 0, 1, 0, 0.005f },
{ 0.701f, 0, 0.701f, 0.0007f }, { 0, 0, 1, 1 } };
public static Point3[] points3 = new Point3[8];
public static Point2[] points2 = new Point2[8];
static {
points3[0] = new Point3(0, 0, 0);
points3[1] = new Point3(0, 0