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 操作環境中執行測試。
編譯程式,執行。
您可以看到乙個心形跳動動畫直接彈出。
程式**攔截未完成,有需要可以傳送私信。
情人節