• 大小: 23KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C#
  • 标签: C#  

资源简介

用C#实现的一个简单的处理二维点,线,圆弧,向量的几何类

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;

namespace Geo2D
{
    public static class m_Math
    {
        //常数π
        public const Double Pi = 3.1415926535;
        //常数e
        public const Double E = 2.7182818284;
        //计算精度
        public const Double _precision = 0.00001;

        /// 
        /// 牛顿迭代法求平方根
        /// 

        /// 被开方数
        /// n的平方根
        public static Double sqrt(Double n)
        {
            double result = 0.0 delta = 0.0;
            double x = 0.618 * n;
            do
            {
                result = 0.5 * (x + (n / x));
                delta = Math.Abs(x - result);
                x = result;
            } while (delta > m_Math._precision);
            return result;
        }
        /// 
        /// 将角度转化为对应的弧度
        /// 

        /// 角度值
        /// radiand的角度值
        public static Double RadianToAngle(Double radian)
        {
            return (180.0 * radian) / m_Math.Pi;
        }
        /// 
        /// 将弧度转化为对应的角度
        /// 

        /// 
        /// angle的弧度值
        public static Double AngleToRadian(Double angle)
        {
            return (m_Math.Pi * angle) / 180.0;
        }
    }
    /// 
    /// 二维点
    /// 

    public class Point2D
    {
        public Point2D() { }
        /// 
        /// 二维点的坐标值
        /// 

        /// x坐标值
        /// y坐标值
        public Point2D(Double xDouble y)
        {
            this.X = x;
            this.Y = y;
        }

        /// 
        /// X coordinate figure
        /// 

        private Double _X;

        /// 
        /// Y coordinate figure
        /// 

        private Double _Y;

        public Double X
        {
            get
            {
                return this._X;
            }

            set
            {
                this._X = value;
            }
        }

        public Double Y
        {
            get
            {
                return this._Y;
            }

            set
            {
                this._Y = value;
            }
        }
        /// 
        /// 求本点到参数点的欧氏距离
        /// 

        /// 参数点
        /// 本点到参数点的欧氏距离
        public Double GetDistanceTo(Point2D p)
        {
            Double dx = this.X - p.X;
            Double dy = this.Y - p.Y;
            return Math.Sqrt(dx * dx + dy * dy);
        }
        /// 
        /// 生成以本点为起点 以参数点为终止点的二维向量
        /// 

        /// 参数点
        /// 
        public Vect

评论

共有 条评论