資源簡(jiǎn)介
用C#實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的處理二維點(diǎn),線,圓弧,向量的幾何類
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
namespace?Geo2D
{
????public?static?class?m_Math
????{
????????//常數(shù)π
????????public?const?Double?Pi?=?3.1415926535;
????????//常數(shù)e
????????public?const?Double?E?=?2.7182818284;
????????//計(jì)算精度
????????public?const?Double?_precision?=?0.00001;
????????///?
????????///?牛頓迭代法求平方根
????????///?
????????///?被開方數(shù)
????????///?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;
????????}
????????///?
????????///?將角度轉(zhuǎn)化為對(duì)應(yīng)的弧度
????????///?
????????///?角度值
????????///?radiand的角度值
????????public?static?Double?RadianToAngle(Double?radian)
????????{
????????????return?(180.0?*?radian)?/?m_Math.Pi;
????????}
????????///?
????????///?將弧度轉(zhuǎn)化為對(duì)應(yīng)的角度
????????///?
????????///?
????????///?angle的弧度值
????????public?static?Double?AngleToRadian(Double?angle)
????????{
????????????return?(m_Math.Pi?*?angle)?/?180.0;
????????}
????}
????///?
????///?二維點(diǎn)
????///?
????public?class?Point2D
????{
????????public?Point2D()?{?}
????????///?
????????///?二維點(diǎn)的坐標(biāo)值
????????///?
????????///?x坐標(biāo)值
????????///?y坐標(biāo)值
????????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;
????????????}
????????}
????????///?
????????///?求本點(diǎn)到參數(shù)點(diǎn)的歐氏距離
????????///?
????????///?參數(shù)點(diǎn)
????????///?本點(diǎn)到參數(shù)點(diǎn)的歐氏距離
????????public?Double?GetDistanceTo(Point2D?p)
????????{
????????????Double?dx?=?this.X?-?p.X;
????????????Double?dy?=?this.Y?-?p.Y;
????????????return?Math.Sqrt(dx?*?dx?+?dy?*?dy);
????????}
????????///?
????????///?生成以本點(diǎn)為起點(diǎn)?以參數(shù)點(diǎn)為終止點(diǎn)的二維向量
????????///?
????????///?參數(shù)點(diǎn)
????????///?
????????public?Vect
評(píng)論
共有 條評(píng)論