【NX二次开发】通过两点创建单位向量

源码1:

    //生成从起点到终点的单位向量
    double douPoint_Start[3] = { 10,10,10 };
    double douPoint_End[3] = { 15,16,13 };
    double dir_temp[3] = { douPoint_End[0] - douPoint_Start[0],
                           douPoint_End[1] - douPoint_Start[1],
                           douPoint_End[2] - douPoint_Start[2] };
    double douLen = 0;//向量长度
    douLen = sqrt((dir_temp[0] * dir_temp[0]) + (dir_temp[1] * dir_temp[1]) + (dir_temp[2] * dir_temp[2]));

    //单位向量
    double dir[3] = { dir_temp[0] / douLen,dir_temp[1] / douLen,dir_temp[2] / douLen};

源码2:

    //生成从起点到终点的单位向量
    double douPoint_Start[3] = { 10,10,10 };
    double douPoint_End[3] = { 15,16,13 };
    
     //从一个向量中减去另一个向量。 
    double dir_temp[3] = { 0,0,0 };
    UF_VEC3_sub(douPoint_End, douPoint_Start, dir_temp);
    
    //单元化一个向量。单位向量,向量长度设为1。 
    double dir[3] = { 0,0,0};
    double douLen = 0;//向量长度
    UF_VEC3_unitize(dir_temp, 0.001, &douLen,dir);

 

posted @ 2020-12-01 09:51  王牌飞行员_里海  阅读(324)  评论(0编辑  收藏  举报