Posted on 2008-10-16 12:29
美洲豹 阅读(503)
评论(0) 编辑 收藏 引用
原来下载的Armadillo模型不可见,但可以导入且可以看到模型的相关信息。一直不知道是什么原因,还以为是格式不对,用Polytrans等工具转换过,但后来突然想到之前自己用3dsmax模型建的模型如果建的过大的话,也不能看到。因此,自己打开文件来看的时候,发现其顶点的位置值是大了一点,后来就想到看能否把模型缩小来查看,但是一直没有找到合适的工具,后来自己写了一个小程序,将顶点的XYZ值都按比例缩小,竟然可以了。
显示效果如下:
程序也不多,贴在下面
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
using namespace std;
int main(int argc,char** argv)
{
if (argc < 4)
{
cout<<"usage: ScaleModel.exe [in modelName] [outModelName] [percentage]"<<endl;
return 0;
}
ifstream inStream;
inStream.open(argv[1],ios::in);
ofstream outStream;
outStream.open(argv[2],ios::out);
string inString;
char ch;
float p0,p1,p2;
while (!inStream.eof() )
{
//getline(inStream,inString,"\n");
getline(inStream,inString,'\n');
if(inString[0] == 'v')
{
sscanf(inString.c_str(),"%c %f %f %f",&ch,&p0,&p1,&p2);
p0 *= atof(argv[3]);
p1 *= atof(argv[3]);
p2 *= atof(argv[3]);
outStream<<ch<<" "<<p0<<" "<<p1<<" "<<p2<<endl;
}
else
{
outStream<<inString<<endl;
}
}
return 0;
}