跳转到主要内容

我希望在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.phimaff.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 (3.7 kB 查看哈希值)

上传时间

构建分布

maff-0.1-py2.py3-none-any.whl (5.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面