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