我正在 Canvas 上画一个三角形:
float x = 540;
float y = 960;
Path path = new Path();
path.moveTo(x, y);
path.lineTo(x+18, y+60);
path.lineTo(x-18, y+60);
path.lineTo(x, y);
canvas.drawPath(path, mPaint);
该 Canvas 还有其他对象。但我只需要围绕该三角形的中心以随机角度(0 到 360 之间)旋转该三角形。如何实现?如何获取三角形旋转后的坐标顶点?
最佳答案
很简单的数学,如果三角形的中心是(x,y),中心顶点距离是A,那么三个顶点就是
-(A*Math.cos(角度),A*Math.sin(角度))
-(A*Math.cos(角度+2*Math.PI/3),A*Math.sin(角度+2*Math.PI/3))
-(A*Math.cos(angle-2*Math.PI/3),A*Math.sin(angle-2*Math.PI/3))
关于java - 如何绕中心旋转三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24391461/