java - 如何绕中心旋转三角形?

标签 java android math geometry

我正在 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/

相关文章:

java - 如何在不使用 java.math.BigInteger 的情况下在 Java 中处理非常大的数字

Java简单日期格式无法正确解析PM的日期时间

android - Google Maps API v3 导航(如 Android 版 Google map )

java - Spring Boot 执行器管理端点异常处理

android - peekService 返回 null,即使 startService 不返回

android - 在Kotlin中使用JSONObject总是会引发错误

matlab - Matlab 中的卷积实践

c - 如何在构建时计算 'C' 中的平方根?

java - 处理由 Graphics2D.create() 创建的 Graphics2D 对象;

java - 大数减法