資源簡介
課程作業~是MFC的白塞爾大地主題解算,花了些時間做的捏,包括正算和反算~~
代碼片段和文件信息
//?Fansuan.cpp?:?實現文件
//
#include?“stdafx.h“
#include?“白塞爾大地主題解算.h“
#include?“Fansuan.h“
#include?“afxdialogex.h“
#include
//?CFansuan?對話框
IMPLEMENT_DYNAMIC(CFansuan?CDialogEx)
CFansuan::CFansuan(CWnd*?pParent?/*=NULL*/)
:?CDialogEx(CFansuan::IDD?pParent)
?ang1(0)
?min1(0)
?sec1(0)
?ang2(0)
?ang3(0)
?ang4(0)
?min2(0)
?sec2(0)
?min3(0)
?sec3(0)
?min4(0)
?sec4(0)
?S(0)
?A11(0)
?A22(0)
{
pi=4*atan(1.0);
}
CFansuan::~CFansuan()
{
}
void?CFansuan::DoDataExchange(CDataExchange*?pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX?IDC_EDIT17?ang1);
DDX_Text(pDX?IDC_EDIT12?min1);
DDV_MinMaxInt(pDX?min1?0?59);
DDX_Text(pDX?IDC_EDIT16?sec1);
DDV_MinMaxDouble(pDX?sec1?0?60);
DDX_Text(pDX?IDC_EDIT2?ang2);
DDX_Text(pDX?IDC_EDIT4?ang3);
DDX_Text(pDX?IDC_EDIT19?ang4);
DDX_Text(pDX?IDC_EDIT9?min2);
DDV_MinMaxInt(pDX?min2?0?59);
DDX_Text(pDX?IDC_EDIT13?sec2);
DDV_MinMaxDouble(pDX?sec2?0?60);
DDX_Text(pDX?IDC_EDIT14?min3);
DDV_MinMaxInt(pDX?min3?0?59);
DDX_Text(pDX?IDC_EDIT15?sec3);
DDV_MinMaxDouble(pDX?sec3?0?60);
DDX_Text(pDX?IDC_EDIT11?min4);
DDV_MinMaxInt(pDX?min4?0?59);
DDX_Text(pDX?IDC_EDIT18?sec4);
DDV_MinMaxDouble(pDX?sec4?0?60);
DDX_Text(pDX?IDC_EDIT7?S);
DDX_Control(pDX?IDC_COMBO1?comtuoqiu);
DDX_Text(pDX?IDC_EDIT5?A11);
DDX_Text(pDX?IDC_EDIT6?A22);
}
BEGIN_MESSAGE_MAP(CFansuan?CDialogEx)
// ON_EN_CHANGE(IDC_EDIT17?&CFansuan::OnEnChangeEdit17)
ON_BN_CLICKED(IDC_BUTTON1?&CFansuan::OnBnClickedButton1)
ON_CBN_SELCHANGE(IDC_COMBO1?&CFansuan::OnSelchangeCombo1)
END_MESSAGE_MAP()
//?CFansuan?消息處理程序
#include
void?CFansuan::OnBnClickedButton1()
{
//?TODO:?在此添加控件通知處理程序代碼
UpdateData(TRUE);
B1=(ang1+min1/60.0+sec1/3600.0)*pi/180.0;
L1=(ang2+min2/60.0+sec2/3600.0)*pi/180.0;
B2=(ang3+min3/60.0+sec3/3600.0)*pi/180.0;
L2=(ang4+min4/60.0+sec4/3600.0)*pi/180.0;
InverseComputation(?a?be2?e_2B1L1B2L2)?;
UpdateData(FALSE);
}
void?CFansuan::InverseComputation(double?adouble?bdouble?e2double?e_2double?B1double?L1double?B2double?L2)???
{
UpdateData(TRUE);
//輔助計算
double?W1W2sin_u1cos_u1sin_u2cos_u2;
W1=sqrt(1-e2*sin(B1)*sin(B1));
W2=sqrt(1-e2*sin(B2)*sin(B2));
sin_u1=sin(B1)*sqrt(1-e2)/W1;
cos_u1=cos(B1)/W1;
sin_u2=sin(B2)*sqrt(1-e2)/W2;
cos_u2=cos(B2)/W2;
double?La1a2b1b2;
L=L2-L1;
a1=sin_u1*sin_u2;
a2=cos_u1*cos_u2;
b1=cos_u1*sin_u2;
b2=sin_u1*cos_u2;
//逐次趨近法同時計算起點大地方位角、球面長度和經差
double?lamdapqA1det;
double?cos2_A0sin_A0;
double?*deta=new?double[100];
double?xyafabeita_1;
double?sin_rocos_roro;
deta[0]=0;
int?n=0;
do
{?
lamda=L+deta[n];
p=cos_u2*sin(lamda);
q=b1-b2*cos(lamda);
A1=double(atan(p/q));
if(p>0&&q>0)
A1=fabs(A1);
if(p>0&&q<0)
A1=pi-fabs(A1);
if(p<0&&q<0)
A1=pi+fabs(A1);
if(p<0&&q>0)
A1=2*pi-fabs(A1)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4734??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Debug\cl.command.1.tlog
?????文件??????73616??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Debug\CL.read.1.tlog
?????文件???????5306??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Debug\CL.write.1.tlog
?????文件??????49825??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Debug\Fansuan.obj
?????文件??????????2??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\li
?????文件??????????2??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\li
?????文件???????3092??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\li
?????文件???????7696??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\li
?????文件???????2518??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\li
?????文件????????840??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\mt.command.1.tlog
?????文件????????972??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\mt.read.1.tlog
?????文件????????700??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\mt.write.1.tlog
?????文件???????1516??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\rc.command.1.tlog
?????文件???????4612??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\rc.read.1.tlog
?????文件????????958??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\rc.write.1.tlog
?????文件?????641273??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\stdafx.obj
?????文件????2018304??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Debug\vc100.idb
?????文件????3469312??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Debug\vc100.pdb
?????文件??????54767??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\Zhengsuan.obj
?????文件????????667??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.exe.em
?????文件????????732??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.exe.em
?????文件????????381??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.exe.intermediate.manifest
?????文件????????170??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.lastbuildstate
?????文件???????3237??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.log
?????文件??????31899??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.obj
?????文件???33882112??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.pch
?????文件?????300336??2014-12-16?01:16??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算.res
?????文件??????48604??2014-12-16?01:10??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算Dlg.obj
?????文件????????208??2014-12-16?01:06??白塞爾大地主題解算\白塞爾大地主題解算\Debug\白塞爾大地主題解算_manifest.rc
?????文件???????5528??2014-12-16?01:14??白塞爾大地主題解算\白塞爾大地主題解算\Fansuan.cpp
............此處省略32個文件信息
評論
共有 條評論