Python實現圓形鼓面聲波動畫示例

2021-10-09 08:41:28 字數 716 閱讀 7377

本文將開發產生圓形鼓面聲波圖形所需的圖形和動畫機制。

一維波形可以通過傅利葉分析描述為由正弦波之和組成,以整數諧波間隔組成。

在敲擊樂器(例如鼓)的作用下,二維膜上的波傳播受貝塞爾微分方程

的控制。 x = 0的值被稱為第一類貝塞爾函式,可用於模擬圓形或環形薄膜(例如鈴鼓或鼓頭)的振動模式。 下面繪製了α= 0、1、2時的第一類jα的貝塞爾函式。

圓形傳播的彈性薄圓形膜受貝塞爾微分方程解的控制。 諧波不再是基頻的整數倍之和,而是諧音。 相反,鼓面模式是由多個不和諧部分,基本頻率的非整數倍組成,也即是諧音。

在二維中,這些鼓面模式看起來像輪廓圖:

而在3d上,高度膨脹,它們看起來像下面影象:

這些模式的動畫是通過雙重緩衝技術實現的。 兩個相同的緩衝區

以及指向每個緩衝區的一對指標。 完成繪圖後,將交換兩個指標。 這樣,當前的顯示緩衝區將成為先前的繪圖緩衝區,而新的圖形緩衝區將成為先前的顯示緩衝區。

作為乙個簡單的圖形函式示例

特點說明:

結果數字應與之前顯示的數字進行比較

特點說明:

結果圖形:

該程式作為簡單的2d動畫,說明了的加法合成器。

特點說明:

結果圖形:

詳情參閱

Android ImageView實現圓形頭像

一 原理解析 先在canvas上面畫乙個圓形,參照圓形的起點座標 半徑,再畫乙個邊長為圓的直徑的bitmap 這個bitmap就是你想畫的圓形頭像 此時圓和bitmap重疊在一起,圓在下面,bitmap在上面,bitmap覆蓋著圓。這時,圓形和bitmap相交的部分正是圓大小的面積,如果能將bitm...

Python圓形場景轉換

提取兩張的紅色通道亮度值構建灰度圖,找到noble grey影象的中心點 x0,y0 以變數t作為迴圈變數,設 x,y 為noble grey影象中的畫素點位置,當 x,y 與 x0,y0 的歐式距離小於10 t時,將該畫素點替換為lena grey影象中 x,y 處畫素點的值。每次迴圈都將處理好的...

iOS 圓形頭像如何實現

思路 view有乙個屬性layer,通過設定cornerradius來設定圓角的半徑,view是正方形的才能保證通過調整圓角半徑來形成圓形頭像 view layer setcornerradius cgrectgetheight view bounds 2 view.layer.maskstobou...