上上个星期老师布置了一个大工程让我们写,感觉得到了很多提升,选择拾取这部分也是非常难的。
特此总结,并且那次去问老师题目,老师不但很有耐心,还给了我一个苹果,纪念一下。
- 基本情况介绍
总共代码331行,函数12个
运行效果
首先点击右键,会出现菜单
鼠标左键点击进入相应功能,画矩形时左键点两下(对角线)即可,画三角形时点三下,选择区域要在已经画了图形的情况下点(也不是不能进啦,只是没有意义),选择拾取效果如下
点击红点点那块,有四个图形重叠的部分,左边的框输出
hit = 4等等信息(上面的是之前点击写出的信息,不用管)
下面一起来看这三个功能怎么完成吧
首先看主函数
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
#ifndef __cplusplus
#define bool int
#define true 1
#define false 0
#endif
#define SIZE 101
using namespace std;
int ww,hh;//viewport
GLint numRect = 0,numTri = 0;
int selectArray[2][SIZE];//第0行存矩形,第1行存三角形
int arrayRect[SIZE][4];
int arrayTri [SIZE][6];
int