24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1248  |  回复: 16
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

woxiangfei

木虫 (文坛精英)

[交流] 【求助】50个金币求一特小程序

请那位高手给编个小程序,就是计算一个三角形中点,即:已知三角形的三个顶点坐标,求三角形中的到这三点的距离相等的点的坐标。兄弟急用呀。

[ Last edited by csfn on 2008-12-29 at 20:19 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitian88

铜虫 (小有名气)

呵呵,这个简单啊!!!
到处都有的
12楼2008-01-09 14:23:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 17 个回答

alwens

铁杆木虫 (正式写手)

老木虫

不支持上传,告诉我邮箱。

[ Last edited by alwens on 2008-1-7 at 14:25 ]
万里夕阳锦背高 翻身犹恨东洋小 太公怎钓?
2楼2008-01-07 14:10:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alwens

铁杆木虫 (正式写手)

老木虫

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
csfn(金币+50,VIP+0):应楼主的要求奖励,希望继续提供帮助
一般的思路是:
1、先判断三点能否构成一个圆,具体来说就是看其中一点是否在另外两点连成的直线上,三点共线的话就输出“error”;
2、如果三点不共线,接下来就是求圆心,即三点构成的三角形的其中两边的垂直平分线交点;
3、最后随便找一点与圆心即可求出半径。

    实际上用两条弦的垂直平分线的交点确定圆心的方法并不好,理由如下:
假设现在假设三点为(x1,y1),(x2,y2),(x3,y3),求它们的中垂线要使用的点斜式,这样一来,要考虑的情况比较多:
1.(x1,y1),(x2,y2)连线和(x2,y2),(x3,y3)连线的斜率为0和无穷大都要考虑,二者组合就是4种,再加上某一连线斜率为0或无穷大,而另一斜线斜率不为0和无穷大,考虑的情况更多了。

     一个更为简单的方法是首先判断三点是否一线,这里分为两种情况:

1.三点连成的直线没有斜率,判断条件(y1==y2)&&(y2==y3)

2.判断任意两点连成的直线斜率是否相等。

3.解方程组,设圆心坐标为(x,y)

圆心到任意两点的距离相等,由此求出x,y的表达式,代入程序。

4.求出圆心,半径迎刃而解。

   
    下面是我的源程序,在vc6.0编译通过。

#include
#include

int main()
{
    int x1,y1,x3,y3;
    double a,b,c,d,e,f;
    double r,k1,k2,x,y,x2,y2;
    cout<<"请输入x1,y1,x2,y2,x3,y3"<     cin>>x1>>y1>>x2>>y2>>x3>>y3;
    if((y1==y2)&&(y2==y3))
{
    cout<<"三点不构成圆!"<     return 0;
}
    if((y1!=y2)&&(y2!=y3))
{
    k1=(x2-x1)/(y2-y1);
    k2=(x3-x2)/(y3-y2);
}
    if(k1==k2)
{
    cout<<"三点不构成圆!"<     return 0;
}
    a=2*(x2-x1);
    b=2*(y2-y1);
    c=x2*x2+y2*y2-x1*x1-y1*y1;
    d=2*(x3-x2);
    e=2*(y3-y2);
    f=x3*x3+y3*y3-x2*x2-y2*y2;
    x=(b*f-e*c)/(b*d-e*a);
    y=(d*c-a*f)/(b*d-e*a);
    cout<<"圆心为("<"<     r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
    cout<<"半径为"<     return 0;
}





引用地址:http://blog.programfan.com/trackback.asp?id=4540

[ Last edited by alwens on 2008-1-7 at 14:36 ]
万里夕阳锦背高 翻身犹恨东洋小 太公怎钓?
3楼2008-01-07 14:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyy816

至尊木虫 (著名写手)


csfn(金币+1,VIP+0):thanks,欢迎提供帮助~
另外一个供参考思路:
1.判断是否是三角形
2.写出任意两边角平分线方程,交点就是圆心座标,交点到任意一边距离就是半径
4楼2008-01-07 15:59:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 各位老师好,我的一志愿为北京科技大学085601材料专硕 +8 Koxui 2026-03-28 8/400 2026-03-29 09:50 by laoshidan
[考研] 279求调剂 +4 蝶舞轻绕 2026-03-29 4/200 2026-03-29 09:45 by laoshidan
[考研] 297求调剂 +7 田洪有 2026-03-26 7/350 2026-03-29 09:19 by lbsjt
[考研] 085600 材料与化工 329分求调剂 +11 Mr. Z 2026-03-25 11/550 2026-03-29 08:14 by 无际的草原
[考研] 调剂考研 +3 王杰一 2026-03-29 3/150 2026-03-29 08:09 by fmesaito
[考研] 321求调剂 +7 璞玉~~ 2026-03-25 8/400 2026-03-29 06:41 by 544594351
[考研] 2026年华南师范大学欢迎化学,化工,生物,生医工等专业优秀学子加入! +3 llss0711 2026-03-28 5/250 2026-03-29 00:23 by MRMFYTL
[考研] 数一英一271专硕(085401)求调剂,可跨 +7 前行必有光 2026-03-28 8/400 2026-03-28 23:22 by 小木虫tim
[考研] 学硕274求调剂 +9 Li李鱼 2026-03-26 9/450 2026-03-28 21:42 by bymhappy
[考研] 求调剂 +3 QiMing7 2026-03-25 4/200 2026-03-28 14:30 by QiMing7
[考研] 070300求调剂306分 +4 26要上岸 2026-03-27 4/200 2026-03-28 13:06 by 唐沐儿
[考研] 085701环境工程,267求调剂 +16 minht 2026-03-26 16/800 2026-03-28 12:16 by zllcz
[论文投稿] Journal of Mechanical Science and Technology +3 Russ_ss 2026-03-25 5/250 2026-03-27 10:49 by 陆小果画大饼
[考研] 生物技术与工程 +3 1294608413 2026-03-25 4/200 2026-03-25 18:02 by 1294608413
[考研] 0854电子信息求调剂 +7 α____ 2026-03-22 9/450 2026-03-25 13:37 by α____
[考研] 347求调剂 +4 L when 2026-03-25 4/200 2026-03-25 13:37 by cocolv
[考研] 0854人工智能方向招收调剂 +4 章小鱼567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
[考研] 086003食品工程求调剂 +6 淼淼111 2026-03-24 6/300 2026-03-25 10:29 by 3Strings
[考研] 生物学学硕求调剂 +7 小羊睡着了? 2026-03-23 10/500 2026-03-25 02:24 by 清风拂扬。 m
[考研] 石河子大学(211、双一流)硕博研究生长期招生公告 +3 李子目 2026-03-22 3/150 2026-03-22 21:01 by 怎么释怀
信息提示
请填处理意见