OpenGL的向量表示法:

//三维向量
glm::vec3 myVector1;
glm::vec3 myVector2 = { 1.0f, 1.0f, 1.0f};

//四维向量
glm::vec4 myVector4;
glm::vec4 myVector5 = { 1.0f, 1.0f, 1.0f, 1.0f};

// 三维向量数组
glm::vec4 Vertor3[] = {
    -0.1f, 0.0f, 0.1f,
    0.1f, 0.0f, 0.0f,
    0.0f, 0.1f, 0.0f };

向量的加减法:

vec3+vec3
vec3-vec3

向量的归一化(将向量长度置为1):

normalize(vec3)

向量的点积:

dot(vec3,vec3)

点积求夹角:

    glm::vec3 a= glm::vec3(0, 1, 0);
    glm::vec3 b= glm::vec3(1, 0, 0);

    //返回2个向量的夹角  弧度  [0,π]
    float angle = glm::angle(a, b);//返回2个向量的夹角  弧度  [0,π]

    //返回2个向量相对于 axis 的夹角  弧度  [-π,π]
    glm::vec3 axis = glm::normalize(glm::cross(a, b)); 

向量的叉积(可以求两个向量所在平面的法线或可以求出图形面积):

cross(vec3,vec3)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐