Posted on 2008-10-16 12:29
美洲豹 閱讀(512)
評論(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;
}
