常见的photoshop(其实只是视觉感觉是变成了球面,实际输出还是2维图象)
3Dmax(把2维平面图贴到球面实体上,是3维输出的)
恩......后面的文件读写流的关闭出了问题,把
outp.close()
outq.close()
放到循环的外面。按照你原来的程序,当第一次循环结束时,(即经度等于65°时),写入文件就结束了。改完后应该是这样的:
#include <iostream>
#include <cmath>
#include <iomanip>
#include <fstream>
using namespace std
void main()
{
ofstream outq("地理坐标转换成球面坐标.txt")
ofstream outp("地理坐标转换成平面坐标.txt")
const double Pai=3.141592653,R=63.710
const double w0=30.0/180*Pai,j0=105.0/180*Pai
double z,a
double j,w
double p,x,y
for (j=65.0/180*Paij<=145.0/180*Paij+=5.0/180.0*Pai)
{
cout<<" 经度λ="<<j*180/Pai<<"°时:"<<endl
outp<<" 经度λ="<<j*180/Pai<<"°时:"<<endl
outq<<" 经度λ="<<j*180/Pai<<"°时:"<<endl
for(w=(0.0/180.0)*Paiw<=60.0/180.0*Paiw+=5.0/180.0*Pai)
{
z=acos(sin(w)*sin(w0)+cos(w)*cos(w0)*cos(j-j0))
a=asin((cos(w)*sin(j-j0))/(sin(z)))
outq<<"纬度φ="<<w*180/Pai<<"°: "<<setw(10)<<z<<" "<<setw(10)<<a<<" "<<endl
p=R*z
x=p*cos(a)
y=p*sin(a)
cout<<"纬度φ="<<w*180/Pai<<"°: "<<setw(10)<<x<<" "<<setw(10)<<y<<" "<<endl
outp<<"纬度φ="<<w*180/Pai<<"°: "<<setw(10)<<x<<" "<<setw(10)<<y<<" "<<endl
}
cout<<endl
outp<<endl
outq<<endl
}
outp.close()
outq.close()
}
你复制粘贴试试....