holyya.com
2025-09-04 13:07:50 Thursday
登录
文章检索 我的文章 写文章
"C++求解三角形内切圆面积的代码"
2023-07-07 02:43:04 深夜i     --     --
C++ 三角形 内切圆 面积 代码

根据几何学,三角形内切圆是在三角形内部,与三条边都相切的圆。求解其面积可以用C++编程实现。

下面是C++代码示例:


#include<iostream>

#include<cstdio>

#include<cmath>

using namespace std;

const double eps=1e-10;//精度控制

double p[5];//存放三角形三个顶点的坐标

double l[3];//存放三角形三条边的长度

double r;//存放三角形内切圆半径

double s;//存放三角形面积

int dblcmp(double x){//判断两个浮点数大小关系

  if(fabs(x)<eps)return 0;

  return x<0?-1:1;

}

double area(double a,double b,double c){//海伦公式求三角形面积

  double s=(a+b+c)/2.0;

  return sqrt(s*(s-a)*(s-b)*(s-c));

}

double circumcircle_radius(double a,double b,double c){//求三角形外接圆半径

  return a*b*c/4.0/area(a,b,c);

}

int main(){

  for(int i=1;i<=3;i++) cin>>p[i];

  l[1]=sqrt((p[1]-p[2])*(p[1]-p[2])+(p[2]-p[3])*(p[2]-p[3]));//求边长

  l[2]=sqrt((p[1]-p[3])*(p[1]-p[3])+(p[3]-p[2])*(p[3]-p[2]));

  l[3]=sqrt((p[2]-p[1])*(p[2]-p[1])+(p[3]-p[2])*(p[3]-p[2]));

  s=area(l[1],l[2],l[3]);

  r=s/l[1]+s/l[2]+s/l[3];//求内切圆半径

  r/=2.0*(s/l[1]+s/l[2]+s/l[3])/3.0;//求内切圆半径

  printf("%.6f",3.141592653589*r*r);//输出面积

  return 0;

}

输入三角形三个顶点的坐标,首先求出三角形三条边的长度,进而求出三角形面积、内切圆半径和内切圆面积,最后输出内切圆半径的平方乘以π即可。

使用C++求解三角形内切圆面积,可以方便地解决复杂的数学问题,帮助我们深入理解几何学的基础知识。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复