為什麼抖音特效有眼睛
❶ 抖音愛心特效眼鏡是什麼原理
原理如下:
是小圓圈裡的微結構帶來了愛心形狀的光暈,而沒有小圓圈的鏡片普通區域是正常通光的,這些通過的光正常成像,讓我們依舊可以看清原來的物體。
簡單說,在眼鏡上實現了「分光瞳「——部分光還是按照原來的方式成像,但另外部分光散開成了愛心的形狀。(當然小圓圈衍射區域內也能透過原始光路的光線,0級衍射肯定是存在的,也能實現對原始物體的成像。
把問題的模型簡化一下,遠處的路燈就把它近似處理成點光源無窮遠處平行光入射,眼鏡上的衍射區域可以對入射的平面波前添加一個波前調制,而人的眼睛(或手機攝像頭)就當作一個理想的成像鏡頭。
眼鏡片上的衍射區域可以輕易地用一些材料圖形(微結構pattern)實現對每根入射光的相位進行延後(調制)。譬如,如果要使得最上面這跟光線的相位延後pi/2,那麼只需在最上面這跟光線與眼鏡片接觸的地方貼上λ/4(n-1)厚度的材料就可以了。
對於普通的眼鏡片,平面波前入射,平面波前出射。而對於使用了衍射面(相位調制)後的眼鏡片,出射波前可以被修改成各種奇怪的形狀。此處在Zemax中把眼鏡片位置的面型改為一個Binary 2相位面,來模擬其施加的額外相位以及最終波前形狀。
注意紅色虛線為此處通過波前調制後的大致相位分布,即波前。我們知道對波前求導就可以獲取光線傳播方向,於是也就可以看到像面上的光線散了開來。
這個眼鏡也是用了同樣的原理,對通過特殊的相位調制,獲取了一個設計過的波前,這個波前對應到像面就是變成了愛心的形狀。
那麼如何根據最終想要形成的愛心圖形來設計相位調制面的pattern呢?這個我么可以通過一種叫做IFTA (Iterative Fourier Transform Algorithm) 迭代傅里葉的演算法,或者也叫Gerchberg-Saxton演算法來實現。到這里基本原理講完了,應該是不難理解的。