有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

几何如何在java的三点三角形程序中实现这些角度?

我正在努力实现

enter image description here

在我的java三点程序中

下面是计算边的getLength方法

   private double getLength(int side){


     if(side == 0 && isTriangle()){
         return Math.sqrt((x2-x1) * (x2-x1) + (y2-y1) * (y2-y1));
     } else if (side == 1 && isTriangle()){
         return Math.sqrt((x2-x0) * (x2-x0) + (y2-y0) * (y1-y0));
     } else if (side == 2 && isTriangle()){
         return Math.sqrt((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)); 
     }else{ return 0;

     }
     }

参数“顶点”应为0、1或2,并用于指定角度a0、a1或a2。该方法返回指定顶点的角度。如果三个点不形成三角形,此方法应返回零。要确定三角形的角度,可以使用余弦定律。(同上)

下面是框架的样子,我如何实现这个图呢

 public double getAngle(int vertex){

            if(vertex == 0 && isTriangle()) {
           return a0 here; }
           else if(vertex == 1 && isTriangle()) {
           return a1 here; }
           else if(vertex == 2 && isTriangle()) {
           return a2; }

共 (1) 个答案

  1. # 1 楼答案

    我的java有点生锈,我的trig更生锈,但我认为a0的要求如下。你可以从下面算出a1和a2。还要注意Java三角法使用的是弧度而不是度数,但这不应该是一个问题

    double s02 = Math.pow(this.getLength(0),2);
    double s12 = Math.pow(this.getLength(1),2);
    double s22 = Math.pow(this.getLength(2),2);
    a0 = Math.acos((-s02+s12+s22)/(2*s12*s22));
    

    注:我假设S0S1和s2是0、1和2边的长度,对吗