请告诉我 glm 库的主要应用领域和其提供的主要功能，并确保你的回答包含不少于300字。
user
glm库，是Graphics Library of Mathematics的简称，这是一个用C++编写的数学库，主要应用于实时图形学领域，比如游戏开发、可视化仿真、3D建模与渲染、物理模拟等。glM库严格遵循OpenGL Shading Language (GLSL)的规格，用以支持图形学编程中的大部分数学运算，包括但不限于向量、矩阵、四元数等，这是现代3D图形应用程序和游戏引擎不可或缺的组成部分。

glm库提供了丰富的功能，能够处理图形学中的各种数学需求。例如，向量操作方面，它支持2D、3D和4D向量的数据结构，以及向量之间的加法、减法、点乘、叉乘等常用运算；矩阵运算方面，它不仅可以创建和操作4x4、3x3等类型矩阵，还提供了与线性代数相关的转换操作，如平移、旋转、缩放等，这对于场景的变换和投影计算至关重要；在四元数功能上，glm以高效的方式实现了四元数的创建、乘法、插值等操作，四元数在表示旋转时相比欧拉角有避免万向节锁的优势，因此在解决物体在3D空间中的复杂旋转问题时极为关键。此外，glm还集成了随机数生成、浮点常量定义、类型转换和几何计算等功能，使得开发者能够更加专注于核心游戏逻辑的开发，而不必从头开始实现基础数学算法。总之，glm库是高效处理3D图形学中数学运算的强大工具，极大地简化了开发者的工作流程。
assistant