您的位置:首页 > 编程语言 > C语言/C++

C++读取坐标文件并绕Z轴旋转变换保存新坐标文件。

2020-05-15 08:23 100 查看
#include<iostream>
#include<fstream>
#include<typeinfo>
#include<cstdlib>
#include<string>
#include <cmath>

using namespace std;
int main()
{
double rz;
double sita = 46.1;
rz = sita * 3.14 / 180;
double zb[13][3] = { 0 };//定义一个13*3二维数组存放新的坐标
double data[13][3] = { 0 };//定义一个13*3二维数组保存文件读取的坐标
ifstream infile;//定义读取文件流,相对于程序来说是in
infile.open("4.txt");//打开文件
for (int i = 0; i < 13; i++)//定义行循环
{
for (int j = 0; j < 3; j++)//定义列循环
{
infile >> data[i][j];//读取一个值(空格、制表符、换行隔开)就写入到矩阵中,行列不断循环进行
}
}
infile.close();//读取完成之后关闭文件

for (int i = 0; i < 13; i++)//定义行循环
{
for (int j = 0; j < 3; j++)//定义列循环
{
cout<< data[i][j]<<"\t";//读取一个值(空格、制表符、换行隔开)就写入到矩阵中,行列不断循环进行
}
cout << "\n";
}
//坐标变换
for (int i = 0; i < 13; i++)//定义行循环
{

zb[i][0] = cos(rz) * data[i][0] - sin(rz) * data[i][1];
zb[i][1] = sin(rz) * data[i][0] + cos(rz) * data[i][1];
zb[i][2] = data[i][2];

}
ofstream outFile;
outFile.open("yangtiaoshuju4.txt");
outFile << fixed;
outFile.precision(6);
//写入文件
for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 3; j++)
{
outFile << zb[i][j]<<"\t";
}
outFile << "\n";
}

system("pause");
return 0;
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: