欢迎光临散文网 会员登陆 & 注册

【Re:PhiEdit / RPE】 曲线轨迹教程 ·【三】切线与角度方程求法(二)

2023-08-30 20:57 作者:Cyb_IF0x508cca  | 我要投稿

好久不见!我又回来啦!

RPE 1.3.0 中更新了切线方程功能,本篇教程我将着重对这一功能进行介绍。

【新版RPE使用注意事项】

在 RPE 1.3.0 中没有垫底谱面(海底谭),而在实际使用曲线轨迹功能时其会出现即使参数方程正确也不显示预览轨迹的情况。如果你需要解决没有预览的问题,请移步教程结尾的补丁网盘链接补丁为官方发布,非本人制作,网盘链接为转载。如有侵权,请联系我删除。


本期教程非常感谢RPE公测群的群友们提供的宝贵意见与帮助。

【角度方程】

角度方程这一新功能被放在了生成曲线轨迹的下方。如果你想了解曲线轨迹的使用方法,可以去看看我之前的教程,此处不再赘述。

角度方程采用的是角度制,其表达式与前面的参数方程类似,均为一个与参数 $t$ 相关的方程,如最上方的示意图。很遗憾的是,角度方程并不能通过输入原函数方程的方式实现自动求角度,因此我们仍然需要手动计算轨迹参数方程的切线方程。好在,这一方法现在变得不是那么麻烦了!

角度方程

【通法】

轨迹方程的求导可以理解为隐函数求导,通过联立 X、Y 两个轨迹方程消去变量 $t$ 得到一个方程,其确定了一个以 X 为自变量,Y 为因变量的隐函数。对这个隐函数 f(x) 求导得到切线方程 f'(x) ,求出 arctan(f'(x)) 并将结果转换为角度制,即为我们需要的角度方程。

简单来说就是通过轨迹方程求出切线方程,再通过转换得到弧度制角度方程,最后得出角度制角度方程并填入。

这一做法本质与我在上一篇教程提到的做法一致,只不过在有了直接填入角度方程的位置后,我们无需手算函数值。

但是我在公测群内询问热心群友,加上不死心地翻了一些相关笔记后,发现了一些较为简便的解法。

直接上前置结论

对于一组轨迹(参数)方程 %5Cleft%5C%7B%20%0A%20%20%20%20%5Cbegin%7Barray%7D%7Blc%7D%0A%20%20%20%20%20%20%20%20x%3D%5Cvarphi(t)%20%5C%5C%0A%20%20%20%20%20%20%20%20y%3D%5Cphi(t)%20%5C%5C%0A%20%20%20%20%5Cend%7Barray%7D%0A%5Cright.,若 x%3D%5Cvarphi%20(t) 有连续的反函数 t%3D%5Cvarphi%5E%7B-1%7D(x)%20,则有其导数 f'(x)%3D%5Cfrac%7B%5Cphi%E2%80%99(x)%7D%7B%5Cvarphi%E2%80%99(x)%7D%20 成立。

什么意思呢?

就是说,我们需要求的切线方程在满足前提条件的情况下可以表示为 %5Cfrac%7B%5Cphi%E2%80%99(x)%7D%7B%5Cvarphi%E2%80%99(x)%7D%20%3D%5Cfrac%7By'%7D%7Bx'%7D%20 。

(由于该结论涉及到高等数学内容,本教程不对此结论作出证明,有兴趣的读者可以自行搜索隐函数与参数方程的求导相关知识。)

例如,对于上一小节的图片中,切线方程的形式为:

f'(t)%20%3D%20%5Cfrac%7By'%7D%7Bx'%7D%20%3D%20%5Cfrac%7B(400%5Ccos%202%5Cpi%20t)'%7D%7B(400%5Csin%202%5Cpi%20t)'%7D%20%20%3D%20%5Cfrac%7B400%5Ccdot%20%5Csin%202%5Cpi%20t%20%5Ccdot%202%5Cpi%7D%7B-400%5Ccos%202%5Cpi%20t%20%5Ccdot%202%5Cpi%7D%20%3D%20-%5Ctan%202%5Cpi%20t 

切线方程转换为角度方程,则角度方程(弧度制)的形式为:

%5Carctan(f'(x))%20%3D%20%5Carctan(-%5Ctan%202%5Cpi%20t)%20%3D%20-2%5Cpi%20t

将其转换为角度制,可知正确的角度方程为 -360%20t 。通过修改其初相位对应角度值,即可得到和上图一致的正确角度方程 -360t%2B%2090 。


角度方程:180/Pi*atan(0.5*tan(2*Pi*$t$))

再例如这张图里的椭圆,其切线方程的形式为:

f'(t)%20%3D%20%5Cfrac%7By'%7D%7Bx'%7D%20%3D%20%5Cfrac%7B(200%5Ccos%202%5Cpi%20t)'%7D%7B(400%5Csin%202%5Cpi%20t)'%7D%20%20%3D%20%5Cfrac%7B200%5Ccdot%20%5Csin%202%5Cpi%20t%20%5Ccdot%202%5Cpi%7D%7B-400%5Ccos%202%5Cpi%20t%20%5Ccdot%202%5Cpi%7D%20%3D%20-%5Cfrac%7B1%7D%7B2%7D%20%5Ctan%202%5Cpi%20t 

切线方程转换为角度方程,则角度方程(弧度制)的形式为:

%5Carctan(f'(x))%20%3D%20%5Carctan(-%5Cfrac%7B1%7D%7B2%7D%20%5Ctan%202%5Cpi%20t)%20%3D%20-%5Carctan(%5Cfrac%7B1%7D%7B2%7D%20%5Ctan%202%5Cpi%20t)%20

将其转换为角度制,可知正确的角度方程为 -%5Carctan(%5Cfrac%7B1%7D%7B2%7D%20%5Ctan%202%5Cpi%20t)%20 。通过修改其初相位对应角度值,即可得到和上图一致的正确角度方程 %5Cfrac%7B180%7D%7B%5Cpi%7D%5Ccdot%20%20%5Carctan(%5Cfrac%7B1%7D%7B2%7D%20%5Ctan%202%5Cpi%20t) 。

由于 %5Ctan%20x 本身的一些特殊性质(趋近方向),我们得到的曲线轨迹中本应突变的地方没有突变,我们需要手动对连接处的角度值进行修改,如下图。

将起始的90度修改为-90度即可

让我们来总结一下整个流程。
一、利用前置结论和轨迹的参数方程,求出轨迹的切线方程。

二、利用 %5Carctan 函数,对切线方程进行处理,得到弧度制下的角度方程。

三、利用弧度制角度制的转换,得到角度制下的角度方程,并对其进行修饰,观察其是否符合实际情况(如是否删去负号,加上或减去90/180/270度的初相位。很抱歉,我的能力有限,没有办法解释这一步修饰的原理,好在这一步修饰的工作量不大,最多只需尝试八次即可得到正确结果)。

四、将结果式填入“角度方程”一栏中,生成轨迹,并对生成的事件进行微调,以使其符合实际情况。

补丁链接:

https://pan.baidu.com/s/1UekCiFp9AaKyjOqpFfyjZA?pwd=virb

https://drive.google.com/drive/folders/1vPsnXGUxPcnaKBcWObOAziBvxfFYBi1z?usp=share_link


这篇教程花费了我不少心思,再次感谢RPE公测群的各位朋友对我的支持,我会继续努力!

本教程中的图片均为我使用 Re:PhiEdit 制作。



【Re:PhiEdit / RPE】 曲线轨迹教程 ·【三】切线与角度方程求法(二)的评论 (共 条)

分享到微博请遵守国家法律