====== Coordinate API ====== {{anchor:calcrectangulartransformmatrix}} **void CalcRectangularTransformMatrix(CoordSystem * from,CoordSystem * to,double * matrix)** *function:计算原坐标系向目标坐标系转换的直角坐标转换矩阵 *parameters: - [i]CoordSystem * from : 源坐标系,如为0,则为全局直角坐标系 - [i]CoordSystem * to : 目标坐标系,如为0,则为全局直角坐标系 - [o]double * matrix : 以全局坐标系为参照的直角坐标转换矩阵 *return value:无 {{anchor:convertcoord}} **void ConvertCoord(CoordSystem * from,CoordSystem * to,double * t_matrix,double * src_v,double * dst_v)** *function:将原坐标系下的坐标转换为目标坐标系下的坐标,坐标系轴矢量转换矩阵为4*4矩阵。 *parameters: - [i]CoordSystem * from : 源坐标系,如为0,则为全局直角坐标系 - [i]CoordSystem * to : 目标坐标系,如为0,则为全局直角坐标系 - [i]double * t_matrix: 坐标系轴矢量转换矩阵 - [i]double * src_v: 源坐标 - [o]double * dst_v:新坐标 *return value:无 {{anchor:convertvector}} **void ConvertVector(CoordSystem * from,CoordSystem * to,double * t_matrix,double * src_v,double * dst_v)** *function:将原坐标系下的矢量转换为目标坐标系下的矢量,坐标系轴矢量转换矩阵为3*3矩阵(不需考虑原点)。 *parameters: - [i]CoordSystem * from : 源坐标系,如为0,则为全局直角坐标系 - [i]CoordSystem * to : 目标坐标系,如为0,则为全局直角坐标系 - [i]double * t_matrix: 坐标系轴矢量转换矩阵 - [i]double * src_v: 源坐标 - [o]double * dst_v:新坐标 *return value:无 {{anchor:converttensor}} **void ConvertTensor(CoordSystem * from,CoordSystem * to,double * t_matrix,double * src_pos,double * src_v,double * dst_v)** *function:将原坐标系下的二阶张量转换为目标坐标系下的二阶张量,坐标系轴矢量转换矩阵为3*3矩阵(不需考虑原点)。 *parameters: - [i]CoordSystem * from : 源坐标系,如为0,则为全局直角坐标系 - [i]CoordSystem * to : 目标坐标系,如为0,则为全局直角坐标系 - [i]double * t_matrix: 坐标系轴矢量转换矩阵 - [i]double * src_pos: 源坐标系下的位置坐标,某些转换需要考虑位置矢量,直角坐标系的转换不需要输入此参数。 - [i]double * src_v: 源坐标 - [o]double * dst_v:新坐标 *return value:无