我一直在研究分形并决定尝试一下,但立即遇到了一个更简单的问题。除了 0、45、90 等,我不能以任何角度画线。
问题:我的角度是一个整数,我使用 Math.toRadians(angle) 来计算角度本身作为它的绘制。当我画线时,我必须将 (int) 转换为从 Math.toRadians() 产生的双精度数,这导致我失去了角度本身,我相信这是阻止画线的原因。
我正在使用的代码:`
Graphics2D g2d = (Graphics2D) g;
int angle = 90;
int startX = getWidth()/2;
int startY = getHeight()/2;
int length = 100;
int endX = startX + (int)Math.cos(Math.toRadians(angle)) * length;
int endY = startY + (int)Math.sin(Math.toRadians(angle)) * length;
g2d.drawLine(startX, startY, endX, endY);
`
解决方案:
Graphics2D g2d = (Graphics2D) g;
int angle = 91;
int startX = getWidth()/2;
int startY = getHeight()/2;
int length = 100;
int endX = startX + (int)(Math.cos(Math.toRadians(angle)) * length);
int endY = startY + (int)(Math.sin(Math.toRadians(angle)) * length);
g2d.drawLine(startX, startY, endX, endY);
多谢你们!