24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1238  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿211 初试270分 求调剂 +8 谷雨上岸 2026-03-23 9/450 2026-03-29 01:00 by 我是小康
[考研] 学硕274求调剂 +9 Li李鱼 2026-03-26 9/450 2026-03-28 21:42 by bymhappy
[考研] 315求调剂 +4 akie... 2026-03-28 5/250 2026-03-28 21:05 by zhq0425
[考研] 食品工程专硕一志愿中海洋309求调剂 +4 小张zxy张 2026-03-26 8/400 2026-03-28 19:25 by lbsjt
[考研] 压国家一区线,求导师收留,有恩必谢! +7 迷人的哈哈 2026-03-28 7/350 2026-03-28 16:47 by 催化大白
[考研] 0703化学求调剂 +9 奶油草莓. 2026-03-22 10/500 2026-03-28 13:30 by 唐沐儿
[考研] 求调剂 +6 芦lty 2026-03-25 7/350 2026-03-28 13:13 by 唐沐儿
[考研] 308求调剂 +7 墨墨漠 2026-03-27 7/350 2026-03-28 07:43 by 热情沙漠
[考博] 26申博 +3 加油冲啊! 2026-03-26 3/150 2026-03-27 15:38 by cls512
[考研] 279 分 求调剂 +4 睡个好觉_16 2026-03-24 4/200 2026-03-27 15:05 by 醉在风里
[考研] 材料学硕,求调剂 6+5 糖葫芦888ll 2026-03-22 10/500 2026-03-27 08:18 by hypershenger
[考研] 343求调剂 +4 赠我一本书 2026-03-23 4/200 2026-03-27 00:40 by wxiongid
[考研] 26考研-291分-厦门大学(085601)-柔性电子学院材料工程专业求调剂 +3 min3 2026-03-24 4/200 2026-03-25 18:22 by xcjcqu
[考研] B区考研调剂 +4 yqdszhdap- 2026-03-22 5/250 2026-03-25 08:51 by baoball
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[考博] 26申博自荐 +3 whh869393 2026-03-24 3/150 2026-03-24 09:55 by 21018060
[考研] 求老师收我 +3 zzh16938784 2026-03-23 3/150 2026-03-23 12:56 by ztnimte
[考研] 070300,一志愿北航320求调剂 +3 Jerry0216 2026-03-22 5/250 2026-03-23 09:16 by 。。堂堂
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
信息提示
请填处理意见