计算等边三角形的节点域

时间:2017-08-02 11:35:30

标签: java matrix clipping

我正在开发一个代码来计算基于矩阵的任何数字的节点域,所以最近我应该检查我的程序等边三角形但是由于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();
        }

    }

1 个答案:

答案 0 :(得分: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();
            }

        }