只要能获得三角形的三边长度,就很容易了
假设三边长度为a、b、c
先判断是否为三角形:|a-b|<c<a+b(三个边)
钝角、锐角用余弦定理,判断cosA(三个点)的正负性
直角用勾股定理
等腰或等边更简单
2. 跪求大神给一段三角质心定位的代码 java C C++ 来者不拒
给你写了一个求质心的函数,代码如下:
(因为函数中使用到求平方根的函数sqrt,所以请包含math.h头文件)
#include <math.h>
POINT ZX(int X1,int Y1,int X2,int Y2,int X3,int Y3) //参数分别为三角形的三个坐标点
{float L1,L2,L3,N; //L1,L2,L3分别代表三条边的长,(N用来作交换用)
POINT PN; //用来表示质心的坐标
L1=sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2)); //分别求出三条边的长
L2=sqrt((X1-X3)*(X1-X3)+(Y1-Y3)*(Y1-Y3));
L3=sqrt((X3-X2)*(X3-X2)+(Y3-Y2)*(Y3-Y2));
if (L1<L2) //如果L2比L1大,就把两个数交换
{N=L1;
L1=L2;
L2=N;}
if (L1<L3) //如果L3比L1大,就把两个数交换
{N=L1;
L1=L3;
L3=N;}
//经过两轮的比较和交换,可以确保L1是三条边中最大的一条
if (L1>=(L2+L3)) //如果最大边大于等于两条小条的和,则三点构不成一个三角形
{PN.x=0xffffffff; //设置一个错误值
PN.y=0xffffffff;
return PN;} //让函数返回错误值,这样调用函数之后就可以作出相应的判断
/*如果通过判断符合三角形的条件,求质心,质心就是重心,公式很简单.
就是X=(X1+X2+X3)/3;Y=(Y1+Y2+Y3)/3,如果要证明有点长,这里就不说.
你可以自己试着证明一下,或网络一下*/
PN.x=(X1+X2+X3)/3;
PN.y=(Y1+Y2+Y3)/3;
return PN;}
3. java从键盘输入三角形的三条边,判断它们能否构成三角形。若能构成三角形,指出是何种三角形
这样写
packagecom;
importjava.util.Scanner;
publicclassW
{
publicstaticvoidmain(String[]args){
System.out.println("请输入三边以逗号内隔开");
Scannersc=newScanner(System.in);
Stringlocation1=sc.next();
String[]location1s=location1.split(",");
intx1=Integer.parseInt(location1s[0]);
inty1=Integer.parseInt(location1s[1]);
intz1=Integer.parseInt(location1s[2]);
if((x1+y1>z1)&&(x1+z1>y1)&&(y1+z1>x1)){
System.out.println("能构成三角形容");
}else{
System.out.println("不能构成三角形");
}
}
}