TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: Aegisub怎么自定义三角函数 [打印本页]

作者: celtics_am    时间: 2014-1-2 18:44:09     标题: Aegisub怎么自定义三角函数

本帖最后由 celtics_am 于 2014-1-3 09:39 编辑

比如 我想把一句字幕围成一个圆心为(x0,y0),半径为r的圆
那么字幕坐标应该是(x0+r*cosa,y0+r*sina)
但是aegisub里本身似乎没有这样的函数。 请教有什么自定义函数的教程吗?
作者: zxdfcgv    时间: 2014-1-2 19:50:09

2001的一个脚本参考

附件: 【KaraTrans】Aegisub Simple Effect - Round Karaoke^^;.rar (2014-1-2 19:49:47, 6.59 KB) / 下载次数 998
http://tcax.org/forum.php?mod=attachment&aid=MTUzMHxhNzc3NTk0YXwxNzE0OTAyODY1fDB8MA%3D%3D
作者: celtics_am    时间: 2014-1-3 09:40:49

zxdfcgv 发表于 2014-1-2 19:50
2001的一个脚本参考

谢谢啊…… 虽然学计算机的 不过还是有的地方没看懂。
不知有没有什么官网教程 再看看还有什么AEG的内置函数
作者: 影kage    时间: 2014-1-11 00:17:24

本帖最后由 影kage 于 2014-1-11 00:59 编辑

在Aegisub的template 或 code 都支援基本的 LUA的語法
請善用LUA語法的 math.cos 和 math.sin
參數是用弧度(ex 90度=pi/4) pi值用math.PI即可
詳細參考 http://lua-users.org/wiki/MathLibraryTutorial
math裡面的function基本上Aegisub 都支援

要排成圓形的話 其實用 \frz + \org + \org 就可以辦到了
半徑 = \org座標 和 \pos 座標的距離
等分點的部分用 syl 或 char counter的方式去取

例如畫三角函數
template pre-line loop 1600
正數部分
  1. {\an5\pos(!320+(0.01*j)*20!,!240+(math.sin(0.01*j))*20!)}
复制代码
副數部分
  1. {\an5\pos(!320-(0.01*j)*20!,!240-(math.sin(0.01*j))*20!)}
复制代码
karaoke
复制代码





欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2