日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

利用C#编写一个附和闭合导线平差程序

發(fā)布時間:2023/11/30 C# 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用C#编写一个附和闭合导线平差程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
  • 二、代碼界面展示
  • 三、代碼運算結(jié)果展示
    • 3.1 閉合導(dǎo)線
      • 3.1.1 通過txt文件導(dǎo)入原始數(shù)據(jù)
      • 3.1.2 設(shè)置
      • 3.1.3 計算
      • 3.1.4 繪圖
      • 3.1.5 數(shù)據(jù)導(dǎo)出
      • 3.1.6 整體展示
    • 3. 2 附和導(dǎo)線
  • 四、源代碼
  • 五、結(jié)語

一、前言

本程序是使用C# 編寫的一個附和閉合導(dǎo)線平差程序
閉合導(dǎo)線:兩個已知點,一個已知點+方位角;
附和導(dǎo)線:雙定向附和導(dǎo)線;
前面都不是重點,有需要的直接看代碼

二、代碼界面展示


Form1(大窗體)中控件有:Menu,tabControl,dataGridView。
Form2(小窗體)中控件有:radioButton,comboBox,label,textbox button。

三、代碼運算結(jié)果展示

3.1 閉合導(dǎo)線

3.1.1 通過txt文件導(dǎo)入原始數(shù)據(jù)

沒有的數(shù)據(jù)我用的0代替,沿用的水準測量程序的讀取代碼。
我這里的數(shù)據(jù)是直接給出了水平角了。
有些同學實習給的原始數(shù)據(jù)是盤左盤右數(shù)據(jù)。如果想要程序計算,需要多設(shè)置個幾變量,如果想要數(shù)據(jù)顯示出來的話,表格,數(shù)據(jù)導(dǎo)入那里也需要修改一下,但是運算邏輯是沒有變的,自己改一下應(yīng)該不難。
實在不會的話,建議自己手動先把水平角算出來,再使用程序計算。

數(shù)據(jù)一:(2個已知點-右角)

數(shù)據(jù)二:(2個已知點-左角)
數(shù)據(jù)三:(方位角(48.4319)-右角)
數(shù)據(jù)四:(方位角(100)-右角)

3.1.2 設(shè)置

數(shù)據(jù)一:(2個已知點-右角)

數(shù)據(jù)二:(2個已知點-左角)

數(shù)據(jù)三:(方位角(48.4319)-右角)

數(shù)據(jù)四:(方位角(100)-右角)

3.1.3 計算

數(shù)據(jù)一:(2個已知點-右角)
計算結(jié)果和工程測量大師的是差不多的,mm位上有一些數(shù)據(jù)有差別,應(yīng)該主要是我整個計算的過程中都沒有去避免double的精度誤差(不明白精度誤差的可以去搜搜看看)。如果你要參考我的代碼可以自己添加使用round來保留位數(shù)。
這個界面上面是datagridview,下面是richtextbox,表格設(shè)計成這樣其實不符合導(dǎo)線平差計算表的樣式的。主要是自己沒去學習表格的設(shè)計,能力不足,所以按照工程測量大師的表格設(shè)計的表。限差這些我隨便找的一個標準。但是這個數(shù)據(jù)本身計算出來就是不合格的。
數(shù)據(jù)二:(2個已知點-左角)
與他自己計算的數(shù)據(jù)可以進行對比
數(shù)據(jù)差別的來源
1.角度改正數(shù)的分配,我程序分配的邏輯是先均分,多出來的分配給邊長較長的。
2.位數(shù)保留,和數(shù)據(jù)一 一樣
不過最后計算的B點坐標,程序和原始數(shù)據(jù)一樣。


數(shù)據(jù)三:(方位角(48.4319)-右角)
數(shù)據(jù)四:(方位角(100)-右角)

3.1.4 繪圖

這個功能只能大概畫出一個圖形,電腦畫圖的坐標系和測量坐標系不一樣,所以需要轉(zhuǎn)換。程序畫的時候已經(jīng)轉(zhuǎn)換了
說明一下,這個程序能畫的坐標范圍為x∈[-224,224],y∈[-496,496],如果坐標不屬于這里面的就畫不出來。坐標太大的話需要你自己在繪圖那段代碼里面修改n,讓坐標同時縮小n倍。
但是如果你的坐標是(3465128.993,552965.750)這種的,x坐標和y坐標位數(shù)不一樣,設(shè)置n就沒有用了,就畫不出來了。
當然你可以自己發(fā)力,畫出圖形來。
數(shù)據(jù)一:(2個已知點+右角)

n=5

數(shù)據(jù)二:(2個已知點-左角)
n=5
畫出來確實像一個廠房的結(jié)構(gòu)
數(shù)據(jù)三:(方位角(48.4319)-右角)
n=5

數(shù)據(jù)四:(方位角(100)-右角)
n=5

3.1.5 數(shù)據(jù)導(dǎo)出

這個沒什么好聊的,就是把計算的數(shù)據(jù)導(dǎo)出成excel
數(shù)據(jù)一:(2個已知點+右角)

3.1.6 整體展示

3. 2 附和導(dǎo)線

這里我就不過多描述了,就是計算雙定向附和導(dǎo)線
實驗數(shù)據(jù)都是搜索的,經(jīng)過了驗證的。
數(shù)據(jù)一


數(shù)據(jù)二

四、源代碼

namespace 附和閉合導(dǎo)線平差程序 {public partial class Form1 : Form{public Form1(){InitializeComponent();}//畫圖設(shè)置Graphics g;int midx, midy;List<Point> curvelist;Form2 form2 = new Form2();List<RowData> rdatas = new List<RowData>();List<ResultData> rtdatas = new List<ResultData>();ResultData rtdata = new ResultData();RowData rdata = new RowData();Tolerance tolerance = new Tolerance();double D = 0, M = 0, S = 0;double d1 = 0, m1 = 0, s1 = 0;double d2 = 0, m2 = 0;private void 文件ToolStripMenuItem1_Click(object sender, EventArgs e){tabControl1.SelectedTab = tabControl1.TabPages[0];dataGridView1.Rows.Clear();rdatas.Clear();string[] temp;OpenFileDialog ofd = new OpenFileDialog();ofd.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";ofd.Title = "打開數(shù)據(jù)文件";if (ofd.ShowDialog(this) == DialogResult.OK){StreamReader sr = new StreamReader(ofd.FileName);while (!sr.EndOfStream){temp = sr.ReadLine().Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);RowData rdata = new RowData();rdata.DH = temp[0];rdata.DMS = Convert.ToDouble(temp[1]);rdata.L = Convert.ToDouble(temp[2]);rdata.X = Convert.ToDouble(temp[3]);rdata.Y = Convert.ToDouble(temp[4]);rdatas.Add(rdata);}sr.Close();GridBuild1();}else{MessageBox.Show("輸入失敗");}}public void GridBuild1(){for (int i = 0; i < rdatas.Count; i++){dataGridView1.Rows.Add();dataGridView1.Rows[i].Cells[0].Value = rdatas[i].DH;dataGridView1.Rows[i].Cells[1].Value = rdatas[i].DMS;dataGridView1.Rows[i].Cells[2].Value = rdatas[i].L;dataGridView1.Rows[i].Cells[3].Value = rdatas[i].X;dataGridView1.Rows[i].Cells[4].Value = rdatas[i].Y;}}private void 設(shè)置ToolStripMenuItem_Click(object sender, EventArgs e){form2.ShowDialog();}private void 計算ToolStripMenuItem_Click(object sender, EventArgs e){tabControl1.SelectedTab = tabControl1.TabPages[1];ClearData();ShowHAandVandCHA();ShowL();ShowCA();ShowΔxandΔy();ShowCΔxandCΔy();ShowXandY();ShowTolerance();Tolerance tolerance1 = new Tolerance();}public void ShowHAandVandCHA(){//閉合if (form2.radioButton1.Checked){int n = 0, i = 0;if (form2.comboBox1.Text == "兩個已知點"){n = rdatas.Count - 2;i = 2;}else if (form2.comboBox1.Text == "一個已知點+方位角"){n = rdatas.Count - 1;i = 1;}double sumli = 180 * (n - 2);while (i < rdatas.Count){D += ReturnDMS(rdatas[i].DMS).d;M += ReturnDMS(rdatas[i].DMS).m;S += ReturnDMS(rdatas[i].DMS).s;i++;}tolerance.= (D + M / 60.0 + S / 3600.0 - sumli) * 3600;for (i = 0; i < rdatas.Count; i++){dataGridView2.Rows.Add();dataGridView2.Rows[i].Cells[0].Value = rtdatas[i].DH;if (i == 0){rtdatas[i].X = rdatas[i].X;rtdatas[i].Y = rdatas[i].Y;dataGridView2.Rows[i].Cells[10].Value = rtdatas[i].X;dataGridView2.Rows[i].Cells[11].Value = rtdatas[i].Y;}else if (i == 1 && form2.comboBox1.Text == "兩個已知點"){rtdatas[i].X = rdatas[i].X;rtdatas[i].Y = rdatas[i].Y;dataGridView2.Rows[i].Cells[10].Value = rtdatas[i].X;dataGridView2.Rows[i].Cells[11].Value = rtdatas[i].Y;d1 = ReturnDMS(rdatas[i].DMS).d;m1 = ReturnDMS(rdatas[i].DMS).m;s1 = ReturnDMS(rdatas[i].DMS).s;double HAb = toDu(d1, m1, s1);rtdatas[i].HA = HAb;dataGridView2.Rows[i].Cells[1].Value = d1.ToString() + " " + m1.ToString() + " " + s1.ToString();}else{d1 = ReturnDMS(rdatas[i].DMS).d;m1 = ReturnDMS(rdatas[i].DMS).m;s1 = ReturnDMS(rdatas[i].DMS).s;double HAx = toDu(d1, m1, s1);rtdatas[i].HA = HAx;double S = VDistribution(s1, i);d2 = d1;m2 = m1;if (S < 0){S += 60;m2 = m1 - 1;}else if (S >= 60){S -= 60;m2 = m1 + 1;}else if (m2 < 0){m2 += 60;d2 = d1 - 1;}else if (m2 >= 60){m2 -= 60;d2 = d1 + 1;}double CHAx = toDu(d2, m2, S);rtdatas[i].CHA = CHAx;dataGridView2.Rows[i].Cells[1].Value = d1.ToString() + " " + m1.ToString() + " " + s1.ToString();dataGridView2.Rows[i].Cells[2].Value = Math.Round(rtdatas[i].V, 0).ToString();dataGridView2.Rows[i].Cells[3].Value = d2.ToString() + " " + m2.ToString() + " " + Math.Round(S, 0).ToString();}}}//附和else if (form2.radioButton2.Checked){double Xa = rdatas[0].X;double Ya = rdatas[0].Y;double Xb = rdatas[1].X;double Yb = rdatas[1].Y;double Theta1 = Math.Atan(Math.Abs((Yb - Ya) / (Xb - Xa)));double radCA = JudgementQuadrant(Theta1, 1, 0);double CAa = radCA * 180 / Math.PI;rtdatas[0].CA = CAa;double Xc = rdatas[rtdatas.Count - 2].X;double Yc = rdatas[rtdatas.Count - 2].Y;double Xd = rdatas[rtdatas.Count - 1].X;double Yd = rdatas[rtdatas.Count - 1].Y;double Theta2 = Math.Atan(Math.Abs((Yd - Yc) / (Xd - Xc)));double radCc = JudgementQuadrant(Theta2, rtdatas.Count - 1, rtdatas.Count - 2);double CAc = radCc * 180 / Math.PI;rtdatas[rtdatas.Count - 2].CA = CAc;for (int i = 1; i < rtdatas.Count - 1; i++){D += ReturnDMS(rdatas[i].DMS).d;M += ReturnDMS(rdatas[i].DMS).m;S += ReturnDMS(rdatas[i].DMS).s;}if (form2.comboBox2.Text=="右角"){double βli = rtdatas[0].CA - rtdatas[rtdatas.Count - 2].CA + ((rtdatas.Count - 2) * 180);double βce = D + M / 60.0 + S / 3600.0;tolerance.= βce - βli;}else if (form2.comboBox2.Text == "左角"){double βli = rtdatas[rtdatas.Count - 2].CA - rtdatas[0].CA+360 + ((rtdatas.Count - 2) * 180);double βce = D + M / 60.0 + S / 3600.0;tolerance.= βce - βli; }while (tolerance.> 360){tolerance.-= 360;}while (tolerance.< -360){tolerance.+= 360;}tolerance.=Math.Round( tolerance.* 3600,0);for (int i = 0; i < rdatas.Count; i++){dataGridView2.Rows.Add();dataGridView2.Rows[i].Cells[0].Value = rtdatas[i].DH;if (i == 0 || i == rdatas.Count - 1){rtdatas[i].X = rdatas[i].X;rtdatas[i].Y = rdatas[i].Y;dataGridView2.Rows[i].Cells[10].Value = rtdatas[i].X;dataGridView2.Rows[i].Cells[11].Value = rtdatas[i].Y;}else{if (i == 1 || i == rtdatas.Count - 2){rtdatas[i].X = rdatas[i].X;rtdatas[i].Y = rdatas[i].Y;dataGridView2.Rows[i].Cells[10].Value = rtdatas[i].X;dataGridView2.Rows[i].Cells[11].Value = rtdatas[i].Y;}d1 = ReturnDMS(rdatas[i].DMS).d;m1 = ReturnDMS(rdatas[i].DMS).m;s1 = ReturnDMS(rdatas[i].DMS).s;double HAx = toDu(d1, m1, s1);rtdatas[i].HA = HAx;double S = VDistribution(s1, i);d2 = d1;m2 = m1;if (S < 0){S += 60;m2 =m1- 1;}else if (S>=60){S -= 60;m2=m1+ 1;}else if (m2 < 0){m2 += 60;d2 =d1- 1;}else if (m2>=60){m2 -= 60;d2 =d1+ 1;}double CHAx = toDu(d2, m2, S);rtdatas[i].CHA = CHAx;dataGridView2.Rows[i].Cells[1].Value = d1.ToString() + " " + m1.ToString() + " " + s1.ToString();dataGridView2.Rows[i].Cells[2].Value = Math.Round(rtdatas[i].V, 0).ToString();dataGridView2.Rows[i].Cells[3].Value = d2.ToString() + " " + m2.ToString() + " " + Math.Round(S, 0).ToString();}}}}//點號和水平角和改正后的水平角public void ShowL(){if (form2.radioButton1.Checked){int n = 0;if (form2.comboBox1.Text == "兩個已知點"){n = rdatas.Count - 1;}else if (form2.comboBox1.Text == "一個已知點+方位角"){n = rdatas.Count;}for (int i = 1; i < n; i++){rtdatas[i].L = rdatas[i].L;tolerance.fl += rtdatas[i].L;dataGridView2.Rows[i].Cells[5].Value = rtdatas[i].L;}}else if (form2.radioButton2.Checked){for (int i = 1; i < rdatas.Count - 2; i++){rtdatas[i].L = rdatas[i].L;tolerance.fl += rtdatas[i].L;dataGridView2.Rows[i].Cells[5].Value = rtdatas[i].L;}}}//展示距離public void ShowCA(){//閉合if (form2.radioButton1.Checked){int n = 0;if (form2.comboBox1.Text == "兩個已知點"){n = rdatas.Count - 1;}else if (form2.comboBox1.Text == "一個已知點+方位角"){n = rdatas.Count;}//已知點坐標(X1,Y1),(X2,Y2)double CAa = 0;double CAb = 0;for (int i = 0; i < n; i++){if (i == 0 && form2.comboBox1.Text == "兩個已知點"){double X1 = rdatas[0].X;double Y1 = rdatas[0].Y;double X2 = rdatas[1].X;double Y2 = rdatas[1].Y;double Theta = Math.Atan(Math.Abs((Y2 - Y1) / (X2 - X1)));double radCA = JudgementQuadrant(Theta, 1, 0);CAa = radCA * 180 / Math.PI;rtdatas[i].CA = CAa;int[] dms = toDMS(rtdatas[i].CA);dataGridView2.Rows[0].Cells[4].Value = dms[0].ToString() + " " + dms[1].ToString() + " " + dms[2].ToString();}else if (i == 0 && form2.comboBox1.Text == "一個已知點+方位角"){CAa = Convert.ToDouble(form2.textBox1.Text) + Convert.ToDouble(form2.textBox2.Text) / 60 + Convert.ToDouble(form2.textBox3.Text) / 3600;rtdatas[i].CA = CAa;int[] dms = toDMS(rtdatas[i].CA);dataGridView2.Rows[0].Cells[4].Value = dms[0].ToString() + " " + dms[1].ToString() + " " + dms[2].ToString();}else if (i == 1 && form2.comboBox1.Text == "兩個已知點"){if (form2.comboBox2.Text == "右角"){CAb = CAa - rtdatas[i].HA + 180;}if (form2.comboBox2.Text == "左角"){CAb = CAa + rtdatas[i].HA + 180;}if (CAb > 360){CAb -= 360;}if (CAb<0){CAb += 360;}rtdatas[i].CA = CAb;int[] dms1 = toDMS(rtdatas[i].CA);dataGridView2.Rows[i].Cells[4].Value = dms1[0].ToString() + " " + dms1[1].ToString() + " " + dms1[2].ToString();}else if (i == 1 && form2.comboBox1.Text == "一個已知點+方位角"){CAb = Calculate_CA(CAa, i);rtdatas[i].CA = CAb;int[] dms1 = toDMS(rtdatas[i].CA);dataGridView2.Rows[i].Cells[4].Value = dms1[0].ToString() + " " + dms1[1].ToString() + " " + dms1[2].ToString();}else{CAb = Calculate_CA(CAb, i);rtdatas[i].CA = CAb;int[] dms1 = toDMS(rtdatas[i].CA);dataGridView2.Rows[i].Cells[4].Value = dms1[0].ToString() + " " + dms1[1].ToString() + " " + dms1[2].ToString();}}}//附和else if (form2.radioButton2.Checked){double CAx=0;int[] dms = toDMS(rtdatas[0].CA);dataGridView2.Rows[0].Cells[4].Value = dms[0].ToString() + " " + dms[1].ToString() + " " + dms[2].ToString();int[] dms1= toDMS(rtdatas[rtdatas.Count-2].CA);dataGridView2.Rows[rtdatas.Count - 2].Cells[4].Value = dms1[0].ToString() + " " + dms1[1].ToString() + " " + dms1[2].ToString();for (int i = 1; i < rtdatas.Count-1; i++){if (i==1){CAx = Calculate_CA(rtdatas[0].CA, i);rtdatas[i].CA = CAx;int[] dms2 = toDMS(rtdatas[i].CA);dataGridView2.Rows[i].Cells[4].Value = dms2[0].ToString() + " " + dms2[1].ToString() + " " + dms2[2].ToString();}else{CAx = Calculate_CA(CAx, i);rtdatas[i].CA = CAx;int[] dms2 = toDMS(rtdatas[i].CA);dataGridView2.Rows[i].Cells[4].Value = dms2[0].ToString() + " " + dms2[1].ToString() + " " + dms2[2].ToString();}}}}//計算展示坐標方位角//計算坐標方位角public double Calculate_CA(double CA, int i){double CA1 = 0;if (form2.comboBox2.Text == "右角"){CA1 =CA - rtdatas[i].CHA + 180;}if (form2.comboBox2.Text == "左角"){CA1 = CA + rtdatas[i].CHA + 180;}while (CA1 >= 360){CA1 -= 360;}while (CA1 <0){CA1 += 360;}return CA1;}public void ShowΔxandΔy(){if (form2.radioButton1.Checked){int i = 0;if (form2.comboBox1.Text == "兩個已知點"){i = 2;}else if (form2.comboBox1.Text == "一個已知點+方位角"){i = 1;}while (i < rdatas.Count){if (form2.comboBox1.Text == "兩個已知點"){rtdatas[i].Δx = Math.Cos(rtdatas[i - 1].CA * Math.PI / 180) * rtdatas[i - 1].L;rtdatas[i].Δy = Math.Sin(rtdatas[i - 1].CA * Math.PI / 180) * rtdatas[i - 1].L;}else if (form2.comboBox1.Text == "一個已知點+方位角"){rtdatas[i].Δx = Math.Cos(rtdatas[i - 1].CA * Math.PI / 180) * rtdatas[i].L;rtdatas[i].Δy = Math.Sin(rtdatas[i - 1].CA * Math.PI / 180) * rtdatas[i].L;}tolerance.fx += rtdatas[i].Δx;tolerance.fy += rtdatas[i].Δy;dataGridView2.Rows[i].Cells[6].Value = Math.Round(rtdatas[i].Δx, 4);dataGridView2.Rows[i].Cells[7].Value = Math.Round(rtdatas[i].Δy, 4);i++;}tolerance.fD = Math.Sqrt(tolerance.fx * tolerance.fx + tolerance.fy * tolerance.fy);tolerance.K = tolerance.fD / tolerance.fl;}else if (form2.radioButton2.Checked){double fxce=0, fyce=0,fxli=0,fyli=0;fxli = rdatas[rdatas.Count - 2].X - rdatas[1].X;fyli = rdatas[rdatas.Count - 2].Y - rdatas[1].Y;for (int i = 1; i < rdatas.Count-2; i++){rtdatas[i].Δx = Math.Cos(rtdatas[i].CA * Math.PI / 180) * rtdatas[i].L;rtdatas[i].Δy = Math.Sin(rtdatas[i].CA * Math.PI / 180) * rtdatas[i].L;fxce += rtdatas[i].Δx;fyce += rtdatas[i].Δy;dataGridView2.Rows[i].Cells[6].Value = Math.Round(rtdatas[i].Δx, 4);dataGridView2.Rows[i].Cells[7].Value = Math.Round(rtdatas[i].Δy, 4);}tolerance.fx = fxce - fxli;tolerance.fy = fyce - fyli;tolerance.fD = Math.Sqrt(tolerance.fx * tolerance.fx + tolerance.fy * tolerance.fy);tolerance.K = tolerance.fD / tolerance.fl;}}//計算展示Δx和Δy和fd,fl,fx,fx,Kpublic void ShowCΔxandCΔy(){if (form2.radioButton1.Checked){int i = 0;double temp = 0, temp1 = 0;if (form2.comboBox1.Text == "兩個已知點"){i = 2;}else if (form2.comboBox1.Text == "一個已知點+方位角"){i = 1;}while (i < rdatas.Count){if (form2.comboBox1.Text == "兩個已知點"){temp = tolerance.fx * rtdatas[i - 1].L / tolerance.fl;temp1 = tolerance.fy * rtdatas[i - 1].L / tolerance.fl;}else if (form2.comboBox1.Text == "一個已知點+方位角"){temp = tolerance.fx * rtdatas[i].L / tolerance.fl;temp1 = tolerance.fy * rtdatas[i].L / tolerance.fl;}rtdatas[i].CΔx = rtdatas[i].Δx - temp;rtdatas[i].CΔy = rtdatas[i].Δy - temp1;dataGridView2.Rows[i].Cells[8].Value = Math.Round(rtdatas[i].CΔx, 4);dataGridView2.Rows[i].Cells[9].Value = Math.Round(rtdatas[i].CΔy, 4);i++;}}else if (form2.radioButton2.Checked){for (int i = 1; i < rdatas.Count-2; i++){double temp = 0, temp1 = 0;temp = tolerance.fx * rtdatas[i].L / tolerance.fl;temp1 = tolerance.fy * rtdatas[i].L / tolerance.fl;rtdatas[i].CΔx = rtdatas[i].Δx - temp;rtdatas[i].CΔy = rtdatas[i].Δy - temp1;dataGridView2.Rows[i].Cells[8].Value = Math.Round(rtdatas[i].CΔx, 4);dataGridView2.Rows[i].Cells[9].Value = Math.Round(rtdatas[i].CΔy, 4);}}}//計算展示CΔ和CΔypublic void ShowXandY(){if (form2.radioButton1.Checked){int i = 0;if (form2.comboBox1.Text == "兩個已知點"){i = 2;}else if (form2.comboBox1.Text == "一個已知點+方位角"){i = 1;}while (i < rdatas.Count){rtdatas[i].X = rtdatas[i - 1].X + rtdatas[i].CΔx;rtdatas[i].Y = rtdatas[i - 1].Y + rtdatas[i].CΔy;dataGridView2.Rows[i].Cells[10].Value = Math.Round(rtdatas[i].X, 4);dataGridView2.Rows[i].Cells[11].Value = Math.Round(rtdatas[i].Y, 4);i++;}}else if (form2.radioButton2.Checked){for (int i = 2; i < rtdatas.Count-1; i++){rtdatas[i].X = rtdatas[i - 1].X + rtdatas[i-1].CΔx;rtdatas[i].Y = rtdatas[i - 1].Y + rtdatas[i-1].CΔy;dataGridView2.Rows[i].Cells[10].Value = Math.Round(rtdatas[i].X, 4);dataGridView2.Rows[i].Cells[11].Value = Math.Round(rtdatas[i].Y, 4);}}}//計算展示X和Ypublic void ShowTolerance(){if (form2.radioButton1.Checked){int n = 0;if (form2.comboBox1.Text == "兩個已知點"){n = rdatas.Count - 2;}else if (form2.comboBox1.Text == "一個已知點+方位角"){n = rdatas.Count - 1;}richTextBox1.AppendText(Environment.NewLine);if (Math.Abs( Math.Round(tolerance., 0))> Math.Round(24 * Math.Sqrt(n), 4)){richTextBox1.Text = "角度閉合差為 fβ=" + Math.Round(tolerance., 0).ToString() + "″" + " fβ允=±24√n=±" + Math.Round(24 * Math.Sqrt(n), 4) + " 角度閉合差超限"+"\n";}else if (Math.Abs(Math.Round(tolerance., 0)) < Math.Round(24 * Math.Sqrt(n), 4)){richTextBox1.Text = "角度閉合差為 fβ=" + Math.Round(tolerance., 0).ToString() + "″" + " fβ允=±24√n=±" + Math.Round(24 * Math.Sqrt(n), 4) + "\n";}richTextBox1.Text += "fx=" + Math.Round(tolerance.fx, 4).ToString() + "m" + " fy=" + Math.Round(tolerance.fy, 4).ToString() + "m" + " fl=" + Math.Round(tolerance.fl, 4).ToString() + "m" + "\n";richTextBox1.Text += "導(dǎo)線全長閉合差fD =" + Math.Round(tolerance.fD, 4) + "m" + "\n";richTextBox1.Text += "導(dǎo)線全長相對閉合差容許值=" + (1.0 / 2000) + "\n";if (tolerance.K > 1.0 / 2000){richTextBox1.Text += "導(dǎo)線全長相對閉合差K =" + Math.Round(tolerance.K, 4) + ">" + (1.0 / 2000) + " " + "結(jié)果超限" + "\n";}else if (tolerance.K < 1.0 / 2000){richTextBox1.Text += "導(dǎo)線全長相對閉合差K =" + Math.Round(tolerance.K, 4) + "<" + (1.0 / 2000) + " " + "結(jié)果不超限" + "\n";}}else if (form2.radioButton2.Checked){int n = rtdatas.Count - 2;richTextBox1.AppendText(Environment.NewLine);richTextBox1.Text = "角度閉合差為 fβ=" + Math.Round(tolerance., 0).ToString() + "″" + " fβ允=±24√n=±" + Math.Round(24 * Math.Sqrt(n), 4) + "\n";richTextBox1.Text += "fx=" + Math.Round(tolerance.fx, 4).ToString() + "m" + " fy=" + Math.Round(tolerance.fy, 4).ToString() + "m" + " fl=" + Math.Round(tolerance.fl, 4).ToString() + "m" + "\n";richTextBox1.Text += "導(dǎo)線全長閉合差fD =" + Math.Round(tolerance.fD, 4) + "m" + "\n";richTextBox1.Text += "導(dǎo)線全長相對閉合差容許值=" + (1.0 / 2000) + "\n";if (tolerance.K > 1.0 / 2000){richTextBox1.Text += "導(dǎo)線全長相對閉合差K =" + Math.Round(tolerance.K, 4) + ">" + (1.0 / 2000) + " " + "結(jié)果超限" + "\n";}else if (tolerance.K < 1.0 / 2000){richTextBox1.Text += "導(dǎo)線全長相對閉合差K =" + Math.Round(tolerance.K, 4) + "<" + (1.0 / 2000) + " " + "結(jié)果不超限" + "\n";}}}//展示限差public void ClearData(){dataGridView2.Rows.Clear();rtdatas.Clear();D = 0; M = 0; S = 0;d1 = 0; m1 = 0; s1 = 0;tolerance.fx = 0;tolerance.fy = 0;tolerance.fl = 0;for (int i = 0; i < rdatas.Count; i++){ResultData rtdata = new ResultData();rtdata.DH = rdatas[i].DH;rtdatas.Add(rtdata);}}//計算前清理數(shù)據(jù),避免數(shù)據(jù)重復(fù)計算public (double d, double m, double s) ReturnDMS(double DMS){double d, m, s;d = Math.Floor(DMS);m = Math.Floor(Math.Round(((DMS - d) * 100),6));s = Math.Round(((Math.Round(DMS * 100, 8) - Math.Floor(Math.Round(DMS * 100,8))) * 100), 8);return (d, m, s);}//格式轉(zhuǎn)換public double JudgementQuadrant(double Theta, int i, int j) //判斷方位角象限{double CA = 0;double m = rdatas[i].X - rdatas[j].X;double n = rdatas[i].Y - rdatas[j].Y;if (m > 0 && n >= 0){CA = Theta;}else if (m <= 0 && n > 0){CA = Math.PI - Theta;}else if (m < 0 && n <= 0){CA = Theta + Math.PI;}else if (m > 0 && n < 0){CA = 2 * Math.PI - Theta;}else if (m == 0 && n > 0){CA = Math.PI / 2;}else if (m == 0 && n < 0){CA = Math.PI * 1.5;}return CA;}public int[] AngularCarry(int d, int m, int s)//角度進位{if (s >= 60){s -= 60;m += 1;}else if (m >= 60){m -= 60;d += 1;}else if (s < 0){s += 60;m -= 1;}else if (m < 0){m += 60;d -= 1;}return new int[] { d, m, s };}public double VDistribution(double s, int i)//改正數(shù)分配{double temp2 = 0;//閉合if (form2.radioButton1.Checked){ArrayList arrayList = new ArrayList();int n = 0;if (form2.comboBox1.Text == "兩個已知點"){n = rdatas.Count - 2;for (int j = 1; j < rdatas.Count - 1; j++){arrayList.Add(rdatas[j].L);arrayList.Sort();}}else if (form2.comboBox1.Text == "一個已知點+方位角"){n = rdatas.Count - 1;for (int j = 1; j < rdatas.Count ; j++){arrayList.Add(rdatas[j].L);arrayList.Sort();}}int temp = Convert.ToInt32(Math.Round(tolerance., 5) % n);//取余int temp1 = Math.Abs(temp);double avernum = (tolerance.- temp) / n;if (temp != 0){if (rdatas[i].L >= Convert.ToDouble(arrayList[n - temp1])){rtdatas[i].V = -(temp / temp1 + avernum);temp2 = s + rtdatas[i].V;}else{rtdatas[i].V = -(avernum);temp2 = s + rtdatas[i].V;}}else{rtdatas[i].V = -(tolerance./ n);temp2 = s + rtdatas[i].V;}}//附和 else if (form2.radioButton2.Checked){int n=rtdatas.Count-2;int temp = Convert.ToInt32(Math.Round(tolerance., 5) % n);//取余int temp1 = Math.Abs(temp);double avernum = (tolerance.- temp) / n;ArrayList arrayList = new ArrayList();for (int j = 1; j < rdatas.Count - 1; j++){arrayList.Add(rdatas[j].L);arrayList.Sort();}if (temp != 0){if (rdatas[i].L >= Convert.ToDouble(arrayList[n - temp1])){rtdatas[i].V = -(temp / temp1 + avernum);temp2 = s + rtdatas[i].V;}else{rtdatas[i].V = -(avernum);temp2 = s + rtdatas[i].V;}}else{rtdatas[i].V = -(tolerance./ n);temp2 = s + rtdatas[i].V;}}return temp2;}public int[] toDMS(double CA){int d = (int)CA;int m = (int)((CA - d) * 60);int s = (int)Math.Round(((CA - d) * 3600 - m * 60), 0);int[] temp = AngularCarry(d, m, s);return new int[] { temp[0], temp[1], temp[2] };}//十進制度數(shù)轉(zhuǎn)度分秒public double toDu(double d1, double m1, double s1){double du = d1 + m1 / 60 + s1 / 3600;return du;}//度分秒轉(zhuǎn)十進制度數(shù)public void drawPoint(double X, double Y){g.FillRectangle(Brushes.Red, (float)Y, (float)X, 4, 4);}private void 繪圖ToolStripMenuItem_Click(object sender, EventArgs e){tabControl1.SelectedTab = tabControl1.TabPages[2];tabPage3.Show();g = tabPage3.CreateGraphics();midx = tabPage3.ClientRectangle.Height / 2;midy = tabPage3.ClientRectangle.Width / 2;g.DrawLine(Pens.Black, 0, midx, this.ClientRectangle.Width, midx);g.DrawLine(Pens.Black, midy, 0, midy, this.ClientRectangle.Height);curvelist = new List<Point>();int n = 20;for (int i = 0; i < rtdatas.Count; i++){if (i == 0){drawPoint((midx - rtdatas[i].X / n), (midy + rtdatas[i].Y / n));}else{drawPoint((midx - rtdatas[i].X / n), (midy + rtdatas[i].Y / n));g.DrawLine(Pens.Black, (float)(midy + rtdatas[i].Y / n), (float)(midx - rtdatas[i].X /n), (float)(midy + rtdatas[i - 1].Y / n), (float)(midx - rtdatas[i - 1].X / n));}}}private void 保存ToolStripMenuItem_Click(object sender, EventArgs e){//這里的代碼自己搜索一下,就是將datagridview 轉(zhuǎn)換成txt或者excel}} } //這里是創(chuàng)建的變量class RowData{public string DH;//點號public double DMS;//度分秒public double L;//距離public double X;public double Y;}class ResultData {public string DH;public double HA;//水平角public double V;//改正數(shù)public double CHA;//改正后水平角public double CA;//方位角public double L;public double Δx;public double Δy;public double CΔx;public double CΔy;public double X;public double Y;}class Tolerance //限差{public double;public double fl;public double fx;public double fy;public double fD;public double K;}

Form2的代碼我就不復(fù)制了,如上圖一些設(shè)置的按鈕。

五、結(jié)語

不管是水準測量平差或者是導(dǎo)線測量,主要面臨的不是公式不會用(高斯正反算就是純粹的將公式套用編程),而是各種編程的基礎(chǔ)問題(數(shù)據(jù)導(dǎo)入,顯示,分隔,循環(huán)處理,debug,輸出等等),計算公式倒是好理解。其實最簡單的就是寫一個最死的程序,只處理一組數(shù)據(jù)或者單個數(shù)據(jù),過后慢慢百度學習,久而久之就相對熟練了。
如果你有基礎(chǔ),看源碼就可以了。如果你才學C#窗體,我覺得你下載這一個程序或者水準那個基本上可以滿足測繪程序編寫的要求了,不用每個問題都去搜索,這兩個程序基本都包括了。
我才學C#的時候,有很多自己也不會,也要看別人的,比如如何打開文件夾,讀取txt,用逗號或者空格分隔,換行讀取過后再顯示,跨窗體調(diào)用數(shù)據(jù),保存數(shù)據(jù),畫圖,方法的調(diào)用等等,遇到了各種報錯了就開始搜索再修改,過后再把它們?nèi)诤系阶约簩懙某绦颉?br /> 如果有一個現(xiàn)成的程序,會對你的程序?qū)W習有很大幫助。
我的其他文章:

  • 利用Python編寫一個高斯正反算程序:https://blog.csdn.net/Zj1638/article/details/125740379
  • 利用C#編寫一個高斯正反算程序:https://blog.csdn.net/Zj1638/article/details/125380593
  • 利用C#編寫一個水準測量近似平差程序:https://blog.csdn.net/Zj1638/article/details/119303957
  • 利用C#編寫一個GPS高程擬合(二次曲面擬合模型)程序:https://blog.csdn.net/Zj1638/article/details/125752243
  • 總結(jié)

    以上是生活随笔為你收集整理的利用C#编写一个附和闭合导线平差程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    久久免费国产 | 精品久久久久久亚洲 | 国产麻豆剧果冻传媒视频播放量 | 91亚洲精品在线 | av丁香花| 在线视频福利 | 日本视频不卡 | 在线观看黄 | 波多野结衣一区二区三区中文字幕 | 亚洲精品456在线播放第一页 | 日本中文字幕免费观看 | 欧美另类视频 | 久久精品精品电影网 | 国产亚洲永久域名 | 欧美日韩色婷婷 | 丁香六月久久综合狠狠色 | 在线观看视频你懂的 | 国产精品免费视频网站 | 91免费观看视频网站 | 欧美性生交大片免网 | 97视频网站 | 在线观看av不卡 | 久久久96 | 天天操天天干天天爽 | 国产精品久久久久久久久久久免费 | 麻豆成人网 | 99久久精品免费看国产一区二区三区 | 国产免费a | 久久超级碰视频 | 国产精品视频久久 | 92中文资源在线 | 国产一区高清在线观看 | 亚洲日韩中文字幕 | 久久久国产日韩 | 成人黄色免费在线观看 | 国产精品免费在线观看视频 | av在线电影网站 | 婷婷婷国产在线视频 | 97国产大学生情侣酒店的特点 | 九九99 | 久要激情网 | 在线观看第一页 | 九九热只有精品 | 在线观看av不卡 | 五月天婷婷狠狠 | 日韩在线资源 | 永久免费毛片 | 国产特级毛片 | 国产一级淫片免费看 | 天天摸天天操天天舔 | 国产成人一区二区三区 | 91视频 - x99av| 中文在线免费看视频 | 视频一区二区三区视频 | 精品久久一区二区三区 | 久久精品影视 | 免费观看成年人视频 | 91久久偷偷做嫩草影院 | 国产精品av久久久久久无 | 亚洲aⅴ久久精品 | 中文字幕在线观看网站 | 在线看成人 | 国产精品国产三级国产aⅴ入口 | 免费a v网站| 日本中文字幕网址 | 久久成人午夜 | 免费在线观看视频一区 | 欧美日视频 | ww亚洲ww亚在线观看 | 91麻豆精品国产91久久久更新时间 | av丝袜在线 | 黄色三级av | av无限看 | 亚洲视频每日更新 | 激情五月***国产精品 | 久久综合中文色婷婷 | 日日躁你夜夜躁你av蜜 | 日本公妇在线观看 | 久久国产精品色av免费看 | 美女视频黄在线观看 | 亚洲精品在线国产 | 丁香六月天| 香蕉视频免费看 | 美女网站色在线观看 | 国产流白浆高潮在线观看 | 国产精品嫩草影院9 | 日韩在线视频看看 | 亚洲精品视频国产 | 国产丝袜制服在线 | 日韩高清av在线 | 国产精品igao视频网网址 | 欧美a级片网站 | 激情喷水 | 黄色一区三区 | 国产大片黄色 | 久久国产精品99久久久久久老狼 | 少妇性xxx | 在线只有精品 | 欧美激情综合五月色丁香小说 | 最近中文字幕免费av | av中文字幕在线免费观看 | 欧美日韩三级在线观看 | 不卡的av在线播放 | 午夜精品在线看 | 亚洲人成精品久久久久 | 久久视频在线观看中文字幕 | 婷久久 | 欧美午夜理伦三级在线观看 | 国产黄色免费看 | 人人干97| 欧美老人xxxx18 | 国产精品av免费在线观看 | 午夜视频久久久 | 久久视讯 | 日韩免费视频一区二区 | 97精品超碰一区二区三区 | 欧美激情精品久久久 | 午夜久久久精品 | 午夜精品久久久久久久99水蜜桃 | 国产精品91一区 | 国产69精品久久久久99尤 | 天天噜天天色 | 欧洲成人av| 国产99久久九九精品免费 | 国产精品99久久久久久大便 | 天天干夜夜夜操天 | 美女网站色在线观看 | 国产精品美女久久久久aⅴ 干干夜夜 | 亚洲精品av中文字幕在线在线 | 亚洲精品久久久蜜臀下载官网 | 国产美女视频 | www狠狠| 亚洲黄色小说网址 | 亚洲极色 | 国产精品久久嫩一区二区免费 | 精品久久久久久综合日本 | 天天插天天 | 久久精品区 | 亚洲成年人免费网站 | 日本中文字幕在线视频 | 五月天婷婷在线视频 | 一本到在线 | 国产高清不卡一区二区三区 | 91丨九色丨国产在线观看 | 日日夜夜精品网站 | 色国产精品 | 天天操天天干天天玩 | aaa日本高清在线播放免费观看 | 三上悠亚一区二区在线观看 | 97在线观看免费观看高清 | 日韩欧美在线观看一区二区 | 大荫蒂欧美视频另类xxxx | 黄色毛片网站在线观看 | 五月精品 | 香蕉视频18 | 欧美性色综合网 | 天天色天天综合网 | 激情影院在线观看 | 久久99国产精品免费 | 日本一区二区免费在线观看 | 天天射天天干天天插 | 久久久久久久久久久免费视频 | 日韩高清不卡一区二区三区 | 四虎影视成人永久免费观看视频 | 蜜臀久久99精品久久久久久网站 | 美女激情影院 | 国产精品丝袜久久久久久久不卡 | 在线a人片免费观看视频 | 中文字幕免费看 | 波多野结衣在线视频一区 | 国产一区精品在线观看 | 国产小视频网站 | 中字幕视频在线永久在线观看免费 | 国产伦精品一区二区三区四区视频 | 狠狠操综合网 | 国产日韩精品在线观看 | av一级一片| 天天爽天天射 | 成人国产一区二区 | 国产在线高清 | 91麻豆文化传媒在线观看 | 中文免费 | 日韩av高清在线观看 | 色综合久久五月天 | 婷婷在线免费视频 | 蜜桃av观看| 91亚洲在线观看 | 国产一区在线不卡 | 精品国产伦一区二区三区免费 | 国产精品久久久久久久久久久不卡 | 国产网红在线观看 | 国产在线精品区 | 婷婷色综合色 | 麻豆系列在线观看 | 久久综合毛片 | 国产九九在线 | 免费日韩一级片 | 亚洲小视频在线 | 久久成人国产精品入口 | 三级黄色网址 | 国产午夜精品一区二区三区 | 黄色软件在线观看 | 永久av免费在线观看 | 91亚洲狠狠婷婷综合久久久 | 探花视频在线观看+在线播放 | 国产亚洲综合性久久久影院 | 亚洲一区二区天堂 | 亚洲japanese制服美女 | 91精彩在线视频 | 特黄特色特刺激视频免费播放 | 久久艹精品 | 久久综合精品国产一区二区三区 | 一区二区三区高清不卡 | 黄色免费网 | 久久精品精品电影网 | 99久久精品国产一区 | 久久精品亚洲一区二区三区观看模式 | 免费男女羞羞的视频网站中文字幕 | 国产高清视频免费在线观看 | 国产成人av网址 | 精品国模一区二区三区 | 久久久久久久久久久久99 | 免费看黄在线网站 | 日日夜夜天天操 | 亚洲黄色在线观看 | 欧美日韩不卡在线视频 | 成人黄色大片在线免费观看 | 日韩精品一区二区三区外面 | 免费在线电影网址大全 | 免费亚洲片 | 五月亚洲综合 | 免费视频国产 | 免费成人结看片 | 日韩av男人的天堂 | 999久久国产精品免费观看网站 | 精品视频久久 | 中文字幕色婷婷在线视频 | 伊人狠狠色丁香婷婷综合 | 午夜精品一区二区三区在线 | 亚洲天堂网在线播放 | 在线日韩| 欧美va天堂va视频va在线 | 亚洲精品国产精品久久99 | 91大神一区二区三区 | 国产视频69 | 五月婷婷深开心 | 久久免费中文视频 | 久久精品第一页 | 成年人在线观看 | 深夜免费福利视频 | 成人免费电影 | 天天射天天干天天操 | 欧美日韩高清一区二区 | 国产精品白丝jk白祙 | 亚洲综合少妇 | 国产一级在线 | 国产护士hd高朝护士1 | 五月婷婷综合激情 | 久久国语 | 亚洲免费精彩视频 | 久久se视频 | 国产精品麻豆91 | 亚洲精品乱码久久久久久蜜桃91 | 日本中文字幕影院 | 51久久夜色精品国产麻豆 | 手机看片 | 欧美一区二视频在线免费观看 | 91天堂影院 | 五月天久久久久久 | 国产专区免费 | 在线色网站 | 婷婷六月综合亚洲 | 亚洲精品视频在线观看免费视频 | 日日夜夜免费精品 | 国产剧情一区二区 | 波多野结衣精品在线 | 国产一区二区在线免费视频 | 91免费黄视频 | 欧美另类高清 videos | 美国av片在线观看 | 婷婷成人亚洲综合国产xv88 | 亚洲国产精品成人va在线观看 | 久久久久麻豆 | 日韩视频中文 | 亚洲激情校园春色 | 在线av资源 | 国产精品激情偷乱一区二区∴ | 欧美午夜理伦三级在线观看 | 国产中文字幕视频 | 懂色av一区二区在线播放 | 九九九在线观看 | 1024久久| 久久国产经典视频 | www.久久视频| 日韩精品在线观看视频 | 日日添夜夜添 | 色在线视频 | 欧美激情在线网站 | 亚洲成年人av | 麻豆播放 | 国产美女搞久久 | 国产自在线观看 | 91精品老司机久久一区啪 | 在线观看视频福利 | 午夜精品久久久久久久久久 | 毛片网站在线观看 | 91一区啪爱嗯打偷拍欧美 | 狠狠狠狠狠操 | 天天干,天天射,天天操,天天摸 | 中文字幕在线看视频国产 | 成人黄色电影在线播放 | 九九视频免费观看视频精品 | 天堂av免费在线 | 中文字幕日韩无 | 欧美在线观看视频免费 | 在线看片日韩 | 99综合电影在线视频 | 欧美一级久久久久 | 久久成人一区二区 | 久久精品一区二区三区国产主播 | 久久伊人五月天 | 91九色免费视频 | av免费黄色 | 国产色在线,com| 亚洲乱码久久久 | 国产一区二区不卡视频 | 欧美黄色高清 | 久久色视频 | 国产成人精品亚洲精品 | 国产成人久久精品 | 亚洲黄色成人网 | 天堂入口网站 | 色停停五月天 | 视频国产在线 | 91亚洲精品国偷拍 | 在线а√天堂中文官网 | 国偷自产视频一区二区久 | 91综合色| 中文字幕乱码一区二区 | 国产精品成人一区 | 亚州人成在线播放 | 日日爱影视 | 国产精品18久久久久久久 | 中文字幕高清免费日韩视频在线 | 亚洲国产精品久久久久久 | av天天色| 国产一区在线免费 | 欧美少妇影院 | 国产精品12 | 伊人亚洲综合网 | 最新日韩视频在线观看 | 国产精品一区专区欧美日韩 | 天天做日日做天天爽视频免费 | 久久婷综合 | 国产精品亚洲片夜色在线 | 国产午夜精品一区二区三区四区 | 99精品视频免费全部在线 | 日b视频在线观看网址 | 国模一二三区 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产免费久久av | se视频网址 | 99国产情侣在线播放 | 中文字幕在线播放日韩 | 日韩天天操 | 日韩毛片一区 | 日韩va亚洲va欧美va久久 | 日韩欧在线 | 日日干美女 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产精品美女久久久久久久久 | 国产无遮挡猛进猛出免费软件 | 91精品国产一区二区三区 | 亚洲日本色 | 97精品超碰一区二区三区 | 久久国产精品免费看 | 久久女同性恋中文字幕 | 一区国产精品 | 综合网在线视频 | 超级碰碰碰视频 | 国产成人一区二区三区久久精品 | 午夜av网站 | 波多野结衣在线播放视频 | 中文在线中文a | 亚洲综合成人在线 | 久久精品网站免费观看 | 国产精品久久久久久久久软件 | 最近高清中文字幕 | 青青河边草免费直播 | 免费在线成人av电影 | 天天艹天天| 在线精品视频在线观看高清 | 91精品国产99久久久久久久 | 国产丝袜一区二区三区 | 狠狠干天天射 | 日韩精品中文字幕一区二区 | 国产在线高清 | 一级免费观看 | 久久国产亚洲视频 | 少妇av片 | 00av视频| 激情五月婷婷综合网 | 久久久久久久久黄色 | 99精品国产在热久久下载 | 96视频免费在线观看 | 国产视频色 | 五月婷婷丁香综合 | 日本久久影视 | 9999免费视频 | 亚洲免费在线播放视频 | 欧美日韩超碰 | 日韩字幕在线 | 亚洲六月丁香色婷婷综合久久 | 美女国产 | 久久久福利 | 日韩三级视频 | 美女视频黄,久久 | 色综合久久88色综合天天 | 国产成人一区二区三区在线观看 | 国内成人av | 久久99精品国产麻豆宅宅 | 午夜三级毛片 | 久久免费精品视频 | 亚洲精品久久久久中文字幕m男 | 美女网站免费福利视频 | 五月婷视频 | 日韩在线一二三区 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 亚洲国产97在线精品一区 | 国产日韩视频在线 | 成人avav | 国产区第一页 | 91精品国产三级a在线观看 | 中文字幕中文字幕中文字幕 | 国产精品永久在线 | 日韩精品视频免费专区在线播放 | 精品欧美一区二区三区久久久 | 亚洲第一中文网 | 五月婷婷六月丁香在线观看 | 色黄久久久久久 | 日本老少交| 青青河边草免费视频 | 91高清视频 | 中文字幕免费国产精品 | 欧美日韩视频网站 | 日韩av一区二区在线播放 | 日韩在线一区二区免费 | 日韩免费播放 | 日本中文字幕一二区观 | 日韩一级网站 | 久久艹在线观看 | 日本中出在线观看 | 久久久久久久久久影院 | 精品女同一区二区三区在线观看 | 97在线资源 | a在线免费| 国产一区二区久久久久 | 在线影视 一区 二区 三区 | 美女国内精品自产拍在线播放 | 在线观看黄| 91成人免费看片 | 免费观看一级成人毛片 | 久久免费精品视频 | 亚洲一区二区精品视频 | 久久三级视频 | 日韩视频免费观看高清完整版在线 | 国产精品一区专区欧美日韩 | 日韩成人免费在线观看 | 毛片www| 久久久久久久久久久久久国产精品 | 99精品黄色 | 狠狠色噜噜狠狠狠合久 | 激情视频在线观看网址 | 欧美久久久 | 日韩精品一区二区三区不卡 | sm免费xx网站 | 中文字幕av在线播放 | 亚洲精品在线播放视频 | 天天干,夜夜操 | 精品视频在线免费观看 | 天天摸夜夜添 | 91人人爱 | 夜添久久精品亚洲国产精品 | 国产精品不卡一区 | 国产一区二区午夜 | 99精品欧美一区二区三区 | 麻豆 videos | 日韩不卡高清 | 爱爱av在线| 欧美精品一区二区免费 | 亚洲精品88欧美一区二区 | 99久久精品免费看国产一区二区三区 | 久草在线视频资源 | 免费观看高清 | 91亚色视频在线观看 | 日韩资源在线 | 欧美色综合天天久久综合精品 | 亚洲人成影院在线 | 日本精品久久久久 | .国产精品成人自产拍在线观看6 | 狠狠色丁香久久婷婷综合_中 | 欧美成人h版在线观看 | 天天干天天玩天天操 | 亚洲国产999 | 国产又黄又爽无遮挡 | 久久久久亚洲国产精品 | 精品999| 成年人免费av | 国产一区二区久久久久 | 成人一区影院 | 免费看十八岁美女 | 久久一区二区三区日韩 | 四虎欧美 | 日韩专区在线 | 日韩精品一区二区三区免费视频观看 | 日韩网| 国产精品入口a级 | 国产一级黄色电影 | 精品亚洲欧美一区 | 在线小视频你懂的 | 日韩精选在线 | 久草在线免费看视频 | 国产麻豆精品久久 | 成年人在线观看 | 在线激情小视频 | 色av婷婷 | 精品一区 在线 | 精品一区电影国产 | 国产色道 | 中文字幕无吗 | 天天曰天天爽 | 国产精品乱码久久久久 | 国产系列在线观看 | 精品久久五月天 | 日本一区二区三区视频在线播放 | 蜜臀av性久久久久蜜臀av | av大全在线观看 | 99国产精品一区二区 | 亚洲精品美女免费 | 免费观看一级成人毛片 | 久久视频精品在线观看 | 伊人中文网 | 婷婷伊人综合亚洲综合网 | 亚洲免费av电影 | 天天操天天色天天射 | 欧美激情综合五月色丁香小说 | 亚洲特级片 | 久久久官网 | 中文字幕中文字幕在线中文字幕三区 | 亚洲永久精品在线观看 | 欧美激情视频在线观看免费 | 麻豆影视在线播放 | www视频免费在线观看 | 正在播放国产精品 | 一区中文字幕电影 | 又黄又刺激的网站 | 国产男女免费完整视频 | 在线观看亚洲国产 | 九九精品在线观看 | 欧美日高清视频 | 国内久久久 | 一本一道久久a久久精品 | 日韩中文字幕第一页 | 在线观看一区 | 日韩在线视频观看免费 | 国产精品视频最多的网站 | 日韩黄色免费电影 | 免费成人在线观看 | 五月婷婷在线观看 | 美女久久久久 | 在线观看av小说 | 日韩一区二区三区在线观看 | 日韩欧美在线视频一区二区三区 | 最新中文字幕在线播放 | 色婷婷丁香 | 免费av片在线 | 国产精品一区二区三区在线 | 色欧美88888久久久久久影院 | 97免费视频在线 | 午夜三级理论 | 婷婷黄色片 | 久久精品激情 | 99精品视频播放 | 亚洲成av人电影 | 99精品国产免费久久久久久下载 | 色综合天天综合网国产成人网 | 久久国产精品免费观看 | 综合天堂av久久久久久久 | 麻豆视频免费在线观看 | 91视频麻豆 | 久久电影网站中文字幕 | 成人黄色国产 | 91麻豆精品一区二区三区 | 婷婷色在线播放 | 欧美另类巨大 | 亚州av网站大全 | 免费在线观看亚洲视频 | 午夜av在线 | 17婷婷久久www | 一本一本久久a久久 | 国语久久 | 青青草视频精品 | 蜜桃麻豆www久久囤产精品 | 亚洲永久精品国产 | 深爱开心激情 | www.玖玖玖 | 亚洲精品日韩av | 丁香av| 韩国av一区二区 | 丰满少妇麻豆av | 亚洲乱码精品久久久 | 97视频网站 | 国产精品字幕 | 国产a高清| av三级在线播放 | 成人av免费网站 | 成人av手机在线 | 国产精品久久久久久高潮 | 国产精品国产三级国产aⅴ无密码 | 4p变态网欧美系列 | 久影院 | 美女久久精品 | 九色一区二区 | 激情五月婷婷综合网 | 久久精品电影 | 女人18片 | 免费观看9x视频网站在线观看 | 果冻av在线| 麻豆超碰 | 91在线视频在线观看 | 久草在线视频新 | 亚洲国产视频a | 中文一区在线观看 | 超碰97国产在线 | 玖玖色在线观看 | 国产精品高清一区二区三区 | 五月开心激情网 | www激情com| 欧美久久久影院 | 手机成人免费视频 | 91人人爱 | 免费下载高清毛片 | 欧美成人一二区 | 成人久久久久久久久久 | 91 在线视频| 99免费国产| 九九有精品 | 99高清视频有精品视频 | 99热最新在线 | 色资源网免费观看视频 | 综合色中文 | 中日韩欧美精彩视频 | 久久不卡电影 | 91九色视频国产 | 欧美美女视频在线观看 | 又黄又爽又无遮挡的视频 | 视频一区二区三区视频 | 中文字幕中文字幕在线中文字幕三区 | 99视频精品全国免费 | 91麻豆精品国产午夜天堂 | 69国产盗摄一区二区三区五区 | 欧美 日韩精品 | 国产在线精 | 精品国产综合区久久久久久 | 久久麻豆视频 | 成人一级黄色片 | 国产色在线观看 | 美女精品久久 | 日韩免费播放 | 欧美精品在线免费 | 久久精品免费电影 | 久久综合加勒比 | 97精品超碰一区二区三区 | 天天操天天射天天插 | 五月婷婷综合在线视频 | 免费观看黄色12片一级视频 | 波多野结衣在线视频一区 | 久久久久久毛片 | 黄色大片日本免费大片 | 麻豆成人小视频 | 久艹在线免费观看 | 欧美另类高清 videos | 91污污视频在线观看 | 超碰免费公开 | 日韩免费在线一区 | 成人av日韩 | 伊人亚洲精品 | 色综合激情久久 | 夜夜爽天天爽 | 不卡的av电影在线观看 | 日韩高清网站 | 久草影视在线观看 | 成人免费网站在线观看 | 国产中文在线视频 | 一级黄色片在线免费观看 | 欧美9999 | 久久国产精品色av免费看 | 久久av在线播放 | 五月香视频在线观看 | 久草网视频 | 天天玩天天操天天射 | 97电影院网 | 97视频精品| 69欧美视频 | 国产一级黄色片免费看 | 欧美一区二区三区四区夜夜大片 | 亚洲国产午夜 | 手机看国产毛片 | 天天操天天操天天操天天操天天操天天操 | 成人av在线直播 | 在线看不卡av| 97精品国产97久久久久久粉红 | 欧美极品xxxx | 国产美女视频一区 | 国产精品成人一区二区 | 中文不卡视频 | 国产精品亚洲a | 91成人网页版| 韩国av永久免费 | 97国产一区 | 在线观看av免费观看 | 99在线精品视频观看 | 午夜成人免费电影 | 九九久久精品 | 高清在线一区 | 日韩黄色免费电影 | 97超碰总站 | 日韩精品在线一区 | 五月婷婷丁香激情 | 久久在线免费视频 | 日韩成人一级大片 | 欧美另类网站 | 久久婷婷一区二区三区 | 91亚·色 | 在线电影播放 | 色综合久久综合 | 日韩,中文字幕 | 97在线影院 | 国产精品99久久久久的智能播放 | 国产麻豆精品久久一二三 | 制服丝袜在线 | 97超碰资源网 | 成人蜜桃网| 国产日韩欧美视频在线观看 | 狠狠色狠狠色终合网 | 天天躁日日躁狠狠躁av中文 | 久久黄色精品视频 | 99视频在线看| 狠狠躁夜夜av | 麻豆视频在线免费观看 | 在线影视 一区 二区 三区 | 天天干天天操av | 亚洲黄色大片 | 久久国产经典 | av在线日韩 | 欧美日韩性生活 | 99视频在线免费 | 超碰97中文 | 欧美日韩国产一区二区在线观看 | 国产精品久久久久久爽爽爽 | 手机av在线网站 | 精品在线观看一区二区 | 欧美 激情 国产 91 在线 | 亚洲国产高清视频 | 麻豆网站免费观看 | 91在线观看黄 | 成人综合日日夜夜 | 午夜电影 电影 | 久久伦理影院 | 99视频免费播放 | 91在线视频精品 | 五月婷婷播播 | 午夜精品久久久久久久久久久久久久 | 成人播放器 | 国产午夜精品一区二区三区 | 在线影院av | 最新婷婷色 | 亚洲黄色在线 | 久久一精品 | 探花视频在线观看+在线播放 | 精品一区二区影视 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 99热这里精品 | 国产精品久久嫩一区二区免费 | 亚州欧美精品 | 日韩在线观看小视频 | 婷婷丁香激情五月 | 久久伊人爱 | 国产精品1区2区3区 久久免费视频7 | 久久久久久久久久久久亚洲 | 天天操天天干天天操天天干 | 日本中文字幕网 | 国产免费美女 | 国产精品18久久久久久久 | 99久久999久久久精玫瑰 | 91精品电影| 国产美腿白丝袜足在线av | 亚洲国产日韩欧美 | 91超碰在线播放 | 91av综合 | 日日干干| 欧美国产视频在线 | av综合网址 | 亚洲激情视频在线 | 久久久久亚洲精品中文字幕 | 久久久精品 一区二区三区 国产99视频在线观看 | 欧美日韩不卡一区二区 | 久久久久久久久久久久久国产精品 | 国产精品美女久久久久久免费 | 日韩一区二区三 | 国产一区二区三区在线免费观看 | 99看视频在线观看 | 国产明星视频三级a三级点| 香蕉视频18 | 亚洲精品国精品久久99热 | 欧美一区二区三区不卡 | 精品婷婷 | 91在线操| 999久久国产精品免费观看网站 | 国产资源免费在线观看 | 欧美精品久久久久久久久老牛影院 | 日本精品一区二区三区在线观看 | 国内免费久久久久久久久久久 | 国产高清视频免费最新在线 | 久久综合欧美精品亚洲一区 | 国产免费av一区二区三区 | 久久久99精品免费观看乱色 | www黄色 | 久草精品在线播放 | 国产精品一区二区av麻豆 | www.夜夜夜| 亚洲成色 | 欧美日韩不卡一区二区 | 激情综合色综合久久 | 亚洲国产精品人久久电影 | 国产在线一线 | 韩日三级在线 | 日本二区三区在线 | 亚洲精品乱码久久久久久久久久 | 日韩欧美有码在线 | 中文字幕二区在线观看 | 日本公乱妇视频 | 黄色片亚洲 | 天堂在线视频中文网 | 久草在线视频网站 | 亚洲天天在线日亚洲洲精 | 久久成人高清 | 99精品视频中文字幕 | 97在线超碰 | 色综合天天综合网国产成人网 | 国产精品一区二区三区四 | 欧美黄色免费 | 日韩av一区二区在线 | 亚洲精品久久久久www | 一区二区三区四区五区在线 | 久久久久久久久久久久久影院 | 黄色www| 97视频人人 | 日韩欧美国产视频 | 91视视频在线直接观看在线看网页在线看 | 91免费视频黄 | 亚洲天堂精品视频在线观看 | 久久久国产精华液 | 中文字幕av日韩 | 91精品啪| 一级一级一片免费 | 国产精品一区二区久久久 | 久久久久中文字幕 | 亚洲电影久久久 | 免费网站色 | 日本精品视频一区二区 | 久久久久久久免费观看 | 一区二区三区中文字幕在线观看 | 成人免费大片黄在线播放 | 亚洲 欧洲 国产 日本 综合 | 日韩欧美综合精品 | 亚洲国产中文字幕在线 | 久久久精品视频成人 | .国产精品成人自产拍在线观看6 | 亚洲国产精品一区二区久久,亚洲午夜 | 色综合久久综合中文综合网 | 在线观看亚洲国产 | 日韩丝袜| 激情五月婷婷综合 | 综合在线观看色 | 成年人免费在线观看网站 | 91完整版 | 久久一线| 亚洲黄a| 日韩免费高清在线观看 | 97在线公开视频 | 天天操天天插 | 亚洲最新合集 | www国产亚洲 | 日韩中文字幕在线观看 | 99产精品成人啪免费网站 | 国产很黄很色的视频 | 欧美专区国产专区 | 久久综合免费视频 | 综合网久久 | 91精品一| www.天天射| 久久a国产 | 成人欧美一区二区三区在线观看 | 国产成人精品999在线观看 | 狠狠狠色丁香婷婷综合激情 | 97在线视 | 亚洲黄色av网址 | 免费成人av在线 | 日韩一级精品 | 88av视频 | 免费看的av片 | 精品视频www | 日韩va亚洲va欧美va久久 | 成年人免费在线观看网站 | 日本最新高清不卡中文字幕 | 国产精品一区二区在线播放 | 视频一区视频二区在线观看 | 在线免费观看视频你懂的 | 国产精品精品国产色婷婷 | a级一a一级在线观看 | 毛片永久新网址首页 | 国产在线国偷精品产拍 | 国产精品美女999 | 欧美成人精品xxx | 精品国产一区二区三区久久 | 欧美日韩xx | av福利在线导航 | 日韩综合精品 | 97免费在线观看视频 | 欧美孕交vivoestv另类 | 丝袜美腿亚洲 | 精品国产伦一区二区三区免费 | 日日干视频| 九九视频网站 | 久久av影视 | 中文字幕在线免费看线人 | 国产免费又黄又爽 | 久久久精品久久日韩一区综合 | 国产一线在线 | 国产成人精品国内自产拍免费看 | 国产精品久久久久久久毛片 | 久草视频中文 | 天天搞夜夜骑 | 波多野结衣电影久久 | 插综合网 | 国产裸体无遮挡 | 丁五月婷婷| 中文字幕二区三区 | 久久久在线视频 | 国产一区二区三精品久久久无广告 | 久久精品中文视频 | 高清中文字幕 | 四虎成人精品永久免费av | 欧美成人黄色片 | 精品视频区 | 中国一区二区视频 | 欧美久久九九 | 在线高清av | 91黄视频在线观看 | 天天人人综合 | 91精品国产成人www | 婷婷色综合色 | 综合网久久 | 91色蜜桃| 色婷婷天天干 | 亚洲精品自拍 | 日韩在线大片 | 久久久久久久免费 | 国产在线观看91 | 成人久久 | 超碰个人在线 | 国产成人香蕉 | 久久五月天色综合 | 狠狠操狠狠干2017 | 国产成人一二三 | 婷婷在线资源 | 国产91在线观 | 久久爱资源网 | 欧美日韩国产精品一区 | 中文字幕日韩一区二区三区不卡 | 美女精品久久 | 天天做天天爱天天爽综合网 | 亚洲人人爱| 美女久久久久久久 | 超碰最新网址 | 国产精品久久久久久久7电影 | 久久久久国产精品一区 | 欧美性色综合网 | 亚洲精品综合在线观看 | 亚洲成av人影片在线观看 | 国产手机在线视频 | 国产在线播放一区二区 | 国产精品扒开做爽爽的视频 | 深爱激情亚洲 | 正在播放国产一区 | 国内精品久久久久影院日本资源 | 国产一区二区精 |