24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1285  |  回复: 16
当前主题已经存档。

woxiangfei

木虫 (文坛精英)

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

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

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

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的回帖

woxiangfei

木虫 (文坛精英)

5楼2008-01-08 22:29:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woxiangfei

木虫 (文坛精英)

如果是三维的呢,怎么找它的中点呀
6楼2008-01-08 22:31:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woxiangfei

木虫 (文坛精英)

alwens,您好,请编一个能直接用的,我不会编程呀,最好是坐标是三维的,也就是说有x,y,z,先谢谢您了
7楼2008-01-08 22:37:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woxiangfei

木虫 (文坛精英)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
csfn(金币-49,VIP+0):应你的要求,给alwens50个金币
csfn(金币-1,VIP+0):"请版主先给alwens50个金币,谢谢啦,"
请版主先给alwens50个金币,谢谢啦,
8楼2008-01-09 12:34:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woxiangfei

木虫 (文坛精英)

alwens,您好,请您编一个三维的好吗,或二维的也行,请您发到我的邮箱好吗?我的邮箱是:fengzhongyundong@yahoo.com.cn     先谢谢您了
9楼2008-01-09 12:36:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woxiangfei

木虫 (文坛精英)

alwens ,您好,我找到了一个编三维的思路,您看看好吗?A:(x0,y0,z0),Bx1,y1,z1),Cx2,y2,z2)
先分别求出以AB、AC为法向量,过AB、AC中点的两个平面方程:

(x1-x0)(x-(x1-x0)/2)+(y1-y0)(y-(y1-y0)/2)+(z1-z0)(z-(z1-z0)/2)=0       (1)
(x2-x0)(x-(x2-x0)/2)+(y2-y0)(y-(y2-y0)/2)+(z2-z0)(z-(z2-z0)/2)=0       (2)

                            ¦     i                   j                     k         ¦
ABC的法向量n=   ¦(x1-x0)     (y1-y0)         (z1-z0)   ¦
                            ¦(x2-x0)     (y2-y0)         (z2-z0)   ¦

ABC的平面方程为   n   *   (x-x0,   y-y0,   z-z0)T=0                                                         (3)

解方程组可得出圆心的三维坐标。
10楼2008-01-09 12:56:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 woxiangfei 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +4 光伏爱好者 2026-05-17 7/350 2026-05-24 10:20 by 光伏爱好者
[基金申请] 西安交大新媒学院副院长用撤稿论文结题 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:16 by kudofaye
[教师之家] 论文撤稿了 +3 bjvtcliu 2026-05-24 5/250 2026-05-24 10:06 by Equinoxhua
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +4 zju2000 2026-05-21 5/250 2026-05-24 09:35 by songwz
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 9/450 2026-05-24 08:47 by bjvtcliu
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 hvkbtfonbv 2026-05-23 3/150 2026-05-24 08:01 by 9ps9vgkqva
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 pmo95bazuy 2026-05-23 7/350 2026-05-24 06:35 by fpo5ljpv91
[基金申请] 河北省自然科学基金 +5 Peterchao 2026-05-18 7/350 2026-05-23 16:57 by articlefan
[基金申请] 揭秘青基评审内幕:几个A才能顺利中标 +3 国自然国社科中 2026-05-23 4/200 2026-05-23 15:37 by 2000zf36392
[基金申请] 青B发送上会通知了吗 +5 chemBioBro 2026-05-22 7/350 2026-05-23 12:35 by zhuifengzhy
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 13/650 2026-05-21 20:15 by 呀呀好傻
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然评分 +4 无名者登山 2026-05-20 5/250 2026-05-21 16:35 by swuq
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
信息提示
请填处理意见