1. 程式人生 > >C#已知起點座標、角度、長度求終點座標(三角函式)

C#已知起點座標、角度、長度求終點座標(三角函式)

在一個CAD繪圖工具開發過程中需要根據起點座標、角度、長度求終點座標,作為一個數學渣來說,遇到這個問題真的感覺非常對不起初中數學老師,重新撿起三角函式學了兩天,當然,最後還是沒學太明白,但是還是把這個方法寫出來了,真的太簡單了,這種初級的數學知識都不會,我真的感覺很羞愧,想想還是記錄一下吧,給後面的數學渣們留點參考。

/// <summary>
        /// 通過三角函式求終點座標
        /// </summary>
        /// <param name="angle">角度</param>
        /// <param name="StartPoint">起點</param>
        /// <param name="distance">距離</param>
        /// <returns>終點座標</returns>
        public static double[] GetEndPointByTrigonometric(double angle, double[] StartPoint, double distance)
        {
            double[] EndPoint = new double[3];

            //角度轉弧度
            var radian = (angle * Math.PI) / 180;

            //計算新座標 r 就是兩者的距離
            EndPoint[0] = StartPoint[0] + distance * Math.Cos(radian);
            EndPoint[1] = StartPoint[1] + distance * Math.Sin(radian);
            EndPoint[2] = 0;

            return EndPoint;
        }