2013-02-22 282 views
0

我當前三角形類的樣子:座標中心的,等邊三角形

public class TriangleEquilateral { 
    private Point cornerA; 
    private Point cornerB; 
    private Point cornerC; 
    private double x1 = 0; 
    private double y1 = 0; 
    private double x2 = 10; 
    private double y2 = 0; 
    private double x3 = 5; 
    private double y3 = Math.sqrt(75); 

    public TriangleEquilateral(){ 
     cornerA = new Point(x1,y1); 
     cornerB = new Point(x2,y2); 
     cornerC = new Point(x3,y3); 
    } 

    public TriangleEquilateral(double X1,double Y1,double X2,double Y2,double X3,double Y3){ 
     x1 = X1; 
     y1 = Y1; 
     x2 = X2; 
     y2 = Y2; 
     x3 = X3; 
     y3 = Y3; 

     cornerA = new Point(X1,Y1); 
     cornerB = new Point(X2,Y2); 
     cornerC = new Point(X3,Y3); 
    } 

    public boolean isEquilateral(){ 
     double lengthAB = Math.sqrt(Math.pow(x1-x2,2) + Math.pow(y1-y2,2)); 
     double lengthBC = Math.sqrt(Math.pow(x2-x3,2) + Math.pow(y2-y3,2)); 
     double lengthCA = Math.sqrt(Math.pow(x3-x1,2) + Math.pow(y3-y1,2)); 

     boolean isEquilateral = false; 
     if(lengthAB == lengthBC && lengthBC == lengthCA && lengthCA == lengthAB){ 
      isEquilateral = true; 
     } 
     System.out.println(lengthAB); 
     System.out.println(lengthBC); 
     System.out.println(lengthCA); 
     return isEquilateral; 
    } 

    public double sideLength(){ 
     double sL = 0; 
     if(this.isEquilateral() == true){ 
      sL = Math.sqrt(Math.pow(x1-x2,2) + Math.pow(y1-y2,2)); 
     } 
     return sL; 
    } 

我將如何確定一個等邊三角形的中點的座標?我知道中點X =(鹼/ 2)Y = heigth/2但如果基是水平的這僅適用(兩個角具有相同的Y值)

+1

這是不是Java甚至編程問題,而是一個*數學*問題。你有沒有看過數學網站或維基百科呢?你有沒有試圖在紙上做這件事? – 2013-02-22 01:51:24

回答

1

這是更大的數學問題比java問題。總之,要找到重心:

x = (x1 + x2 + x3)/3 
y = (y1 + y2 + y3)/3