2013-02-22 3 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; 
    } 

Как бы я определить координаты медианы равнобедренного треугольника? Я знаю, что средняя точка находится х = (базовый/2), у = heigth/2, но это работает только, если база находится в горизонтальном положении (два угла имеет один и то же значение Y)

+1

Это не Java или даже вопрос программирования, а скорее вопрос * математика. Вы посмотрели на сайт математики или Википедию? Вы пытались это сделать на бумаге? –

ответ

4

Для равностороннего треугольника, координаты центра треугольника такие же, как координаты центра его вписанной.

Ищет the formula for the incircle's center on Wikipedia:

{ (aXa+bXb+cXc)/(a+b+c), (aYa+bYb+cYc)/(a+b+c) } 

С a = b = c, легко видеть, что координаты центра равностороннего треугольника просто

{ (x0+x1+x2)/3, (y0+y1+y2)/3 } 
1

Это больше из Математический вопрос, чем вопрос на Java. Во всяком случае, найти барицентр:

x = (x1 + x2 + x3)/3 
y = (y1 + y2 + y3)/3 
Смежные вопросы