我希望在math模块中存在的Python便利函数
项目描述
# maff Python便利函数,我希望它们存在于math模块中,以及一些我认为不应该存在的。
## 快速使用
import maff print(maff.ease(0.1))
首次导入maff时,它还将自己的函数导入到math模块中,因此您可以在任何导入math的模块中通过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.sign(x):x的符号。
maff.clamp(x, a, b):将x限制在[a, b]范围内。
maff.mix(x, y, a):使用混合因子a混合x和y的值。
maff.step(edge, x):具有给定边界的x的Heaviside阶梯函数。
maff.smoothstep(edge0, edge1, x):具有edge0和edge1之间Hermite插值的阶梯函数。
maff.length(v):向量v的长度。可以是任何可迭代对象。
maff.distance(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):x 在范围 (0, 1) 中的 Hermite 插值。等于 maff.smoothstep(0, 1, x)。
maff.fade(x, x0, dx):从 x = x0 开始淡入 0 到 1,淡入间隔为 dx。
maff.smoothfade(x, x0, dx):类似于 fade,使用 Hermite 插值。
maff.dfade(x, x0, x1, dx):从 0 到 1 的双淡入,从 x0 开始,然后从 1 回到 0 结束于 x1,两端都有 dx 的淡入间隔。
maff.dsmoothfade(x, x0, x1, dx):具有 Hermite 插值的双淡入。
## 接近函数
maff.approach(x, y, dx):沿 y 方向增加或减少 x 的数量 dx。如果 x 和 y 之间的距离小于 dx,则返回 y。x 和 y 可以是向量。
maff.softapproach(x, y, dlogx):增加或减少 x 的数量由 dlogx 确定。dlogx 是 0 到无穷大之间的无单位参数。如果 dlogx 为 0,则返回 x。对于足够大的 dlogx,则返回 y。重复调用此函数并更新 x 的值将给出以 1 / dlogx 为时间尺度因子的指数衰减到 y。
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(theta, r):r cos(theta), r sin(theta) 的 2 元组。
maff.CSround(ntheta):产生 ntheta 个 cos(theta), sin(theta) 的 2 元组,这些元组围绕单位圆分布。
maff.CSround(ntheta, r=1, jtheta0=0):指定半径和偏移。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
maff-0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cecf9b6b4ecd1109bb9f3d4913e8a5d380ddcb11ed2e1978ba4574657cdd41d0 |
|
MD5 | 4aa7f5c9d324d0b02ee6c3555ceb0126 |
|
BLAKE2b-256 | b9cf33eec3ca733167e74eb74f3bb29b1c68cd7872ee4396eb3c68cf7fe6eb44 |
maff-0.1-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d01384fcb53a35257c3c16dfb9dfb70638e8dd18c038f6296d00c0b4ca9181c6 |
|
MD5 | 1f88661cdaf1bba8e959915d42b79389 |
|
BLAKE2b-256 | e632cba911b907e9add4230a3f7d004950871ede15ec96fe3448fcff735bc96a |