(实验说明:本程序是在linux系统下编写编译的,没有Windows可执行文件,所以只能给出源码,但是经测试好像源码在windows系统下opencv库有一些问题,不能正常编译,所以只能在linux下运行,编译器使用clion即可。要想在本地运行成功,需要修改画图程序main文件第98行的fopen的参数为本地的一个位置,并把图形程序mainwindow.cpp中所有的fopen(”/home/li/cghm/binary.dat”,”wb”)中的”/home/li/cghm/binary.dat”改为上面修改的路径,同时修改该文件第54行的program->start函数的参数为图形程序编译后生成的可执行文件的路径。最后图形程序和画图程序要分别编译。以后如有时间,我会写一个自动配置这些东西的脚本,目前只能用这样的方法将就运行一下。生成的图片在画图程序目录下,名字为“test.jpg”)
投影变换原理:在世界坐标系内构建物体,根据摄像机位置应用坐标变换,得到观察者坐标系;再利用投影矩阵得到观察到的图象。
物体遮挡:根据z-buffer算法计算不同物体的次序,形成观察者看到的图象。
<应用算法> 坐标变换、投影变换、z-buffer.