2017-08-02 116 views
0

我正在开发一个代码来计算基于矩阵的任何图形的节点域,所以最近我应该检查我的程序等边三角形,但由于sqrt(3)因素它无法正确剪切这就是为什么次数越来越不对任何帮助是明显的计算等边三角形的节点域

private void sin() 
    { 
     // TODO Auto-generated method stub 
     for (int i = 0; i < row; i++) 
     { 
      for (int j = 0; j <col; j++) 
      { 

        a=Math.cos(((2*m)-n)*((2*(i+1))/3)*pi); 
        b=Math.sin(((2*(n*(j+1)))/1.732)*pi); 
        c=Math.cos(((((2*n)-m)*(2*(i+1)))/3)*pi); 
        d=Math.sin(((2*m)*(j+1)/1.732)*pi); 
        e=Math.cos((((m+n)*(2*(i+1)))/3)*pi); 
        f=Math.sin((((m-n)*(2*(j+1)))/1.732)*pi); 
        mul=(a*b)-(c*d)+(e*f); 

       if(mul<0) 
       { 
        matrix[i][j]=0; 
       } 
       else 
       { 
        matrix[i][j]=4; 
       } 
       //System.out.print(matrix[i][j]); 
      } 
      //System.out.println(); 
     } 


    } 

以下是需要在这个只有

private void eqltri() 
    { 
     // TODO Auto-generated method stub 
     for (int i = 0; i <row; i++) 
     { 
      for (int j = 0; j <col; j++) 
      { 
       if(i>(j/t)&& (row-i)>(j/t)) 

       { 
        matrix[i][j]=matrix[i][j]; 
       } 
       else 
       { 
       matrix[i][j]=4; 
       } 
       //System.out.print(matrix[i][j]); 
      } 
      //System.out.println(); 
     } 

    } 

回答

0
private void eqltri() 
     { 
      // TODO Auto-generated method stub 
      for (int i = 0; i < row; i++) 
      { 
       for (int j = 0; j <col; j++) 
       { 
        xx=(i+1)*pi; 
        yy=(j+1)*pi; 
        if((xx*t)>yy&& yy<(t*(p-xx))) 

        { 
         matrix[i][j]=matrix[i][j]; 
        } 
        else 
        { 
        matrix[i][j]=4; 
        } 
        //System.out.print(matrix[i][j]); 
       } 
       //System.out.println(); 
      } 

     } 
这是用来提取的帮助功能的等边三角形码