只要能獲得三角形的三邊長度,就很容易了
假設三邊長度為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("不能構成三角形");
}
}
}