欢迎来到天天文库
浏览记录
ID:49713318
大小:368.00 KB
页数:26页
时间:2020-03-03
《图形学读取立方体、兔子、八字三维模型代码及截图.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.#include#include#include#include#include#include#include#includeusingnamespacestd;intv_num=0;//记录点的数量intf_num=0;//记录面的数量intvn_num=0;//记录法向量的数量intvt_num=0;GLfloat**vArr;//存放点的二维数组int**fvArr;//存放面顶点的二维数组int**f
2、nArr;//存放面法向量的二维数组int**ftArr;GLfloat**vtArr;GLfloat**vnArr;//存放法向量的二维数组.页脚.strings1,s2,s3,s4;GLfloatf2,f3,f4;voidgetLineNum(stringaddrstr)//获取点和面的数量{ifstreaminfile(addrstr.c_str());//打开指定文件stringsline;//每一行inti=0,j=0;while(getline(infile,sline))//从指定文件逐行读取{if(sline[0]=='v'){if(sli
3、ne[1]=='n'){vn_num++;}elseif(sline[1]=='t'){vt_num++;.页脚.}else{v_num++;}}if(sline[0]=='f'){f_num++;}}}intreadfile(stringaddrstr)//将文件内容读到数组中去{//getLineNum(addrstr);//new二维数组vArr=newGLfloat*[v_num];for(inti=0;i4、i=0;i5、str.c_str());stringsline;//每一行intii=0,jj=0,kk=0,mm=0;.页脚.while(getline(infile,sline)){if(sline[0]=='v'){if(sline[1]=='n')//vn{istringstreamsin(sline);sin>>s1>>f2>>f3>>f4;vnArr[ii][0]=f2;vnArr[ii][1]=f3;vnArr[ii][2]=f4;ii++;}elseif(sline[1]=='t'){istringstreamsin(sline);sin>>s1>>f26、>>f3;cout<>s1>>f2>>f3>>f4;vArr[jj][0]=f2;vArr[jj][1]=f3;vArr[jj][2]=f4;jj++;}}if(sline[0]=='f')//存储面{istringstreamin(sline);GLfloata;in>>s1;//去掉finti,k;for(i=0;i<3;i++).页脚.{in>>7、s1;cout<8、;a=a*10+(s1[m]-48);fnArr[kk][i]=a
4、i=0;i5、str.c_str());stringsline;//每一行intii=0,jj=0,kk=0,mm=0;.页脚.while(getline(infile,sline)){if(sline[0]=='v'){if(sline[1]=='n')//vn{istringstreamsin(sline);sin>>s1>>f2>>f3>>f4;vnArr[ii][0]=f2;vnArr[ii][1]=f3;vnArr[ii][2]=f4;ii++;}elseif(sline[1]=='t'){istringstreamsin(sline);sin>>s1>>f26、>>f3;cout<>s1>>f2>>f3>>f4;vArr[jj][0]=f2;vArr[jj][1]=f3;vArr[jj][2]=f4;jj++;}}if(sline[0]=='f')//存储面{istringstreamin(sline);GLfloata;in>>s1;//去掉finti,k;for(i=0;i<3;i++).页脚.{in>>7、s1;cout<8、;a=a*10+(s1[m]-48);fnArr[kk][i]=a
5、str.c_str());stringsline;//每一行intii=0,jj=0,kk=0,mm=0;.页脚.while(getline(infile,sline)){if(sline[0]=='v'){if(sline[1]=='n')//vn{istringstreamsin(sline);sin>>s1>>f2>>f3>>f4;vnArr[ii][0]=f2;vnArr[ii][1]=f3;vnArr[ii][2]=f4;ii++;}elseif(sline[1]=='t'){istringstreamsin(sline);sin>>s1>>f2
6、>>f3;cout<>s1>>f2>>f3>>f4;vArr[jj][0]=f2;vArr[jj][1]=f3;vArr[jj][2]=f4;jj++;}}if(sline[0]=='f')//存储面{istringstreamin(sline);GLfloata;in>>s1;//去掉finti,k;for(i=0;i<3;i++).页脚.{in>>
7、s1;cout<8、;a=a*10+(s1[m]-48);fnArr[kk][i]=a
8、;a=a*10+(s1[m]-48);fnArr[kk][i]=a
此文档下载收益归作者所有