#演示 #图形 #png #工具 #latex #布局 #事件

bin+lib ytesrev

基于 sdl2 编写的演示工具

10 个版本

使用旧的 Rust 2015

0.2.7 2019 年 7 月 7 日
0.2.6 2019 年 7 月 7 日
0.2.5 2019 年 6 月 1 日
0.2.4 2018 年 11 月 14 日
0.1.0 2018 年 8 月 17 日

#209可视化

Download history 6/week @ 2024-03-11 27/week @ 2024-04-01

每月 55 次下载

MIT 许可证

1.5MB
2.5K SLoC

ytesrev

展示 (实际效果更好,由于压缩和我不太懂如何改进,gif 看起来像垃圾)

这是一个受 3blue1brown 的工具 manim 启发的演示工具。目前它支持渲染 LaTeX 文件,相对简单的布局,读取 PNG 文件等功能。

与 manim 的不同之处

最大的不同是两个程序的目标。Manim 是为了渲染视频而制作的,而 ytesrev 是为了在需要反应性和动态性的实时情况下工作。例如,在 manim 中,屏幕大小和时间几乎是恒定的,而 ytesrev 必须有一个动态布局引擎和事件系统。

用法

查看 src/example/ 文件夹。

项目结构

  • src/anchor/:使事物锚定到屏幕的一侧
  • src/ditherer/:创建那些酷炫的文本“whoosh”效果
  • src/drawable/ 可绘制对象的抽象定义以及绘制位置
  • src/empty/:空对象
  • src/image/:加载 PNG 文件
  • src/latex/:渲染 LaTeX 表达式
  • src/layout/:布局(堆叠和拆分)的定义和实现
  • src/margin/:为某些对象添加边距
  • src/scene/:场景(幻灯片)的抽象定义以及 Drawable 的包装器
  • src/solid/:纯色矩形
  • src/window/:包含负责创建窗口、管理事件和计时以及跟踪幻灯片的 WindowManager
  • src/withsize/:为对象设置一个固定大小

依赖关系

~20-28MB
~492K SLoC