已知圆上3点求圆心和半径

转载:https://www.cnblogs.com/MaZai/p/10280674.html

点击查看代码
        void Calculate_cicular(Point px1, Point px2, Point px3,out Point center,out double r)
        {
            int x1, y1, x2, y2, x3, y3;
            int a, b, c, g, e, f;

            x1 = px1.X;//定义点的坐标
            y1 = px1.Y;
            x2 = px2.X;
            y2 = px2.Y;
            x3 = px3.X;
            y3 = px3.Y;

            e = 2 * (x2 - x1);
            f = 2 * (y2 - y1);
            g = x2 * x2 - x1 * x1 + y2 * y2 - y1 * y1;

            a = 2 * (x3 - x2);
            b = 2 * (y3 - y2);
            c = x3 * x3 - x2 * x2 + y3 * y3 - y2 * y2;

             center = new Point();
            center.X = (g * b - c * f) / (e * b - a * f);
            center.Y = (a * g - c * e) / (a * f - b * e);

             r = Math.Sqrt((center.X - x1) * (center.X - x1) + (center.Y - y1) * (center.Y - y1));

        }

posted @   我本无心怎给你情  阅读(152)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示