我想做一个 js 动画,知道 x 的值,怎么求 y
1
czfy 2022-03-04 13:08:19 +08:00
这是正态分布?
|
2
a627667970 2022-03-04 13:09:02 +08:00
正态分布?
|
3
moen 2022-03-04 13:09:07 +08:00
这不就是贝塞尔曲线?
|
4
lujjjh 2022-03-04 13:15:04 +08:00
信息太少,推荐 https://easings.net/
|
5
yggd 2022-03-04 13:28:54 +08:00
贝塞尔曲线啊,控制点都给出了
https://javascript.info/bezier-curve |
6
noe132 2022-03-04 13:33:04 +08:00
如果是标准的 cubic rezier
https://cubic-bezier.com/#.4,0,.6,1 const bezierEasing = require("bezier-easing") const curve = bezierEasing(0.4, 0, 0.6, 1) const xs = Array(11).fill(0).map((_, i) => i * 0.1) const arr = xs.map(x => [x, curve(x)]) arr.forEach(pair => console.log(pair)) https://runkit.com/noe132/6221a3eec7c2b10008a4b158 |
7
mxT52CRuqR6o5 2022-03-04 13:33:11 +08:00 via Android
贝塞尔曲线+1
|
8
zeronofreya OP @lujjjh 我更新了一下
|
9
zeronofreya OP @czfy js 动画用的
|
10
zeronofreya OP @noe132 我用这个库没法计算,不知道 x 的值,必须要曲线方程求解
|
11
thedrwu 2022-03-04 15:49:12 +08:00 via Android
exp(x*x/(x*x-c*c))
x 从-c 到+c |
12
thedrwu 2022-03-04 15:51:55 +08:00 via Android
无限可微,边界所有导数都是 0
distribution 基函数的例子 |
13
misdake 2022-03-04 16:00:36 +08:00
2 个端点 2 个控制点的贝塞尔曲线,是 3 次的参数方程,给 x 解 y 的话,把三次方程求根公式搞进去,外部保证有唯一解,求出满足范围的实数解 t ,把 t 带入 y 的方程就能得到 y 。你现在的需求更复杂,自变量还有当前的 y ,很麻烦啊。
不要求精确解的话,不如直接二分法求 t ,再用 t 求 y 。 |
14
misdake 2022-03-04 16:07:26 +08:00
另外看你这个示意图,求的是一个斜率为 2 的直线和曲线的交点,如果 y0/x0 足够大,完全可能有 3 个解。
|