2024年2月14日,今天是情人节!
不知道大家有没有看过电视剧《点燃我,温暖你》里李迅的爱情,所以我在这里给大家看一点。
如何制作心脏跳动的心脏程序?
求高编号心形参数方程:
x = sin^3(θ)在书写心形时,我们只需将 x、y 乘以半径 r 并放大即可。y = (13 * cos(θ)5 * cos(2θ) 3 * cos(3θ) cos(4θ))/ 16
从上面的等式中,可以得到曲线上的许多点,这些点表示为集合 s
第 2 步:在曲线内生成点。
对于内部点,我们向内扩散 s,使其符合指数分布,我们得到 s'
设 e m, n] 和 e e( )。
p (x, y) s 的向内扩散产生点 p' ∈ s':
p' = (x, y) *e
扩散程度取决于参数 m、n、
对于外点,我们向外扩散 s,使其符合均匀分布,我们得到 s''
设 u u [1, 1 + b]。
向外展开到 p (x, y) s 得到点 p'' ∈ s'':
p'' = (x, y) *u
扩散程度取决于参数 b
以上知识的伏笔只能达到静态的模式,而为了达到动画效果,就需要加入一个周期性的跳动来模拟我们心跳的过程。
引入时间参数 t 和周期函数 t(t) = sin 2(t)(可以是其他周期函数,具体取决于效果)。
对于 p s u s'
周期性缩放的程度与其与原点的距离 d 成反比,可以通过 r d 来测量(r 是心形曲线的半径)。
将顺序 i 添加到其中以增加距离对缩放程度 (r d) i 的影响
我们可以得到以下函数。
d' = d * 1 + a * t(t) *r/d)^i)当内点收缩到最小值时,外点达到最大值,因此它与上述等式相差一个相位。
运行程序,该程序将在 Visual C++ 2022 操作环境中运行测试。
编译程序,运行。
您可以看到一个心形跳动动画直接弹出。
程序**拦截未完成,有需要可以发送私信。
情人节