- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学
姓 名 : 黄 欣 学 号 : 2013212318
日期:2015.12.27
1.创建新项目
1)点击文件--新建--项目
2)选择 Visual C++ 中的 Win32 控制台应用程序,修改文件名,最
后点击确定即可
3)点击下一步
4)勾选空项目,点击完成
5)右键点击新建好的 test1 下的资源文件--添加--新建项
6)选择 C++文件,修改文件名即可
2.在创建的新项目中,写程序代码。
第二次作业 地图绘制
#includeiostream
#includefstream
#includevector
#includeGL/glut.h
using namespace std ;
class MapPoint
{
public :
double longitude ;//经度
double latitude ;//纬度
};
class Polygon
{
public :
vector MapPointPoints;// 多边形的顶点序列
};
vector Polygon*polys ;// 多边形集合
vector Polygon*ReadMapData (char *filename )//文件名
{
int PointCount ;//计算点的个数
vector Polygon*Polygons;
ifstream fs (filename );//寻找filename文件是否为空
while (fs .eof ()!=true )
{
Polygon* poly =new Polygon;//定点个数
fsPointCount;//定点个数赋值给fs
cout PointCountendl ;
for (int i=0;i PointCount;i ++)//做循环,定义p
{
MapPoint p ;//地图名
fs p .longitudep .latitude;
poly -Points .push_back (p);
}
Polygons.push_back (poly );
}
return Polygons;
}
void display (void )
{
glClear (GL_COLOR_BUFFER_BIT);//用蓝色绘制各省边界
glColor3f (0.0,0.0,1.0);//设置正面为填充模式
glPolygonMode (GL_BACK,GL_LINE );
for (int i=0;i polys .size ();i ++)
{
vector MapPointPoints=polys [i]-Points ;
glBegin (GL_LINE_LOOP );//使用 闭合曲线方式绘制各省
边界
for (int j =0;j Points.size ();j ++)
{
glVertex3f (Points[j].longitude ,Points[j].latitude ,0.0);
}
glEnd ();
}
glFlush ();
}
void init (void)
{
//设置背景颜色
glClearColor (1.0,1.0,1.0,0.0);
//初始化 察值
glMatrixMode (GL_PROJECTION );//将矩阵模式设为投影
glLoadIdentity (); //对矩阵进行单位化
glOrtho (
文档评论(0)