2017-08-02 4 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(); 
      } 

     } 
で必要とされています
関連する問題