日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++/测绘附和导线测量源码

發(fā)布時(shí)間:2023/11/30 c/c++ 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++/测绘附和导线测量源码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#C++/測繪附和導(dǎo)線測量源碼

traverse_survey.h: #pragma once class traverse_survey { private:const double pi = 3.1415926; public:traverse_survey(); //導(dǎo)線測量的構(gòu)造函數(shù)~traverse_survey(); // 導(dǎo)線測量的析構(gòu)函數(shù)void h_d(double *d,double *m,double *s,int N,double *Decimal_degrees);//把觀測的度分秒轉(zhuǎn)化了弧度使用void transfrom_d_m_s(double Decimal_degrees); // 十進(jìn)制的度轉(zhuǎn)化為度分秒void position_angle(double x, double y); //求方位角void start_end_position(double A_x, double A_y, double B_x, double B_y, double &start_position);//求起始和末位的坐標(biāo)方位角。void sum_distance(int N, double *distance, double &sum);//求導(dǎo)線的總長void Angle_position(double start_positon, int N, double *Decimal_degrees,double *every_position);//求每一站的坐標(biāo)方位角void Correct_Angle_position(int N, double *every_position, double end_position, double *correct_every_position);//改正后的每一站的坐標(biāo)方位角void d_x_y(double N, double *distance, double *correct_every_position,double *d_x, double *d_y);//求d_x_y的值void f_x(double N, double *d_x, double A_x, double C_x, double &f_x);//求f_xvoid f_y(double N, double *d_y, double A_y, double C_y, double &f_y); //求f_yvoid f_s(double sum,double f_x, double f_y); //求全長閉合差和全長相對(duì)閉合差void Correct_d_x_y(int N, double *d_x, double *d_y, double *distance, double sum, double f_x, double f_y,double *correct_d_x, double *correct_d_y);//求改正之后的d_x_yvoid x_y(int N, double A_x, double A_y, double *correct_d_x, double *correct_d_y, long double *x, long double *y);//求x,y;}; traverse_survey.cpp: #include "traverse_survey.h" #include<math.h> #include<iostream> using namespace std; traverse_survey::traverse_survey() { } traverse_survey::~traverse_survey() {cout << "-----------------------結(jié)束---------------------------" << endl; } //------------------ 把觀測的度分秒轉(zhuǎn)化了十進(jìn)制的度使用------------------------// //*d----------------輸入的度 //*m----------------輸入的分 //*s----------------輸入的秒 //N-----------------站數(shù) //*Decimal_degrees----------保存的每一站轉(zhuǎn)化的觀測角度的--十進(jìn)制的度。 void traverse_survey::h_d(double *d, double *m, double*s,int N,double *Decimal_degrees) {for (int i = 0; i < N; i++){Decimal_degrees[i] = d[i] + m[i] / 60 + s[i] / 3600;} } //------------------十進(jìn)制度 轉(zhuǎn)化為度分秒輸出------------------------// //Decimal_degrees--------------十進(jìn)制的度 void traverse_survey::transfrom_d_m_s(double Decimal_degrees) {double d = 0, m = 0, s = 0;d = int(Decimal_degrees);m = int((Decimal_degrees - d) * 60);s = (Decimal_degrees - d - m / 60) * 3600;cout << d << "°" << m << "′" << s << "″" << endl; } //------------------求每一站的坐標(biāo)方位角-和角度閉合差--------------------------// //start_positon--------------起始方位角 //N--------------------------站數(shù) //*Decimal_degrees-----------每一站的觀測角度 //*every_position------------保存每一站的方位角 (十進(jìn)制的度) void traverse_survey::Angle_position(double start_positon,int N, double *Decimal_degrees,double *every_position) {for (int i = 0; i < N; i++){if (i == 0){every_position[0] = start_positon + Decimal_degrees[0] - 180;if (every_position[0] < 0){every_position[0] += 360;}else if (every_position[0] > 360){every_position[0] -= 360;}}else{every_position[i] = every_position[i - 1] + Decimal_degrees[i] - 180;if (every_position[i] < 0){every_position[i] += 360;}else if (every_position[i] > 360){every_position[i] -= 360;}}cout << "第" << i+1 << "個(gè)坐標(biāo)方位角為:";transfrom_d_m_s(every_position[i]);cout<< endl;} } //------------------------------改正后的每一站的坐標(biāo)方位角------------------------------// //N------------------------------站數(shù) //*every_position --------------每一站的坐標(biāo)方位角 //end_position-------------------最后一站的坐標(biāo)方位角 // *correct_every_position-------改正后的每一站坐標(biāo)方位角 void traverse_survey::Correct_Angle_position(int N, double *every_position, double end_position, double *correct_every_position) {double temp = 0;cout << "該導(dǎo)線的角度閉合差為:";transfrom_d_m_s(every_position[N - 1] - end_position);cout << endl;temp = (every_position[N - 1] - end_position) / N;for (int i = 0; i < N; i++){correct_every_position[i] = every_position[i] - (i+1)*temp;cout << "第" << i + 1 << "個(gè)改正后的坐標(biāo)方位角為:";transfrom_d_m_s(correct_every_position[i]);cout << endl;} } //---------------------求d_x_y的值----------------------------// //N------------------------------------------站數(shù) //*distance----------------------------------每一站的距離 //*correct_every_position--------------------每一站改正后的坐標(biāo)方位角 //*d_x---------------------------------------存儲(chǔ)每一站的d_x //*d_y---------------------------------------存儲(chǔ)每一站的d_y void traverse_survey::d_x_y(double N, double *distance, double *correct_every_position, double *d_x, double *d_y) {for (int i = 0; i < N - 1; i++){d_x[i] = distance[i] * cos(correct_every_position[i] * (pi / 180));d_y[i] = distance[i] * sin(correct_every_position[i] * (pi / 180));cout << "第" << i + 1 << "個(gè)的" << "d_x和d_y的值為:" << d_x[i] << " || " << d_y[i] << endl;} } //-------------------------導(dǎo)線的總長--------------------------// //N-----------------站數(shù) //*distance---------每一站的距離 //sum --------------導(dǎo)線的總長 void traverse_survey::sum_distance(int N,double *distance, double &sum) {for (int i = 0; i < N - 1; i++){sum += distance[i];}cout << "導(dǎo)線的總長:" << sum << endl; }//---------------------------求f_x-----------------------------// //N---------------------站數(shù) //*d_x------------------每一站的d_x //A_x-------------------起始點(diǎn)的x坐標(biāo) //C_x-------------------終止點(diǎn)的x坐標(biāo) //f_x-----------------f_x的值 void traverse_survey::f_x(double N, double *d_x, double B_x, double C_x, double &f_x) {double sum = 0;double temp = B_x - C_x;for (int i = 0; i < N - 1; i++){sum += d_x[i];}f_x = temp + sum;cout << "f_x的值為:" << f_x << endl; } //---------------------------求f_y-----------------------------// //N---------------------站數(shù) //*d_y------------------每一站的d_y //A_y-------------------起始點(diǎn)的y坐標(biāo) //C_x-------------------終止點(diǎn)的y坐標(biāo) //f_y-----------------f_y的值 void traverse_survey::f_y(double N, double *d_y, double B_y,double C_y, double &f_y) {double sum = 0;double temp = B_y - C_y;for (int i = 0; i < N - 1; i++){sum += d_y[i];}f_y = temp + sum;cout << "f_x的值為:" << f_y << endl; } //---------------------求全長閉合差和全長相對(duì)閉合差---------------------// //f_x-------------------------導(dǎo)線f_x的值 //f_y-------------------------導(dǎo)線f_y的值 void traverse_survey::f_s(double sum,double f_x, double f_y) {double f_s = sqrt(pow(f_x, 2)+pow(f_y, 2));cout << "全長閉合差f_s的值為: " << f_s << endl;double K = 1 / (sum / f_s);cout << "全長相對(duì)閉合差K為:" << K << endl;cout << "1/K = " << int(1 / K) << " 說明:";if (int(1 / K) > 4000){cout << "該導(dǎo)線沒有超限!" << endl;}else{cout << "該導(dǎo)線超限!" << endl;} } //-------------------------求改正之后的d_x_y----------------------// //N----------------------------站數(shù) //*d_x-------------------------每一站的d_x的值 // *d_y------------------------每一站的d_y的值 //*distance--------------------每一站的距離 //sum--------------------------導(dǎo)線的總長 //f_x--------------------------f_x的值 //f_y--------------------------f_y的值 void traverse_survey::Correct_d_x_y(int N, double *d_x, double *d_y, double *distance, double sum, double f_x, double f_y, double *correct_d_x, double *correct_d_y ) {double *temp_x = new double[N - 1]{ 0 }; //動(dòng)態(tài)的創(chuàng)建一個(gè)數(shù)組double *temp_y = new double[N - 1]{ 0 };for (int i = 0; i < N - 1; i++){temp_x[i] = f_x * (distance[i] / sum);temp_y[i] = f_y * (distance[i] / sum);cout << "-----------------------------------------------------------------" << endl;cout << "第" << i + 1 << "個(gè)的" << "改正數(shù)—----—d_x和d_y的值為:" << temp_x[i] << " || " << temp_y[i] << endl;correct_d_x[i] = d_x[i] - temp_x[i];correct_d_y[i] = d_y[i] - temp_y[i];cout << "第" << i + 1 << "個(gè)的" << "改正之后的——d_x和d_y的值為:" << correct_d_x[i] << " || " << correct_d_y[i] << endl;} } //-------------------------------------求x,y--------------------------------//; //N---------------------------站數(shù) //A_x-------------------------起始的x坐標(biāo) //A_y-------------------------起始的y坐標(biāo) //*correct_d_x----------------改正后的d_x //*correct_d_y----------------改正后的d_y //*x--------------------------儲(chǔ)存每一站x的坐標(biāo) //*y--------------------------儲(chǔ)存每一站y的坐標(biāo) void traverse_survey::x_y(int N, double A_x, double A_y, double *correct_d_x, double *correct_d_y, long double *x, long double *y)//求x,y; {for (int i = 0; i < N - 1; i++){if (i == 0){x[0] = correct_d_x[0] + A_x;y[0] = correct_d_y[0] + A_y;}else{x[i] = x[i - 1] +correct_d_x[i];y[i] = y[i - 1] +correct_d_y[i];}printf("第%d站坐標(biāo)%.4lf || %.4lf\n", i + 1, x[i], y[i]);} } //求起始和末位的坐標(biāo)方位角。 //A_x,A_y,B_x, B_y 起始邊 //C_x,C_y,D_x, D_y 終止邊 //start_position, 起始坐標(biāo)方位角 //end_position) 終止坐標(biāo)方位角 void traverse_survey::start_end_position(double A_x, double A_y, double B_x, double B_y, double &start_position) {double start_x = B_x - A_x;double start_y = B_y - A_y;double temp = atan2(start_y, start_x)*(180/pi);if (start_y> 0){start_position = fabs(temp);}if (start_y < 0){start_position = 360 - fabs(temp);}transfrom_d_m_s(start_position); }

總結(jié)

以上是生活随笔為你收集整理的C++/测绘附和导线测量源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美激情免费在线 | 国模一区二区 | 一级黄色免费网站 | 精品久久香蕉国产线看观看亚洲 | 免费a在线观看 | 9191在线视频| 日日夜夜免费精品视频 | 九九九九热 | 九九色综合网 | 五月天婷婷丁香 | 欧美日本不卡 | 亚洲一区二区日本 | 欧美性激情 | 欧美伦理片网站 | 最新中文在线视频 | 亚洲国产精品99久久久久久久久 | 特级丰满少妇一级aaa爱毛片 | 嫩草影院在线观看视频 | 亚洲超碰在线 | 日韩和一区二区 | 自拍偷拍色| 欧美性黄色 | 日本v视频| 一起操网址 | 国产a视频精品免费观看 | 亚洲精品1234 | 尤物一区 | 国产一区二区视频免费观看 | 国产视频在线一区二区 | 欧美福利视频导航 | 懂色av一区二区三区四区五区 | 日日夜夜精品视频免费 | 亚洲一区二区三区四区在线观看 | 日韩三级黄 | 青青草毛片 | 亚洲成人免费电影 | 五月天亚洲色图 | 强行挺进白丝老师里呻吟 | 性折磨bdsm欧美激情另类 | 黄色aaa视频 | 亚洲免费观看高清在线观看 | 免费av网站在线播放 | 成人a站| 大屁股白浆一区二区 | 亚洲天堂手机版 | 亚洲爽爽爽 | 天堂精品 | 日本不卡专区 | 狠狠搞视频 | 欧美bbbbbbbbbbbb1 麻豆精品av | 美女羞羞动态图 | 欧美成人国产精品高潮 | 理论片中文字幕 | wwwww国产 | 麻豆成人免费 | 91在线看| 国产精品久久久久久久妇 | 午夜在线观看视频 | 成人国产网站 | 亚洲欧美日韩激情 | 一区二区三区黄色录像 | 无码精品人妻一二三区红粉影视 | 久久久夜色| 天天操网站 | 亚洲男人天堂2020 | 国产精品黄色在线观看 | 99r在线视频 | a视频免费在线观看 | 国产精品变态另类虐交 | 国产男女视频在线观看 | 欧美操操 | 免费看欧美片 | 亚洲精品国产精品乱码视色 | 黄色日韩 | 婷婷亚洲综合五月天小说 | 久久中文字幕网 | 美女视频一区二区三区 | 在线一区二区三区 | 色婷婷中文 | 亚洲毛片网 | 99热这里精品 | 久久亚洲av成人无码国产电影 | 国产一级二级三级在线 | 在线视频区 | 特黄特色大片免费视频大全 | 国产全肉乱妇杂乱视频 | 最新天堂中文在线 | 亚洲第一女人av | 青青草免费在线观看 | 丁香一区二区 | 天堂中文在线观看 | 成人97 | 色婷婷欧美 | 国产欧美日韩久久 | 国产网站久久 | 不卡av片 | 国产精品毛片一区视频播 | 女18毛片 | 日本中文在线 |