java 圆形坐标计算(根据角度和边长计算位置)
- 通过三角函数计算
圆形的任意弧形角度都对应一个直角三角形,通过三角函数来计算直角三角形的边长,从而得出每个角度下圆形坐标位置
o 为起始位置, r为半径,求圆形坐标位置
代码实现
/**
* 根据角度和边长获取位置
* @param p 起点位置
* @param degree 角度
* @param width 边长
* @return 位置 抠抠群721765299
*/
public static double[] getPoint(Point p,double degree,double width){
int v = (int) (degree / 90);
double d = (degree % 90);
double side = getRightSideFromDegree(d, width);//与中心的直角边长
double top = getRightSideFromLength(side, width);//另一直角边
double x = 0 , y = 0 ;
switch (v){
case 0:
x = (p.x+top);
y = (p.y-side);
break;
case 1:
x = (p.x+side);
y = (p.y+top);
break;
case 2:
x = (p.x-top);
y = (p.y+side);
break;
case 3:
x = (p.x-side);
y = (p.y-top);
break;
}
return new double[]{x,y};
}
/**
* 直角三角形 根据角度和斜边求直角边
* @param degree 角度
* @param width 斜边
* @return 直角边长
*/
public static double getRightSideFromDegree(double degree,double width){
double cos = Math.cos(Math.toRadians(degree));
return width * cos;
}
/**
* 直角三角形 根据直角边和斜边求直角边
* @param a 直角边
* @param b 斜边
* @return 直角边长
*/
public static double getRightSideFromLength(double a,double b){
return Math.sqrt(b*b - a*a);
}
设坐标 24,24 半径24 通过计算得出的结果和图形如下图
文章来源:https://www.toymoban.com/news/detail-535991.html
代码摘自Java 开发之 根据坐标计算长度、角度等数据 Java开发 三角形算法汇总文章来源地址https://www.toymoban.com/news/detail-535991.html
到了这里,关于java 圆形坐标计算(根据角度和边长计算位置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!