mirror of
https://github.com/motajs/template.git
synced 2026-11-14 07:24:30 +08:00
init: 2.B
This commit is contained in:
commit
6bf32174d8
610 files changed
+151444
No files matched your search
@@ -0,0 +1,119 @@
|
||||
# 函数 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 --> 矩阵变换
|
||||
```
|
||||
Reference in new issue
Block a user