【进化版】三角形外心坐标和外接圆半径

自己重写了一个更具有针对性的计算模板!!

欧耶~~~

功能:已知一个三角形的三个顶点的坐标,求他的外心及外接圆半径

#include <stdio.h>
#include <math.h>

typedef struct
{
	double x;
	double y;
}myPoint;

double distance(myPoint A,myPoint B)
{
	double dis = (A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y);

	return sqrt(dis);
}

void   miniCircle(myPoint   *p,myPoint&   center,double&   radius)
{
	double   Xmove=p[0].x;
	double   Ymove=p[0].y;
	p[1].x=p[1].x-p[0].x;
	p[1].y=p[1].y-p[0].y;
	p[2].x=p[2].x-p[0].x;
	p[2].y=p[2].y-p[0].y;
	p[0].x=0;
	p[0].y=0;
	int  index;

	double   x1=p[1].x,y1=p[1].y,x2=p[2].x,y2=p[2].y;
	double   m=2.0*(x1*y2-y1*x2);
	center.x=(x1*x1*y2-x2*x2*y1+y1*y2*(y1-y2))/m;
	center.y=(x1*x2*(x2-x1)-y1*y1*x2+x1*y2*y2)/m;
	radius=distance(center,p[0]);
	center.x+=Xmove;
	center.y+=Ymove;     

}

int main()
{
	myPoint point[1000],center;
	double  radius;

	printf("请依次输入处理点坐标:\n");

	//输入点,放入p[]数组
	int i;
	for(i=0;i<3;i++)
		scanf("%lf%lf",&point[i].x,&point[i].y);

	miniCircle(point,center,radius);

	printf("三角形外心坐标为:(%.2lf,%.2lf)\n",center.x,center.y);
	printf("三角形外接圆半径为:%.2lf\n",radius);

	return 0;
}

顺便附上C++中常用函数的函数名:

三角函数和反三角函数 
cos(),sin(),tan(),acos(),asin(),atan(),atan2() 

双曲函数: 
cosh(),sinh(),tanh() 

指数对数函数: 
exp(),frexp(),ldexp(),log(),log10(),modf() 

幂函数和平方根函数: 
pow(),sqrt() 

绝对值,上下限值,模函数: 
ceil(),fabs(),floor(),fmod()

时间: 2024-10-02 22:29:59

【进化版】三角形外心坐标和外接圆半径的相关文章

【c语言】三角形外心坐标

新学期第一个算法大作业就好坑爹... 要计算三角形外接圆...做模板用吧 # include<stdio.h> # include<math.h> double X1,Y1,X2,Y2,X3,Y3,x4,y4,length1,length2,length3; int a; void myprintf(double x1,double y1,double x2,double y2,double x3,double y3) { char ch; printf("输入第一个点的

百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome_javascript技巧

之前发布过这样的代码,其实问题不大,但这里的版本主要是增加一些功能,回调执行服务器端的方法,对于asp.net开发或ajax开发都是非常有价值的改进.先看下效果图: 原有百度的Popup.js在有 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g

“进化版”僵尸粉缠上微博

最近一个月,很多微博用户发现,他们增加了数量不等的"沉默粉丝",这些粉丝的特点是只关注不发言,不少 网友抱怨"删除这些木头一样的'僵尸粉'太累,不删除又觉得微博人气太虚假让人不舒服".新浪微博公关部相关人士表示,对于此类恶意注册的"僵尸粉"微博用户,将给予严厉打击. 没花钱也被"僵尸粉"缠上 近日,不少普通新浪微博用户反映,自己没有花钱,但也成为"僵尸粉"追捧的对象.网友"宅蘋菓"发帖说

NC将于18日办《剑灵》体验会提供进化版试玩

(编译/小熙)韩媒报道,韩国三大作中,最神秘的作品,出自NCsoft门下的<剑灵>,将在本月18日举办体验Party.该Party命名为"The Soul Party". 事实上,NCsoft公司,8日在通过官方发表声明,称12月将有一个意外的惊喜带给玩家.并于今天凌晨2点就发表了< 12月18日灵魂宴会>(The Soul Party)字样的帖子. NC官方认定的"英雄"和"大侠"级别会员才有申请Party的资格,并将通

夜息:网站速度影响着我们的SEO效果进化版

看过国平博客的人应该知道这篇文章: 网页加载速度是如何影响SEO效果的. 俗话说,耳听为虚,眼见为实.而且国平所接触的数据是阿里巴巴的数据,也很难在博文中分享出来,大企业嘛,你也懂的.于是我在几个月前就开始着手处理数据了,3个月的数据汇总,到现在还是能看得出点眉目了.虽然结论和国平老师说的没差别,但是这些东西毕竟是我自己的总结出来的,而且可以最终结合流量的数据来分析,相信如果你在一家大中型网站做SEO,BOSS们可不会管你的SEO怎么样做,只要最后有流量,比什么都强,用本文的数据,或者你自己去整

JAVA求两直线交点和三角形内外心的方法_java

一.求两直线交点 复制代码 代码如下: class Point {    double x;    double y;     public Point() {        this.x = 0;        this.y = 0;    }}class Line {    Point a;    Point b;     public Line() {        this.a = new Point();        this.b = new Point();    }    //求

求两直线交点和三角形内外心

一.求两直线交点 class Point { double x; double y; public Point() { this.x = 0; this.y = 0; } } class Line { Point a; Point b; public Line() { this.a = new Point(); this.b = new Point(); } //求两直线的交点,斜率相同的话res=u.a Point intersection(Line u,Line v){ Point res

POJ 1329 求三角形外接圆

题意给出三角形三点坐标让求出该三角形的外接圆标准方程和一般方程. 这题输出很恶心,注意0.000的时候要输出并且前面的符号为" + ",那么外接圆的半径r通过S=(a*b*c)/(4*r)可以求出r=(a*b*c)/(4*S),然后外心坐标是三边垂直平分线的交点,求出两个垂直平分线方程然后可以得出交点坐标. #include <iostream> #include<cstdio> #include<cstring> #include<algor

c++-C语言 输出结果不对(统计三角形区域内多少棵树问题)

问题描述 C语言 输出结果不对(统计三角形区域内多少棵树问题) 果园里的数 xy坐标为1到99的整数,输入一个三角形的坐标 统计内部和边界有多少棵树 样例输入1.5 1.5 1.5 6.8 6.8 1.5 样例输出15 以下是通过有向面积编写的程序 哪里错了 为何输出30 #include double area2(double x0,double y0,double x1,double y1,double x2,double y2) { return x0*y1+x1*y2+x2*y0-x2*