`
xumingrencai
  • 浏览: 1181701 次
文章分类
社区版块
存档分类
最新评论

求过圆心直线与圆的两个交点

 
阅读更多

主要是注意所使用的数据类型。

之前用的是float,出现了一些意外,而且花费了我不少时间来反复验证、推导,

做了很多的无用功,而且,反复推导得出来的计算步骤并没有什么不牢靠的地方。

然后计算得到的结果却是让人如此之不省心,梗的我闷得慌。

今天上午发来了一贴,多位朋友各抒己见,

总算是让我发现了一些不足的地方,首当其冲的是一个变量弄错了,

导致大批的计算失准。

后来修正了这个bug以后,还是会出现计算不精确的地方。

再后来便将涉及的所有成员变量由float 纠正为 double 类型,

计算精度果然得到了提高,失准的地方再次被干掉。

这次给自己的教训就是:

涉及到精度比较高的数值运算的时候,还是得统统用 double。

之前还以为 float 已经比较不错,能够满足基本的需求了,

经过这次我总算是懂了,double的存在离我并不遥远。

这个问题堵了我比较久了,大概也有快10个月了,当时没解决就规避之没去用了,

今天能够解决这个遗留已久的问题,真是让人心情愉快!

下面贴出 Objective-C 和 Java 的相关代码:

Objective-C 部分(核心代码摘录)


Java 部分(部件齐全,能直接拿来跑的)

*****************************************************

*****************************************************

*****************************************************

分享到:
评论

相关推荐

    直线与圆的交点的VBA算法

    已知直线上两个点 A、B的坐标,圆心O的坐标,圆的半径R,求直线与圆的交点C和D的VBA算法。

    C++判断两圆是否相交并输出结果

    (1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法; (2)定义一个圆形类,其属性包括圆心和半径;...(3)创建两个圆形对象,提示用户输入圆心坐标和半径,判断两个圆是否相交,并输出结果。

    VB编程大赛:求圆弧相交点代码

    通常圆有2个交点,分别用红蓝两色点表示。无效交点用灰色点表示,数据也用灰色显示。如无交点也有显示。 点击“重 新 选 缺按钮,将清除刚才的结果,可以重新选取,在运行中,下部的信息栏中显示运行状态并提示下...

    ACM 计算几何模板

    5.5计算直线与圆的交点 20 5.6计算两个圆的交点 20 6. 球面 21 6.0给出地球经度纬度,计算圆心角 21 6.1已知经纬度,计算地球上两点直线距离 21 6.2已知经纬度,计算地球上两点球面距离 21 7. 三维几何的若干模板 22...

    圆的方程数学必修.doc

    运用代数方法研究点与圆、直线与圆、圆与圆的位置关系,了解空间直角坐标系,以便为今后的坐标法研究空间的几何对象奠定基础,这些知识是进一步学习圆锥曲线方程、导数和微积分的基础,在这个过程中进一步体会数形结合的...

    UG实验报告(2).doc

    以坐标(60,25)为起点画一条角度为180度的直线,再 " "画一个半径为8的圆弧分别与这条直线和以坐标原点为圆心直径为28的圆相切:以 " "坐标(11,59.5)为圆心画两个半径分别为7、14的圆;以坐标(60,53)为起点 ...

    javaCAD(简单二维画形的画图软件)源代码

    导入Eclipse中..运行main包中的MainFrame.java ...1 可以精确定位到特殊点并可以通过特殊点来修改图形的形状: 直线的两端,中心,圆的圆心,圆周上四个正交点,五边五角形的五个端点。 四、其它 1 图形文件保存,读取。

    GSP5.exe

    ①用“以圆心与半径作圆”的方法作两个相离的圆,可以给它们设置不同的颜色; ②在静止圆的外部适当位置画一个点A,在其内部适当位置画一个点B; ③先选运动圆的圆心,再选A点,选择“编辑”菜单的“操作类按钮”项...

    易语言GDI内存画板_2.5

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度}。新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()”。内存画板增加“画圆弧路径文字...

    GDI内存画板3.0例程源码

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度}。新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()”。内存画板增加“画圆弧路径文字...

    cad快捷键大全

    MID 捕捉圆弧或线的中点 INT 线、圆、圆弧的交点 APPINT 两个对象的外观交点 EXT 线、圆弧、圆的延伸线 CEN 圆弧、圆心的圆心 QUA 圆弧或圆的象限点 TAN 圆弧或圆的限象点 PER 线、圆弧、圆的重足 PAR 直线的平行线 ...

    ks2.9完整版线切割编程软件

    6、支持点捕捉,可捕捉圆心、直线中点、圆及圆弧象限点、捕捉交点。 2.35版增加了设置“默认代码路径”的功能,这样就可以将代码保存在一个默认的路径里,方便于同线切割控制系统的协作,设置内容见菜单“视图——>...

    ruler:简单但强大的几何工具!

    Number - 数值类型,表示坐标值、距离或索引Point - 表示一个点,其中 x 和 y 属性分别表示横坐标和纵坐标Line - 表示一条直线,给出过该直线的两个点 (x1, y1) 和 (x2, y2),以及 dx = x2 - x1 和 dy = y2 - y1Arc ...

    QT 绘图函数

    圆心和半径定义一个圆,颜色从焦点开始扩散到周围,焦点可以是圆心也可以是圆内的任意一个点。 圆锥渐变由圆心(xc,yc)和一个角度a定义。颜色从圆心开始像表的秒针一样扩散。 我们已经提到了QPainter的画笔,刷子和...

    GDI内存画板_2.2-易语言

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()” 内存画板增加“画圆弧路径文字()...

    易语言-易语言GDI内存画板_2.5

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()” 内存画板增加“画圆弧路径文字()...

    GDI内存画板_2.5-易语言

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()” 内存画板增加“画圆弧路径文字()...

    易语言-GDI内存画板3.0例程

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()” 内存画板增加“画圆弧路径文字()...

    GDI内存画板_3.0-易语言

    _计算直线的终点() 需要提供{起点,长度,角度},计算出终点,可以当做计算圆上某一点{圆心,半径,角度} 新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()” 内存画板增加“画圆弧路径文字()...

Global site tag (gtag.js) - Google Analytics