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