Curveball
8 days ago
- #Neverball
- #Rust
- #Curve Generator
- Curveball是用于Neverball的曲线生成工具,提供网页应用和可下载的桌面应用版本,使用Rust语言编写。
- 该工具旨在生成现有curve.c工具无法实现的复杂曲线,后者仅能生成圆弧。
- Neverball关卡由通过半空间交集定义的凸面刷子构成,采用Quake地图格式进行描述。
- Curveball使用chull包从点集计算凸包,从而简化由曲线顶点生成刷子的过程。
- 其核心抽象概念是拉伸:将二维轮廓沿路径复制,并通过凸包处理顶点以形成刷子。
- 沿路径定向轮廓涉及弗莱纳标架以处理旋转,并考虑挠率以避免问题。
- Curveball支持基于拉伸的曲线以及三种特殊类型:经典曲线、斜坡曲线和射线曲线,这些类型的生成方法存在部分重叠。
- 该工具旨在简化Neverball关卡创建,通过轮廓和路径的组合实现多样化的曲线形状。