UF_CURVE_arc_t arc_coords;
UF_CURVE_ask_arc_data(edge_tag, &arc_coords);
//arc_coords.arc_center是arc_coords.matrix_tag下的坐标值
double douMatrixValue[9];
UF_CSYS_ask_matrix_values(arc_coords.matrix_tag, douMatrixValue);
double douPoint[3];//转绝对坐标下的圆心
UF_MTX3_vec_multiply_t(arc_coords.arc_center, douMatrixValue,douPoint);
//弧度转角度
double angle = (arc_coords.end_angle - arc_coords.start_angle) / DEGRA;
if(angle < 89.9999)
{
//不足四分之一圆
}
//斜边求对边
double trigonometry_c_get_a(double c, double angle)
{
return sin(angle * PI / 180)*c;
}
//斜边求邻边
double trigonometry_c_get_b(double c, double angle)
{
return cos(angle * PI / 180)*c;
}
//对边求斜边
double trigonometry_a_get_c(double a, double angle)
{
return a / sin(angle * PI / 180);
}
//对边求邻边
double trigonometry_a_get_b(double a, double angle)
{
return tan((90 - angle) * PI / 180)*a;
}
//对边斜边求角度
double trigonometry_get_angle(double a,double c)
{
double zhi = a / c;
return asin(zhi) / PI * 180;
}
//对边邻边求角度
double trigonometry_get_angle1(double a, double b)
{
double zhi = a / b;
return atan(zhi) / PI * 180;
}