这是我第一次在论坛上发帖。但我想我会跳进去问.. 我正在尝试用 x、y、宽度、高度和角度绘制一个矩形。我不想创建图形 2D 对象并使用变换。我认为这是一种低效的方法。我正在尝试使用 for 循环绘制一个带旋转的正方形以迭代到正方形宽度,在正方形高度处绘制每次迭代的线条。我对三角的理解真的很缺乏,所以......我当前的代码绘制了一个时髦的三角形。如果还有其他这样的问题,对重复的答案感到抱歉。如果您对我的编码有任何指示,我会喜欢一些更正或指示。
/编辑:抱歉没有问题。我需要知道如何使用正弦和余弦来绘制正方形或矩形,旋转中心在正方形或矩形的左上角。通过使用带角度的 sin 和 cos 来获取坐标 (x1,y1),然后使用带角度加 90 度的 sin 和 cos 函数来获取 (x2,y2) 的坐标。使用 counter 变量从左到右绘制随角度变化的从上到下的线条。
for (int s = 0; s < objWidth; s++){
int x1 = (int)(s*Math.cos(Math.toRadians(objAngle)));
int y1 = (int)(s*Math.sin(Math.toRadians(objAngle)));
int x2 = (int)((objWidth-s)*Math.cos(Math.toRadians(objAngle+90)));
int y2 = (int)((objHeight+s)*Math.sin(Math.toRadians(objAngle+90)));
b.setColor(new Color((int)gArray[s]));
b.drawLine(objX+x1, objY+y1, objX+x2, objY+y2);
}