⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 相对定向.h

📁 关于解析空三的全过程
💻 H
字号:
#include "stdio.h"
#include "stdlib.h"
#include "malloc.h"
#include "math.h"
#include "iostream.h"
#include "string.h"

void main()
{
	
	
	//****************第一步*******************//
	//


   	
	float **X,**D,f;//X数组代表输入的象点坐标,D代表输入的地面点坐标
	double H;//f表示摄影中心s到像片的垂距,H表示航高


    double temp;//中间变量
    int w,j,i;

    FILE *fp;//文件名
     
	char filename[20],out[20];
	printf("输入要处理的数据所在文件名:");
	gets(filename);
    strcpy(out,filename);
    if((fp=fopen(strcat(filename,".txt"),"r"))==NULL)  //打开文件
	{
		printf("*********读文件不成功!*********\n");
        exit(0);
	} 
    else
    printf("**********读文件成功!************\n\n");
 
    w=0; 
     
    while(!feof(fp))
	{
		for(j=0;j<5;j++)
		{
			fscanf(fp,"%f ",&temp);
		}
        w++;               //先确认读入数据的行数
	}
	w=w-1;
   printf("%d\n",w);
    rewind(fp);

    //分配存储数据的空间
    X=(float**)malloc(sizeof(float)*(w));
    for(i=0;i<w;i++)
	{
        X[i]=(float*)malloc(sizeof(float)*(2));//为二维数组开辟空间
	}
         
	D=(float**)malloc(sizeof(float)*(w));
    for(i=0;i<w;i++)
	{
        D[i]=(float*)malloc(sizeof(float)*(3));//为二维数组开辟空间
	}                                              
  
    while(!feof(fp))
	{
        fscanf(fp,"%f",&f);
        for(i=0;i<w;i++)
		{
            fscanf(fp,"%f",&X[i][0]);
			fscanf(fp,"%f",&X[i][1]);
			fscanf(fp,"%f",&D[i][0]);
			fscanf(fp,"%f",&D[i][1]);
			fscanf(fp,"%f",&D[i][2]);//每一行的前两位读给 象点数组,后三位读给 地面点数组
		}
	}
    fclose(fp);
 
	//验证数据读入后准确与否
    for(i=0;i<w;i++)
	{
		printf("%.2lf     ",X[i][0]);printf("  ");
		printf("%.2lf     ",X[i][1]);printf("  ");
		printf("%.2lf    ",D[i][0]);printf("  ");
		printf("%.2lf    ",D[i][1]);printf("  ");
		printf("%.2lf    ",D[i][2]);printf("  ");
		printf("\n");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -