# 函数 API 文档 本文档由 `DeepSeek R1` 模型生成并微调。 --- ## 函数说明 ### `isWebGLSupported` **功能** 检测浏览器是否支持 WebGL 1.0 **返回值** - `true`: 支持 - `false`: 不支持 **示例** ```typescript if (isWebGLSupported()) { // 初始化 WebGL 1.0 功能 } ``` --- ### `isWebGL2Supported` **功能** 检测浏览器是否支持 WebGL 2.0 **返回值** - `true`: 支持 - `false`: 不支持 --- ### `addTiming` **功能** 组合两个缓动函数为加法函数 **数学表达** `newTiming(p) = timing1(p) + timing2(p)` **参数** - `timing1`: 第一个缓动函数 - `timing2`: 第二个缓动函数 **示例** ```typescript const linear = (p: number) => p; const bounce = (p: number) => p * p; const combined = addTiming(linear, bounce); // p + p² ``` --- ### `multiplyTiming` **功能** 组合两个缓动函数为乘法函数 **数学表达** `newTiming(p) = timing1(p) * timing2(p)` --- ### `isSetEqual` **功能** 判断两个集合是否相等(元素完全相同) **实现逻辑** 1. 直接引用相同 → `true` 2. 大小不同 → `false` 3. 检查 set1 是否是 set2 的子集 --- ### `transformCanvas` **功能** 将变换矩阵应用到画布上下文 **实现逻辑** ```typescript const mat = transform.mat; // 获取 3x3 矩阵 const [a, b, , c, d, , e, f] = mat; // 分解为 2D 变换参数 ctx.transform(a, b, c, d, e, f); // 应用变换 ``` **参数** - `canvas`: 目标画布对象 - `transform`: 变换矩阵 **示例** ```typescript const transform = new Transform(); transform.translate(100, 50); transformCanvas(myCanvas, transform); // 应用平移变换 ``` --- ## 工具函数关系图 ```mermaid graph LR checkSupport --> isWebGLSupported checkSupport --> isWebGL2Supported addTiming --> 组合缓动函数 multiplyTiming --> 组合缓动函数 isSetEqual --> 集合操作 transformCanvas --> 矩阵变换 ```