資源簡(jiǎn)介
本資源通過(guò)讀取txt文件中的左片和右片像點(diǎn)坐標(biāo),通過(guò)外方位元素解算,最后輸出5個(gè)相對(duì)定向元素。

代碼片段和文件信息
#include?
#include?
#include?
class?Point
?{
public:
double?X1;
double?Y1;
double?Z1;
double?X2;
double?Y2;
double?Z2;
double?NL;
double?NR;
double?Q;
?};
#define??f???153033
#define??EP??0.00003//未知數(shù)的精度
void?Transcorr(double?phidouble?omegadouble?kappadouble?*R)
{
double?a1=cos(phi)*cos(kappa)-sin(phi)*sin(omega)*sin(kappa);
double?a2=-cos(phi)*sin(kappa)-sin(phi)*sin(omega)*cos(kappa);
double?a3=-sin(phi)*cos(omega);
double?b1=cos(phi)*sin(kappa);
double?b2=cos(omega)*cos(kappa);
double?b3=-sin(omega);
double?c1=sin(phi)*cos(kappa)+cos(phi)*sin(omega)*sin(kappa);
double?c2=-sin(phi)*sin(kappa)+cos(phi)*sin(omega)*cos(kappa);
double?c3=cos(phi)*cos(omega);
R[0]=a1;R[1]=a2;R[2]=a3;R[3]=b1;R[4]=b2;R[5]=b3;R[6]=c1;R[7]=c2;R[8]=c3;
}
//功??能: 矩陣求逆
?//輸??入: 矩陣a,階數(shù)n。
?//輸??出: 返回0(成功),1(失?。?jīng)求逆后,a矩陣為逆矩陣
int?InverseMatrix(double?*a?int?n)
??{
int?*is*js;
int?ijkluv;
double?tempmax_v;
is=(int?*)malloc(n*sizeof(int));
js=(int?*)malloc(n*sizeof(int));
if(is==NULL||js==NULL) return(0);
for(k=0;k {
max_v=0.0;
for(i=k;i {
for(j=k;j {
temp=fabs(a[i*n+j]);
if(temp>max_v)
{
max_v=temp;?is[k]=i;?js[k]=j;
}
}
}
if(max_v==0.0)
{
free(is);?free(js);
return(0);
}
if(is[k]!=k)
{
for(j=0;j {
u=k*n+j;?v=is[k]*n+j;
temp=a[u];?a[u]=a[v];?a[v]=temp;
}
}
if(js[k]!=k)
{
for(i=0;i {
u=i*n+k;?v=i*n+js[k];
temp=a[u];?a[u]=a[v];?a[v]=temp;
}
}
l=k*n+k;
a[l]=1.0/a[l];
for(j=0;j {
if(j!=k)
{
u=k*n+j;
a[u]*=a[l];
}
}
for(i=0;i {
if(i!=k)
{
for(j=0;j {
if(j!=k)
{
u=i*n+j;
a[u]-=a[i*n+k]*a[k*n+j];
}
}
}
}
for(i=0;i {
if(i!=k)
{
u=i*n+k;
a[u]*=-a[l];
}
}
}
for(k=n-1;k>=0;k--)
{
if(js[k]!=k)
{
for(j=0;j {
u=k*n+j;?v=js[k]*n+j;
temp=a[u];?a[u]=a[v];?a[v]=temp;
}
}
if(is[k]!=k)
{
for(i=0;i {
u=i*n+k;?v=i*n+is[k];
temp=a[u];?a[u]=a[v];?a[v]=temp;
}
}
}
free(is);?free(js);
return(1);
}
//功??能: 矩陣轉(zhuǎn)置
//輸??入: 矩陣a(mxn階)轉(zhuǎn)置后存在矩陣at(nxm階)中
//輸??出: void,結(jié)果在矩陣at中
void?TransposeMatrix(double?*a?double?*at?int?m?int?n)
{
int?ij;
for(i=0;i for(j=0;j *(at+i*m+j)=*(a+j*n+i);
}
//功??能: 矩陣相乘
//輸??入: 矩陣a(mxn階)乘以矩陣b(nxk階)等于矩陣c(mxk階)。
//輸??出: void,結(jié)果在矩陣c中
void?MultiplyMatrix(double?*a?double?*b?double?*c?int?m?int?n?int?k)
{
int?ijii;
for(i=0;i {
for(j=0;j {
*(c+i*k+j)=0;
for(ii=0;ii *(c+i*k+j)=*(c+i*k+j)+*(a+i*n+ii)**(b+ii*k+j);
}
}
}
void?main()
{
double?phiomegakappauv;
double?Bx=200000;
int?num=0;
char?c[1024];
phi=omega=kappa=u=v=0;
char?ptname[
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????870??2009-09-21?13:12??Relative?Orientation\1.TXT
?????文件??????58368??2009-09-21?14:53??Relative?Orientation\Debug\Relative?Orientation.bsc
?????文件?????221279??2009-09-21?14:53??Relative?Orientation\Debug\Relative?Orientation.exe
?????文件?????259284??2009-09-21?14:53??Relative?Orientation\Debug\Relative?Orientation.ilk
?????文件??????12304??2009-09-21?14:53??Relative?Orientation\Debug\Relative?Orientation.obj
?????文件?????223888??2009-09-21?13:47??Relative?Orientation\Debug\Relative?Orientation.pch
?????文件?????508928??2009-09-21?14:53??Relative?Orientation\Debug\Relative?Orientation.pdb
?????文件??????????0??2009-09-21?14:53??Relative?Orientation\Debug\Relative?Orientation.sbr
?????文件?????115712??2009-09-21?14:55??Relative?Orientation\Debug\vc60.idb
?????文件??????61440??2009-09-21?14:53??Relative?Orientation\Debug\vc60.pdb
?????文件???????5556??2009-09-21?14:53??Relative?Orientation\Relative?Orientation.cpp
?????文件???????4452??2009-09-21?14:56??Relative?Orientation\Relative?Orientation.dsp
?????文件????????565??2009-09-21?09:45??Relative?Orientation\Relative?Orientation.dsw
?????文件??????48640??2009-09-22?10:01??Relative?Orientation\Relative?Orientation.opt
?????文件????????274??2009-09-21?14:55??Relative?Orientation\Relative?Orientation.plg
?????目錄??????????0??2009-09-21?14:53??Relative?Orientation\Debug
?????目錄??????????0??2009-09-22?10:01??Relative?Orientation
?????文件??????58368??2009-09-22?10:01??Relative?Orientation\Relative?Orientation.ncb
-----------?---------??----------?-----??----
??????????????1579928????????????????????18
評(píng)論
共有 條評(píng)論