我希望在数学模块中包含的python便利函数
maff的Python项目详细描述
#马夫 我希望在数学模块中包含python便利函数,以及一些我同意的函数 可能不应该。
##快速使用
import maff print(maff.ease(0.1))
第一次导入maff时,它还会用自己的函数污染math模块,因此 您可以在任何导入数学的模块上通过数学调用它们。
import maff, math print(math.ease(0.1))
##安装
下载maff.py并将其放入源目录。从命令行安装:
curl https://raw.githubusercontent.com/cosmologicon/maff/master/maff.py > my-source-directory/maff.py
##使用说明
顾名思义,这是一个有点轻浮的模块,不建议太严肃 使用。我打算用它来塞车。
##常数
maff.tau:等于2pi的圆常数。
maff.phi和maff.phi:黄金比率和倒数黄金比率。
##从glsl获取的函数
maff.符号(x):x的符号。
maff.夹钳(x,a,b):夹钳x到范围[a,b]。
< > > MAFF。混合(x,y,a)< /c> >:将值x和y与混合因子a/p>混合。maff.step(边,x):给定边的x的heaviside阶跃函数。
maff.smoothstep(edge0,edge1,x):在edge0和edge1之间使用hermite插值的阶跃函数。
maff.length(v):向量v.的长度可以是任意iterable。
maff.距离(v0,v1):向量v0和v1之间的距离
maff.dot(v0,v1):点积
maff.norm(v)或maff.normalize(v):将向量规格化为长度1。不会在零向量上失败。
maff.norm(v,a)或maff.normalize(v,a):将向量规格化为长度a。
##淡入度功能
maff.ease(x):范围(0,1)内x的hermite插值。等于maff.smoothstep(0,1,x)。
maff.fade(x,x0,dx):从0衰减到1,从x=x0开始,衰减间隔为dx。
maff.smoothfade(x,x0,dx):类似于使用hermite插值的fade。
maff.dfade(x,x0,x1,dx):从0到1的双衰减,从x0开始,然后从1到0结束于 x1,两端的衰减间隔为dx。
maff.dsmoothdefead(x,x0,x1,dx):带hermite插值的双衰减。
##接近功能
maff.approach(x,y,dx):沿y方向增加或减少x的数量dx。如果 x和y之间的距离小于dx,然后返回y。x和y可以是向量。
maff.softapproach(x,y,dlogx):按dlogx确定的数量增加或减少x。Dlogx是 介于0和无穷大之间的无单位参数。如果dlogx为0,则返回x。为了 足够大的dlogx,则返回y。重复调用并更新 x将向y呈指数衰减,时间刻度因子为1/dlogx。
maff.softapproach(x,y,dlogx,dxmax=inf,dymin=0.1):计算进近距离dx后, 与dxmax相比。如果它超过了dxmax,那么它的上限是dxmax。如果结果是 距离y小于dymin,则返回y。这是因为随着指数衰减 不可能精确到Y。
##其他功能
maff.cs(theta):cos(theta)、sin(theta)的2元组。
maff.cs(θ,r):r cos(θ),r sin(θ)的2元组。
maff.csround(ntheta):生成n个cos(theta)的2元组,sin(theta)分布在 单位圆。
maff.csround(ntheta,r=1,jtheta0=0):指定半径和偏移量。