国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

c#大地測(cè)量學(xué)各坐標(biāo)系坐標(biāo)轉(zhuǎn)換(窗體應(yīng)用程序)

這篇具有很好參考價(jià)值的文章主要介紹了c#大地測(cè)量學(xué)各坐標(biāo)系坐標(biāo)轉(zhuǎn)換(窗體應(yīng)用程序)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大地坐標(biāo)系

空間直角坐標(biāo)系

子午面直角坐標(biāo)系

c#坐標(biāo)轉(zhuǎn)換程序,大地測(cè)量學(xué),c#,開發(fā)語言,ui,幾何學(xué)文章來源地址http://www.zghlxwxcb.cn/news/detail-738606.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace project1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            double L, B, H, X, Y, Z, x, y;
            double a = 6378137;//橢圓長(zhǎng)半軸
            double b = 6356752.3141;//橢圓短半軸
            double e_2 = 0.00669438002290;//橢圓第一偏心率e^2
            double e_dot_2 = 0.00673949677548;//橢圓第二偏心率e'^2  
            double c = a * a / b;
            double k = 1 + e_dot_2;
            double p = Math.PI / 180;//角度值轉(zhuǎn)弧度制系數(shù)
            //如果需要更嚴(yán)謹(jǐn)?shù)拇a,可以更換為三個(gè)textbox是否為空的判斷,并自行添加參數(shù)錯(cuò)誤提示的信息
            if (textBox5.Text != string.Empty&& textBox4.Text != string.Empty)//已知大地坐標(biāo)系
            {
                L = Convert.ToDouble(textBox1.Text);
                B= Convert.ToDouble(textBox4.Text);
                H= Convert.ToDouble(textBox5.Text);
                double W = Math.Sqrt(1 - e_2 * Math.Sin(B*p) * Math.Sin(B * p));
                double V = Math.Sqrt(1 + e_dot_2 * Math.Cos(B * p) * Math.Cos(B * p));
                double N = a / W;
                //計(jì)算空間直角坐標(biāo)系
                X = (N+H)*Math.Cos(B * p) * Math.Cos(L * p);
                Y = (N + H) * Math.Cos(B * p) * Math.Sin(L * p);
                Z = (N*(1-e_2)+H)*Math.Sin(B * p);
                textBox3.Text = Convert.ToString(X);
                textBox8.Text = Convert.ToString(Y);
                textBox9.Text = Convert.ToString(Z);
                //計(jì)算子午面直角坐標(biāo)系
                x =X/Math.Cos(L*p);
                y = Z;
                textBox2.Text = Convert.ToString(L);
                textBox6.Text = Convert.ToString(x);
                textBox7.Text = Convert.ToString(y);
            }
            else if (textBox7.Text != string.Empty&& textBox6.Text != string.Empty)//已知子午面直角坐標(biāo)系
            {
                L = Convert.ToDouble(textBox2.Text);  
                x= Convert.ToDouble(textBox6.Text);
                y= Convert.ToDouble(textBox7.Text);
                //計(jì)算空間直角坐標(biāo)系
                X = x * Math.Cos(L * p);
                Y = x * Math.Sin(L * p);
                Z = y;
                textBox3.Text = Convert.ToString(X);
                textBox8.Text = Convert.ToString(Y);
                textBox9.Text = Convert.ToString(Z);
                //計(jì)算大地坐標(biāo)系
                double tan0 = Z / Math.Sqrt(X *X + Y *Y);
                double P = c * e_2 / Math.Sqrt(X * X + Y * Y);
                double tanB=tan0,cha;//循環(huán)迭代
                do
                {
                    cha = tanB;
                    tanB = tan0 + P * cha / Math.Sqrt(k + cha * cha);
                } while (Math.Abs(cha-tanB) > Math.Pow(10, -10));
                B = Math.Atan(tanB );
                double W = Math.Sqrt(1 - e_2 * Math.Sin(B ) * Math.Sin(B ));
                double V = Math.Sqrt(1 + e_dot_2 * Math.Cos(B ) * Math.Cos(B ));
                double N = a / W;
                H = Math.Sqrt(X * X + Y * Y) / Math.Cos(B ) - N;
                textBox1.Text = Convert.ToString(L);
                textBox4.Text = Convert.ToString(B * 180 / Math.PI);
                textBox5.Text = Convert.ToString(H);
            }
            else if (textBox9.Text != string.Empty&& textBox8.Text != string.Empty)//已知空間直角坐標(biāo)系
            {
                X = Convert.ToDouble(textBox3.Text);
                Y = Convert.ToDouble(textBox8.Text);
                Z = Convert.ToDouble(textBox9.Text);
                //計(jì)算大地坐標(biāo)系
                L = Math.Atan(Y / X );
                double tan0 = Z / Math.Sqrt(X * X + Y * Y);
                double P = c * e_2 / Math.Sqrt(X * X + Y * Y);
                double tanB = tan0, cha;//循環(huán)迭代
                do
                {
                    cha = tanB;
                    tanB = tan0 + P * cha / Math.Sqrt(k + cha * cha);
                } while (Math.Abs(cha - tanB) > Math.Pow(10, -10));
                B = Math.Atan(tanB );
                double W = Math.Sqrt(1 - e_2 * Math.Sin(B ) * Math.Sin(B ));
                double V = Math.Sqrt(1 + e_dot_2 * Math.Cos(B ) * Math.Cos(B));
                double N = a / W;
                H = Math.Sqrt(X * X + Y * Y) /Math.Cos(B ) - N;
                textBox1.Text = Convert.ToString(L*180/Math.PI);
                textBox4.Text = Convert.ToString(B *180/ Math.PI);
                textBox5.Text = Convert.ToString(H);
                //計(jì)算子午面直角坐標(biāo)系
                x = X / Math.Cos(L);
                y = Z;
                textBox2.Text = Convert.ToString(L*180/Math.PI);
                textBox6.Text = Convert.ToString(x);
                textBox7.Text = Convert.ToString(y);
            }
        }

    }
}

到了這里,關(guān)于c#大地測(cè)量學(xué)各坐標(biāo)系坐標(biāo)轉(zhuǎn)換(窗體應(yīng)用程序)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 世界坐標(biāo)系、相機(jī)坐標(biāo)系和圖像坐標(biāo)系的轉(zhuǎn)換

    世界坐標(biāo)系、相機(jī)坐標(biāo)系和圖像坐標(biāo)系的轉(zhuǎn)換

    之前只是停留在會(huì)用的階段,一直沒去讀懂計(jì)算的原理,今天通讀了大佬的文章,寫的言簡(jiǎn)意賅,感謝感謝~~特此記錄一下,僅用作個(gè)人筆記 貼鏈接,十分感謝~ https://blog.csdn.net/weixin_44278406/article/details/112986651 https://blog.csdn.net/guyuealian/article/details/104184551 將三維物體轉(zhuǎn)換成照

    2023年04月15日
    瀏覽(34)
  • 相機(jī)坐標(biāo)系、像素坐標(biāo)系轉(zhuǎn)換

    相機(jī)內(nèi)參矩陣是相機(jī)的重要參數(shù)之一,它描述了相機(jī)光學(xué)系統(tǒng)的內(nèi)部性質(zhì),例如焦距、光學(xué)中心和圖像畸變等信息。在計(jì)算機(jī)視覺和圖形學(xué)中,相機(jī)內(nèi)參矩陣通常用于將圖像坐標(biāo)系中的像素坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系中的三維坐標(biāo),或者將相機(jī)坐標(biāo)系中的三維坐標(biāo)投影到圖像坐標(biāo)

    2024年02月13日
    瀏覽(25)
  • 柱坐標(biāo)系與直角坐標(biāo)系的轉(zhuǎn)換

    柱坐標(biāo)系與直角坐標(biāo)系的轉(zhuǎn)換

    1.柱坐標(biāo)系轉(zhuǎn)化為直角坐標(biāo)系:柱坐標(biāo)系(r,φ,z)與直角坐標(biāo)系(x,y,z)的轉(zhuǎn)換關(guān)系 x=rcosφ y=rsinφ z=z 2.直角坐標(biāo)系轉(zhuǎn)化為柱坐標(biāo)系:直角坐標(biāo)系(x,y,z)與柱坐標(biāo)系(r,φ,z)的轉(zhuǎn)換關(guān)系: r= φ= z=z

    2024年02月11日
    瀏覽(47)
  • 圖像坐標(biāo)系如何轉(zhuǎn)換到相機(jī)坐標(biāo)系。

    圖像坐標(biāo)系如何轉(zhuǎn)換到相機(jī)坐標(biāo)系。

    問題描述:圖像坐標(biāo)系如何轉(zhuǎn)換到相機(jī)坐標(biāo)系。 問題解答: 圖像坐標(biāo)系的定義: 圖像坐標(biāo)系是用于描述數(shù)字圖像中像素位置的坐標(biāo)系。圖像坐標(biāo)系的原點(diǎn)是相機(jī)光軸與成像平面的交點(diǎn)。X軸沿著成像平面的水平方向正向,Y軸沿著成像平面的垂直方向正向。 相機(jī)坐標(biāo)系的定義

    2024年02月04日
    瀏覽(20)
  • Cesium:CGCS2000坐標(biāo)系的xyz坐標(biāo)轉(zhuǎn)換成WGS84坐標(biāo)系的經(jīng)緯高度,再轉(zhuǎn)換到笛卡爾坐標(biāo)系的xyz坐標(biāo)

    Cesium:CGCS2000坐標(biāo)系的xyz坐標(biāo)轉(zhuǎn)換成WGS84坐標(biāo)系的經(jīng)緯高度,再轉(zhuǎn)換到笛卡爾坐標(biāo)系的xyz坐標(biāo)

    作者:CSDN @ _樂多_ 本文將介紹使用 Vue 、cesium、proj4 框架,實(shí)現(xiàn)將CGCS2000坐標(biāo)系的xyz坐標(biāo)轉(zhuǎn)換成WGS84坐標(biāo)系的經(jīng)緯高度,再將WGS84坐標(biāo)系的經(jīng)緯高度轉(zhuǎn)換到笛卡爾坐標(biāo)系的xyz坐標(biāo)的代碼。并將輸入和輸出使用 Vue 前端框架展示了出來。代碼即插即用。 網(wǎng)頁效果如下圖所示, 一、

    2024年02月06日
    瀏覽(51)
  • ROS中RVIZ坐標(biāo)系及TF坐標(biāo)系轉(zhuǎn)換

    ROS中RVIZ坐標(biāo)系及TF坐標(biāo)系轉(zhuǎn)換

    RVIZ坐標(biāo)系 X軸--紅色 Y軸---綠色 Z軸---藍(lán)色 YAW(偏航角)繞Z軸旋轉(zhuǎn) PITCH(俯仰角)繞Y軸旋轉(zhuǎn) ROLL(滾轉(zhuǎn)角)繞X軸旋轉(zhuǎn) 符合右手坐標(biāo)系原則 利用TF進(jìn)行坐標(biāo)系轉(zhuǎn)換 采用以下指令進(jìn)行轉(zhuǎn)換,其中frame_id child_frame_id 為兩個(gè)坐標(biāo)系的名稱,通過以下命令可以確定兩者的關(guān)系 通過在RVIZ中更改“

    2024年02月11日
    瀏覽(18)
  • (02)Cartographer源碼無死角解析-(80) 核心要點(diǎn)→local坐標(biāo)系、子圖坐標(biāo)系、切片坐標(biāo)系、地圖坐標(biāo)系等相轉(zhuǎn)換與聯(lián)系

    講解關(guān)于slam一系列文章匯總鏈接:史上最全slam從零開始,針對(duì)于本欄目講解(02)Cartographer源碼無死角解析-鏈接如下: (02)Cartographer源碼無死角解析- (00)目錄_最新無死角講解:https://blog.csdn.net/weixin_43013761/article/details/127350885 ? 文末正下方中心提供了本人 聯(lián)系方式, 點(diǎn)擊本人照片

    2024年02月16日
    瀏覽(24)
  • WGS84地球坐標(biāo)系,GCJ02火星坐標(biāo)系,BD09百度坐標(biāo)系簡(jiǎn)介與轉(zhuǎn)換 資料收集

    WGS84地球坐標(biāo)系,GCJ02火星坐標(biāo)系,BD09百度坐標(biāo)系簡(jiǎn)介與轉(zhuǎn)換 資料收集

    高性能、低功耗?GPS、北斗雙模定位模塊 STM32 GPS定位_為了維護(hù)世界和平_的博客-CSDN博客 秉火多功能調(diào)試助手上位機(jī)開源!共六款軟件,學(xué)到你吐... , - 電腦上位機(jī) - 野火電子論壇 - Powered by Discuz! https://www.firebbs.cn/forum.php?mod=viewthreadtid=11985fromuid=64 地圖坐標(biāo)系之間的轉(zhuǎn)換(百度

    2024年02月11日
    瀏覽(55)
  • Unity坐標(biāo)系的轉(zhuǎn)換—世界坐標(biāo)轉(zhuǎn)為UI坐標(biāo)

    直接調(diào)用WorldToAnchorPos,傳入對(duì)應(yīng)的參數(shù)返回UGUI坐標(biāo)

    2024年04月13日
    瀏覽(23)
  • Unity坐標(biāo)系轉(zhuǎn)換

    坐標(biāo)系的轉(zhuǎn)換 世界坐標(biāo)系和本地坐標(biāo)系的相互轉(zhuǎn)換函數(shù)如下。 ● Transform.TransformPoint(Vector3position):將一個(gè)坐標(biāo)點(diǎn)從本地坐標(biāo)系轉(zhuǎn)換到世界坐標(biāo)系。 ● Transform.InverseTransformPoint(Vector3position):將一個(gè)坐標(biāo)點(diǎn)從世界坐標(biāo)系轉(zhuǎn)換到本地坐標(biāo)系。 ● Transform.TransformDirection(Vec

    2024年02月07日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包