计算等边三角形的节点域



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

最新更新