CN101458822A - 一种3d模型的计算全息图快速生成方法 - Google Patents

一种3d模型的计算全息图快速生成方法 Download PDF

Info

Publication number
CN101458822A
CN101458822A CNA2008102206111A CN200810220611A CN101458822A CN 101458822 A CN101458822 A CN 101458822A CN A2008102206111 A CNA2008102206111 A CN A2008102206111A CN 200810220611 A CN200810220611 A CN 200810220611A CN 101458822 A CN101458822 A CN 101458822A
Authority
CN
China
Prior art keywords
centerdot
coefficient
eta
tri patch
lambda
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008102206111A
Other languages
English (en)
Other versions
CN101458822B (zh
Inventor
李军
李艳辉
武建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
University of Jinan
Original Assignee
Jinan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN2008102206111A priority Critical patent/CN101458822B/zh
Publication of CN101458822A publication Critical patent/CN101458822A/zh
Application granted granted Critical
Publication of CN101458822B publication Critical patent/CN101458822B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • G03H1/0808Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H2210/00Object characteristics
    • G03H2210/40Synthetic representation, i.e. digital or optical object decomposition
    • G03H2210/45Representation of the decomposed object

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Holo Graphy (AREA)

Abstract

本发明公开了一种3D模型的计算全息图快速生成方法,在世界坐标系中的三角面片经过平移和一系列的旋转后,变换到“标准位置”,同时,对三角面片实施的变换,同样在全息面上进行,使全息面与物面中的三角面片的相对位置在三角面片坐标变换后保持不变。通过菲涅耳衍射积分公式推导出全息面上任意一点光场与三角面片顶点光场间的关系,然后将特定三角面片顶点坐标和光场代入公式求出全息面上各采样点光场。本发明极大地节省了计算量、避免了物面的采样误差且可生成任意分辨率的计算全息图。

Description

一种3D模型的计算全息图快速生成方法
技术领域
本发明涉及利用全息技术取得光学图像的方法,具体是指一种3D模型的计算全息图的快速生成方法。
背景技术
目前,大部分三维物体的显示是通过投影到二维平面上实现的,丢失了景深信息,观察者只能通过遮挡关系等线索感知三维物体。三维立体显示技术的出现使真实再现三维场景成为可能。
通过给左、右眼呈现两幅不同的视差图像,可以提供视觉感知的深度信息,达到三维显示的目的。双色立体图、立体眼镜、偏光镜等都是采用“视差图像对”原理的立体显示技术,但都需要佩戴眼镜,使用不便;同时视差图像对生成时,对焦距等参数的选择也有一些限制,某些场景的三维表现不理想。
根据双眼的视角不同,多视图立体显示器通过双眼不同的观察角度获取具有视差的左右两幅图像而获得立体视觉感受。但它对观测区域有特定要求,头部的转动可能出现重影等问题。因此,该技术需要头部跟踪系统,相关技术复杂;并且该系统只适合单人收看。
全息图能同时记录物光波的强度和相位信息,可以逼真地再现物体的三维像,其应用范围覆盖了商品虚拟展示、广告、娱乐、教育及艺术等领域,显示了巨大的市场潜力。计算全息图的产生不需要复杂和精密的相干光设备,并且可以产生现实世界中并不存在的物体的全息图,且能非常容易地进行参数的调整。通过相干光照射,可以在空间再现原场景的光场分布,因此,其逼真度很高,观察者不需佩戴附属观察设备,可供多人观察。
在二维的物平面上,肉眼可观察尺寸物体的计算全息图需要接近光波波长量级采样,计算全息图要分别在物平面上和全息面上采样后计算产生。由于光波的波长相对肉眼可观察的尺寸要小很多,因此采样点数量很大,从而导致计算量非常巨大,需要耗费很长的时间。
很多软件工具可以创作3D模型,它可以仿真现实场景,在广告、游戏等领域已经广泛应用。计算全息图的优势之一是不需要实际场景,而3D模型作为一种虚拟场景,其计算全息图的生成技术目前较少且发展不成熟。通常的方法是将3D模型分层,按二维的方法分别计算全息图,然后叠加在一起获得三维物体的全息图。这样将进一步增加计算量。
综上所述,3D模型的计算全息图具有很大的实用价值,但现有的技术没有利用3D模型本身的构造特点来设计快速算法。其技术瓶颈在于计算量非常巨大,需要耗费的时间很长;同时,计算量巨大也相应地对硬件提出了更高的要求,导致计算设备的投资增加。
发明内容
本发明在于克服现有技术的缺点和不足,提供一种3D模型的计算全息图的快速生成方法。3D模型由三角面片组成,从其顶点控制其外观表现出发,通过推导建立了顶点参数与计算全息图之间的联系,得到一组生成计算全息图的公式。只要将3D模型各顶点的数据代入公式,就可以求出计算全息图,从而节省了计算量、适用性强、精度高、设备要求低,且可生成任意分辨率的计算全息图。
本发明的目的是通过以下方案实施的:一种3D模型的计算全息图快速生成方法,包括以下步骤,如图9所示:
(1)根据需要确定全息面的位置与大小,选择全息面上的各采样点的位置,即得到各采样点的坐标,则各采样点及其坐标表示为S(xs,ys,zs),置此时各采样点S(xs,ys,zs)的光场初值Us(xs,ys,zs)为0;
(2)由于3D模型由三角面片组成,其顶点控制其外观表现,标记3D模型中通过“背面消隐”后保留的三角面片为0,表示其没被处理过。
使用“背面消隐”技术,可以确定3D模型中哪些三角面片的光场可以投射到全息面上。在3D模型中,根据各三角面片的顶点的排列顺序和3D模型的规定,可以确定三角面片的正面。一般3D模型中规定,通过三角面片的任意两边对应的矢量叉乘后得到其法线。该法线与全息面法线的点乘除以它们的模可得两法线夹角的余弦,如果该余弦非正,则背对全息面,标记为1,其它标记为0;
(3)选择任意标记为0的三角面片,标记为1,在世界坐标系中,设标记为1的三角面片的三个顶点坐标分别是Aw(xwa,ywa,zwa)、Bw(xwb,ywb,zwb)和Cw(xwc,ywc,zwc),如图1,将该标记为1的三角面片△W中最长的边变换到x轴上,将最长边定为AwCw,这样将保持在第一象限和第二象限分别有一个子区域。计算空间任意两点(x1,y1,z1)和(x2,y2,z2)距离的公式为:
d = ( x 1 - x 2 ) 2 + ( y 1 - y 2 ) 2 + ( z 1 - z 2 ) 2 - - - ( 1 )
对任意的三角形面片,根据其三个顶点的坐标,可以分别计算三条边的长度,这样可以确定边AwCw
接下来要确定点BW至边AwCw的垂足V(xv,yv,zv),作为移动到原点的基点。将图1中各点看作从原点发出的向量终点,则直线AwCw可以表示为:
OV → = OC w → + t · n → - - - ( 2 )
其中
Figure A200810220611D00093
表示直线AwCw方向向量
n → = OA → w - OC w → - - - ( 3 )
t表示一个(-∞,+∞)范围内的实数。由垂直关系,可知:
VB w → · n → = 0
即:
( OV → - OB → w ) · n → = 0 - - - ( 4 )
将式(2)与式(3)代入上式,有:
[ OC w → + t · ( OA w → - OC w → ) - OB w → ] · ( OA → w - OC w → ) = 0
根据点Aw、Bw、Cw的坐标,得到各向量分量,代入上式后:
[ x wc + t · ( x wa - x wc ) - x wb , y wc + t · ( y wa - y wc ) - y wb , z wc + t · ( z wa - z wc ) - z wb ] · x wa - x wc y wa - y wc z wa - z wc = 0
即:
(xwc-xwb)(xwa-xwc)+t·(xwa-xwc)2+(ywc-ywb)(ywa-ywc)+t·(ywa-ywc)2
+(zwc-zwb)(zwa-zwc)+t·(zwa-zwc)2=0
整理后得:
t = ( x wb - x wc ) ( x wa - x wc ) + ( y wb - y wc ) ( y wa - y wc ) + ( z wb - z wc ) ( z wa - z wc ) ( x wa - x wc ) 2 + ( y wa - y wc ) 2 + ( z wa - z wc ) 2 - - - ( 5 )
这样就求出了t,将其代入式(2)可确定垂足V的坐标(xv,yv,zv),即:
x v y v z v = x wc + t · ( x wa - x wc ) y wc + t · ( y wa - y wc ) z wc + t · ( z wa - z wc ) - - - ( 6 )
然后把垂足V移动到世界坐标系的原点0,同时对应地将整个三角面片△W进行移动,△W变换成△W1,对应的坐标为:
x 1 a = x wa - x v , y 1 a = y wa - y v , z 1 a = z wa - z v x 1 b = x wb - x v , y 1 b = y wb - y v , z 1 b = z wb - z v x 1 c = x wc - x v , y 1 c = y wc - y v , z 1 c = z wc - z v - - - ( 7 )
则该标记为1的三角面片平移后三个顶点的坐标分别是A1(x1a,y1a,z1a)、B1(x1b,y1b,z1b)和C1(x1c,y1c,z1c),如图2;
(4)对步骤(3)中平移后标记为1的三角面片△W1进行旋转:
(4.1)将△W1绕z轴旋转α,使边A1C1旋转至x-z平面内,△W1变换成△W2,绕z轴旋转的矩阵为:
M 1 = cos α sin α 0 - sin α cos α 0 0 0 1 - - - ( 8 )
其中 cos α = x 1 a x 1 a 2 + y 1 a 2 ,   sin α = y 1 a x 1 a 2 + y 1 a 2
旋转后三角面片△W2如图3所示,△W2中各顶点坐标为:
x 2 a y 2 a z 2 a = M 1 · x 1 a y 1 a z 1 a ,   x 2 b y 2 b z 2 b = M 1 · x 1 b y 1 b z 1 b ,   x 2 c y 2 c z 2 c = M 1 · x 1 c y 1 c z 1 c - - - ( 9 )
(4.2)然后三角面片△W2绕y轴旋转β,使边A2C2与x轴重合,△W2变换成△W3,绕y轴旋转的矩阵为:
M 2 = cos β 0 sin β 0 1 0 - sin β 0 cos β - - - ( 10 )
其中 cos β = x 2 a x 2 a 2 + z 2 a 2 ,   sin β = z 2 a x 2 a 2 + z 2 a 2
旋转后三角面片△W3如图4所示,旋转后△W3中各顶点坐标为:
x 3 a y 3 a z 3 a = M 2 · x 2 a y 2 a z 2 a ,   x 3 b y 3 b z 3 b = M 2 · x 2 b y 2 b z 2 b ,   x 3 c y 3 c z 3 c = M 2 · x 2 c y 2 c z 2 c - - - ( 11 )
(4.3)然后三角面片△W3绕x轴旋转γ至x-y平面内,△W3变换成△W4,绕x轴旋转的矩阵为:
M 3 = 1 0 0 0 cos γ sin γ 0 - sin γ cos γ - - - ( 12 )
其中 cos γ = y 3 b y 3 b 2 + z 3 b 2 ,   sin γ = z 3 b y 3 b 2 + z 3 b 2
旋转后三角面片△ABC如图5所示,旋转后其各顶点坐标为:
x a y a z a = M 3 · x 3 a y 3 a z 3 a ,   x b y b z b = M 3 · x 3 b y 3 b z 3 b ,   x c y c z c = M 3 · x 3 c y 3 c z 3 c - - - ( 13 )
则该标记为1的三角面片旋转后三个顶点的坐标分别是A(xa,ya,za)、B(xb,yb,zb)和C(xc,yc,zc)。这样,最后三角形面片便旋转到了x-y平面内,并以y轴为分界线分割成两个子区域,这里把图5所示三角面片在坐标系中的位置,称为“标准位置”,在该位置,整个三角面片在x-y平面内,因此没有指出z轴。
式(9)、式(11)、式(13)可合并为简洁的形式:
x a y a z a = M 3 · M 2 · M 1 · x 1 a y 1 a z 1 a ,   x b y b z b = M 3 · M 2 · M 1 · x 1 b y 1 b z 1 b ,   x c y c z c = M 3 · M 2 · M 1 · x 1 c y 1 c z 1 c - - - ( 14 )
世界坐标系中的任意三角面片经步骤(3)和步骤(4)的调整最终都可以达到“标准位置”。
(5)根据步骤(3)的V(xv,yv,zv)和步骤(4)中的M1、M2、M3,将全息面进行平移和旋转,使全息面与该标记为1的三角形面片的相对位置,在三角面片坐标变换后保持不变,具体的方法是:
要计算的是全息面上各采样点的光场,因此,对全息面位置的变换,体现在对各采样点S(xs,ys,zs)位置的变换,该变换与该标记为1的三角形面片的变换完全相同,以保持全息面与该标记为1的三角形面片的相对位置不变。设变换后的采样点及其坐标为S′(u,v,η),则通过下式求变换后采样点的位置:
u v η = M 3 · M 2 · M 1 · x s - x v y s - y v z s - z v - - - ( 15 )
(6)计算全息面上各采样点S′(u,v,η)的光场U(u,v,η),然后累加到全息面上各采样点原来的光场值Us(xs,ys,zs)上:
ΔABC可看作一个衍射孔径,全息面可看作衍射屏,如图6。根据菲涅耳衍射积分公式:
U ( u , v , η ) = e jkη jλη e j k 2 η ( u 2 + v 2 ) ∫ ∫ Δ { U ( x , y ) e j k 2 η ( x 2 + y 2 ) } e - j 2 π λη ( ux + vy ) dxdy - - - ( 16 )
其中j2=-1,λ为波长,k为波数,定义为k=2π/λ,e为自然常数,U(x,y)是x-y平面内三角面片上的光场的分布。
三角面片上的相位分布不影响强度分布,而人眼对相位不敏感,因此想从计算全息图重建的是强度分布。可以让物光场U(x,y)的相位为
Figure A200810220611D00116
这样式(16)简化为:
U ( u , v , η ) = e jkη jλη e j k 2 η ( u 2 + v 2 ) ∫ ∫ Δ | U ( x , y ) | e - j 2 π λη ( ux + vy ) dxdy - - - ( 17 )
|U(x,y)|表示一个0相位的光场,可以通过三角面片的顶点光场插值获得。由于接下来的分析不涉及U(x,y)的相位,因此以下不加区别地使用符号|U|与U。
任意一个三角型面片都可以旋转到图5的状态,它实际上由两个三角形组成,所以式(17)可以变形为:
U ( u , v , η ) = e jkη jλη e j k 2 η ( u 2 + v 2 ) [ ∫ ∫ Δ 1 U 1 ( x , y ) e - j 2 π λη ( ux + vy ) dxdy + ∫ ∫ Δ 2 U 2 ( x , y ) e - j 2 π λη ( ux + vy ) dxdy - - - ( 18 )
式(18)中U1(x,y)和U2(x,y)分别代表三角形△1和△2上的光场。
进一步地,设:
U 1 ( u , v , η ) = ∫ ∫ Δ 1 U 1 ( x , y ) e - j 2 π λη ( ux + vy ) dxdy - - - ( 19 )
U 2 ( u , v , η ) = ∫ ∫ Δ 2 U 2 ( x , y ) e - j 2 π λη ( ux + vy ) dxdy - - - ( 20 )
则式(18)可表示为:
U ( u , v , η ) = e jkη jλη e j k 2 η ( u 2 + v 2 ) [ U 1 ( u , v , η ) + U 2 ( u , v , η ) ] - - - ( 21 )
如图7所示,已知三角形各顶点的坐标及光场,通过公式可推导出三角型中任一点的坐标与光场U1(x,y)、U2(x,y)的关系。这里点A、B、C的坐标分别是(xa,0)、(0,yb)、(xc,0),对应光场为Ua、Ub、Uc,U0是原点处光场,在对△1和△2的光场插值时使用:
U o = 1 x a - x c ( U c x a - U a x c ) - - - ( 22 )
按y方向插值得到:
U r = 1 y b [ U b y + U o ( y b - y ) ] - - - ( 23 )
U p = 1 y b [ U b y + U c ( y b - y ) ] - - - ( 24 )
U q = 1 y b [ U b y + U a ( y b - y ) ] - - - ( 25 )
光场Ur是为插值引入的中间变量,与其对应的点在y轴上,其y坐标与插值点的y坐标相等,Up、Uq对应三角形边上的点P、Q处光场。
根据三角形的比例关系,点P、Q的x坐标分别为:
x q = x a ( 1 - y y b ) - - - ( 26 )
x p = x c ( 1 - y y b ) - - - ( 27 )
按x方向插值得到两个三角形的光场:
U 1 = 1 x q [ U q x + U r ( x q - x ) ] - - - ( 28 )
U 2 = 1 x p [ U p x + U r ( x p - x ) ] - - - ( 29 )
为了计算式(19)和式(20),将二重积分转化成两个一重积分,先按x方向积分,再按y方向积分:
根据式(28)可将式(19)转化为:
U 1 ( u , v , η ) = ∫ 0 y b { ∫ 0 x a ( 1 - y / y b ) 1 x q [ U q x + U r ( x q - x ) ] e - j 2 π λη ux dx } e - j 2 π λη vy dy - - - ( 30 )
根据式(29)可将式(20)转化为:
U 2 ( u , v , η ) = ∫ 0 y b { ∫ x c ( 1 - y / y b ) 0 1 x p [ U p x + U r ( x p - x ) ] e - j 2 π λη ux dx } e - j 2 π λη vy dy - - - ( 31 )
(a)当u≠0且v≠0时,根据公式(30)、(31)求定积分后,将结果带入式(21)可得:
U ( u , v , η ) = 1 8 · j · λ · y b · η · e jk 2 η ( u 2 + v 2 + 2 η 2 ) · f 1 f 2 - - - ( 32 - 1 )
将f1表示成u、v与η的三元多项式的形式,多项式的项分别为u4、u3·v、u3·η、u2·v2、u2·v·η、u·v3、u·v2·η与v3·η:
f 1 = ( f 11 · r 1 u / z + f 12 · r 2 v / z + f 13 · r 3 u / z ) · u 4 + ( f 14 · r 1 u / z + f 15 · r 2 v / z + f 16 · r 3 u / z ) · u 3 · v +
( f 17 · r 1 u / z + f 18 · r 2 v / z + f 19 · r 3 u / z ) · u 3 · η + ( f 31 · r 1 u / z + f 32 · r 2 v / z + f 33 · r 3 u / z ) · u 2 · v 2
+ ( f 34 · r 1 u / z + f 35 · r 2 v / z + f 36 · r 3 u / z ) · u 2 · v · η + ( f 37 · r 1 u / z + f 38 · r 3 v / z ) · u · v 3 +
( f 41 · r 1 u / z + f 42 · r 3 u / z ) · u · v 2 · η + ( f 43 · r 1 u / z + f 44 · r 3 u / z ) · v 3 · η
f1的多项式系数计算时,需要先计算其系数r1、r2、r3,其计算公式为:
r 1 = e - 2 jπ x c / λ ,    r 2 = e - 2 jπ y b / λ ,    r 3 = e - 2 jπ x a / λ
计算多项式项u4的系数时,需要先计算其系数f11、f12、f13,其计算公式为:
f 11 = 2 π · ( x a 2 · x c 2 - x a 3 · x c ) · U c ,    f 12 = 2 π · ( x a 2 · x c - 2 x a 2 · x c 2 + x c 3 · x a ) · U b
f 13 = 2 π · ( x a 2 · x c 2 - x c 3 · x a ) · U a
计算多项式项u3·v的系数时,需要先计算其系数f14、f15、f16,其计算公式为:
f 14 = 2 π · y b · ( x a 3 - 2 x a · x c 2 + x a 2 · x c ) · U c ,    f 15 = 2 π · y b · ( x c 2 · x a - x c 3 - x a 3 + x a 2 · x c ) · U b ,
f 16 = 2 π · y b · ( x c 2 · x a - 2 x a 2 + x a 2 ) · U a
计算多项式项u3·η的系数时,需要先计算其系数f17、f18、f19,其计算公式为:
f 17 = j · λ · [ ( x a 2 · x c - x a 3 ) · ( U b - U c ) + x a 2 · x c · U a ]
f 18 = j · λ · [ ( 2 x c 2 · x a - x a 2 · x c - x c 3 ) · U a + ( x a 3 - x a 2 · x c - x c 2 · x a + x c 3 ) · U b
     + ( 2 x a 2 · x c - x c 2 · x a - x a 3 ) · U c ]
f 19 = j · λ · [ ( x c 3 - 2 x c 2 · x a ) · U a + ( x c 2 · x a - x c 3 ) · U b + x a · x c 2 · U c ]
计算多项式项u2·v2的系数时,需要先计算其系数f31、f32、f33,其计算公式为:
f 31 = 2 π · y b 2 · ( x c 2 - 2 x a 2 + x a · x c ) · U c ,    f 32 = 2 π · y b 2 · ( x a - x c ) 2 · U b
f 33 = 2 π · y b 2 · ( x a 2 - 2 x c 2 + x a · x c ) · U a
计算多项式项u2·v·η的系数时,需要先计算其系数f34、f35、f36,其计算公式为:
f 34 = j · λ · y b · [ 2 ( x a 2 - x a · x c ) · U b - ( x a 2 + 2 x a x c ) · U a + ( 4 x a · x c - x a 2 ) · U c ]
f35=j·λ·yb·(xa-xc)2·(Ua-2Ub+Uc)
f 36 = j · λ · y b · [ ( 4 x a · x c - x c 2 ) · U a + 2 ( x c 2 - x a · x c ) · U b - ( x c 2 + 2 x a · x c ) · U c ]
计算多项式项u·v3的系数时,需要先计算其系数f37、f38,其计算公式为:
f 37 = 2 π · y b 3 · ( x a - x c ) · U c ,    f 38 = 2 π · y b 3 · ( x c - x a ) · U a
计算多项式项u·v2·η的系数时,需要先计算其系数f41、f42,其计算公式为:
f 41 = j · λ · y b 2 · [ ( 2 x a + x c ) · U a + ( x c - x a ) · U b - ( x a + 2 x c ) · U c ] , f 42 = - f 41
计算多项式项v3·η的系数时,需要先计算其系数f43、f44,其计算公式为:
f 43 = j · λ · y b 3 · ( U c - U a ) ,     f44=-f43
将f2表示成u与v的二元多项式的形式:
f2=f21·u6+f22·u5·v+f23·u4·v2+f24·u3·v3+f25·u2·v4
多项式项u6的系数f21用下式计算:
f 21 = π 3 · x c 2 · ( x a 3 - x a 2 · x c )
多项式项u5·v的系数f22用下式计算:
f 22 = 2 π 3 · y b · ( x c 3 · x a - x c · x a 3 )
多项式项u4·v2的系数f23用下式计算:
f 23 = π 3 · y b 2 · ( x a - x c ) · ( x c 2 + 4 x a · x c + x a 2 )
多项式项u3·v3的系数f24用下式计算:
f 24 = 2 π 3 · y b 3 · ( x c 2 - x a 2 )
多项式项u2·v4的系数f25用下式计算:
f 25 = π 3 · y b 4 · ( x a - x c )
作为公式(32-1)中的分子f2要求不为0,这里限定u≠0且v≠0来满足该条件。
公式(32-1)在使用时,需要引用上面计算系数r1、r2、r3、f11、f12、f13、f14、f15、f16、f17、f18、f19、f21、f22、f23、f24、f25、f31、f32、f33、f34、f35、f36、f37、f38、f41、f42、f43、f44的一组公式,称这一组公式为与公式(32-1)相关联的公式。对于某个三角面片,在计算所有采样点光场时,系数r1、r2、r3、f11、f12、f13、f14、f15、f16、f17、f18、f19、f21、f22、f23、f24、f25、f31、f32、f33、f34、f35、f36、f37、f38、f41、f42、f43、f44这些值只需要计算一次,因为它们的计算式中并不包含采样点的位置信息,它们只与三角面片本身相关,而与采样点的坐标无关。可见,引入这些系数符号,可以节约计算开销。
(b)当u=0且v≠0时,根据公式(30)、(31)求定积分后可得下列更简洁的形式:
U ( u , v , η ) = 1 8 · e jk 2 η ( u 2 + v 2 + 2 η 2 ) · [ f 3 · ( r 4 - 1 ) · z 2 · v - 3 + ( f 4 - f 5 · r 4 ) · z · v - 2 + f 6 · v - 1 ] - - - ( 32 - 2 )
其中,r4、f3、f4、f5、f6及下面要使用的r5这些系数是为了方便计算引入的符号,它们的计算公式如下:
r 4 = e - 2 jπ vy b / λ / η ,    r 5 = 2 j · λ · y b - 1 · π - 2 · ( x c - x a )
f 3 = ( U a + U c - 2 U b ) · ( x c - x a ) · λ 2 · y b - 2 · π - 3
f4=r5·(Ua+Uc-Ub),f5=r5·Ub,f6=2·(Ua+Uc)·(xc-xa)·π-1
公式(32-2)在使用时,需要引用上面的一组公式,称这一组公式为与公式(32-2)相关联的公式。对于某个三角面片,在计算所有采样点光场时,r5、f3、f4、f5、f6这些值只需要计算一次,因为它们也只与三角面片本身相关。
(c)当u=0且v=0时,根据公式(30)、(31)求定积分后可得下列更简洁的形式:
U ( u , v , η ) = y b · ( x a - x c ) · ( U a + U b + U c ) 6 j · λ · η · e jk 2 η ( u 2 + v 2 + 2 η 2 ) - - - ( 32 - 3 )
在上述(a)、(b)、(c)各情形中,j2=-1,λ为波长,k为波数,定义为k=2π/λ,e为自然常数,Ua、Ub、Uc是x-y平面内三角面片三个顶点A、B、C的光场;上述公式(32-1)、公式(32-2)、公式(32-3)是在不同条件下用不同的形式计算同一个量,统称为公式(32),与公式(32-1)、公式(32-2)相关联的公式,统称为与公式(32)相关联的公式。若要求取衍射到空间任一点的光场,只要给出该点的坐标(u,v,η),以及三角面片顶点的坐标与顶点处的光场,然后利用以上的一组公式,就可以求出其光场U(u,v,η)。最后将U(u,v,η)对应累加到全息面上各采样点的原光场值Us(xs,ys,zs)上。
(7)判断是否有标记为0的三角面片,若有,转步骤(3);若无,则求各采样点S(xs,ys,zs)处参考光的光场,叠加到Us(xs,ys,zs)上,产生计算全息图。
为更好的实现本发明,步骤(7)中所述参考光为球面光时,设参考点光源所在位置为(xr,yr,zr),发出的参考光在(xs,ys,zs)处的光场为:
R ( x s , y s , z s ) = R 0 ( 1 / ( z s - z r ) 2 + ( x s - x r ) 2 + ( y s - y r ) 2 ) e jk ( z s - z r ) 2 + ( x s - x r ) 2 + ( y s - y r ) 2 - - - ( 33 )
其中,R(xs,ys,zs)表示坐标为(xs,ys,zs)的采样点的参考光光场,R0表示与所选光源相关的复常数,其模为点光源发出的初始球面光波振幅,相位为点光源发出的初始球面光波的相位。
步骤(7)中所述参考光为平面光时,也需根据平面光波的特点计算该参考光在(xs,ys,zs)处的光场。从光源发出平面光波,到达距离τ处的分布Rτ为:
R τ = R p e jkτ - - - ( 34 )
其中Rp表示与所选平面光源相关的复常数,其模为光源位置的平面光波的振幅,相位为光源位置的平面光波的初始相位。设平面光波的单位方向向量为
Figure A200810220611D00162
朝向全息面,从坐标原点0到采样点S的向量为
Figure A200810220611D00163
则从S(xs,ys,zs)到光源所在平面的垂直距离为
Figure A200810220611D00164
Figure A200810220611D00165
的点积,将该距离作为τ代入公式(34),就得到了在点(xs,ys,zs)处的光场R(xs,ys,zs):
R ( x s , y s , z s ) = R p e jk ( x s x p + y s y p + z s z p ) - - - ( 35 )
本发明的作用原理是:相比较于将3D模型分层,然后分别在物面和全息面上采样的传统方法,本发明的特征是不对3D模型分层与采样,而是逐面片分别计算其全息面光场,然后将它们叠加在一起而得到计算全息图。由于3D模型由三角面片组成,其顶点控制其外观表现。每个三角面片可看成一个衍射孔径,然后可以利用菲涅耳衍射积分公式计算采样点的光场。由于三角面片内部的点光场由高洛德着色模式,通过双线性插值得到,因此,在该孔径上的光场分布可以表示为三个顶点的解析式,这样,全息面光场的分布仅取决于三角面片的三个顶点,本发明通过菲涅耳衍射积分公式推导出了全息面上任意一点光场与三角面片顶点光场间的关系,当计算全息面上采样点光场时,只要将特定三角面片顶点坐标和光场代入式(32)即可求出结果。但由于式(32)的推导是假设三角面片在“标准位置”的前提上进行的,因此,在世界坐标系中的三角面片需要变换到“标准位置”才可直接适用,同时,对三角面片实施的变换,同样在全息面上进行,使全息面与3D模型中三角形面片的相对位置,在坐标变换后保持不变。
本发明与现有技术相比,具有如下优点和有益效果:
(1)极大地节省了计算量,用本发明生成3D模型的计算全息图,可以以0(1)的时间复杂度计算空间任意点的光场,从而极大地提高了计算速度。设3D模型由M片三角面片组成,用传统方法要分别在3D模型的物平面上和全息面上采样后计算生成,设物平面上和全息面上的采样点数量都为N,全息图上每一个采样点和3D模型上的所有点相联系,则要计算N*N次光场的叠加,时间为0(N*N);而用本发明,只要将特定三角面片顶点坐标和光场代入公式,就可以求出该面片在采样点的光场,时间为0(M),各面片的光场叠加后就得到了采样点的光场,时间为0(M*N)。由于M<<N,因此,新方法极大地节省了计算量。
(2)避免了物面的采样误差,从而有利于3D模型的精确重建。现有技术需要将3D模型分层,然后在各层次上按照二维物面全息图的方法计算。在二维的物面上,需要根据物面的实际大小与光波波长对其采样,然后用离散化的方法计算。采样点的光场表示受到表示方法的限制,必然有量化误差;在离散化的运算过程中,中间的计算步骤也必然伴随着舍入误差。而新方法不需要在物面采样,避免了量化误差;根据新方法的一组公式,可从3D模型的顶点信息直接计算全息面上各采样点的光强,因此计算过程是基于“连续”的方法,而不是“离散”的方法,避免了中间计算步骤的舍入误差。
(3)可渐进地生成任意分辨率的计算全息图。在现有技术中,当需要保持3D场景中物体的细节时,需要较高的物面采样率;反之可以用较低采样率。如果当前生成了低采样率的计算全息图,当需要获取高采样率的计算全息图时,物面的重采样导致低采样率下的计算结果难于利用。由于新方法不需要物面采样,可以先生成低分辨率的计算全息图,然后再计算更多的全息面采样点的光场,加入到低分辨率的计算全息图中,从而生成高分辨率的计算全息图。
附图说明
图1是世界坐标中的三角面片示意图;
图2是三角面片移动到坐标系原点的示意图;
图3是三角面片绕Z轴旋转至X-Z的示意图;
图4是三角面片绕Y轴旋转至A2C2与X轴重合的示意图;
图5是三角面片绕X轴旋转至X-Y平面的示意图;
图6是三角面片上光场的衍射示意图;
图7是在三角面片上插值的示意图;
图8是3D模型通过本发明生成计算全息图的示意图;
图9是本发明3D模型的计算全息图产生的流程图。
具体实施方式
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例:
如图8所示,3D模型由4个面构成,分别是△ABC、△ABD、△ACD、△BCD。点A的坐标为(-0.85,0,-0.68),点B的坐标为(0,0,-0.34),点C的坐标为(-0.22,0.36,0.46),点D的坐标为(-0.63,0.95,0),坐标系的刻度单位为毫米。相应各顶点的光场振幅:A点为32,B点为85,C点为172,D点为40,这里光场振幅的单位为伏特/米,以下在没有指明的情况下都取该单位。这里选取的参考光为点光源,发出球面光波,R0=0.001,波长为625nm,位置坐标为(0,1,300)。全息面到世界坐标系中的原点距离为500毫米,全息面上一个采样点的S(0.6,0.3,500)的光场Us(0.6,0.3,500)初值为0。以该点的光场计算为例,其它各采样点的计算过程相同。
使用“背面消隐”技术,确定3D模型中哪些三角面片的光场可以投射到全息面上。在3D模型中,根据各三角面片的顶点的排列顺序,可以确定三角面片的正面,通过三角面片的任意两边对应的矢量叉乘后得到其法线。该法线与全息面法线的点乘除以它们的模可得两法线夹角的余弦,如果该余弦非正,则背对全息面,标记为1。其它标记为0。本3D模型全息面法线向量为(0,0,1),求得△ABC、△ACD、△ABD、△BCD的法线向量分别为(0.122,0.759,-0.306)、(0.838,0.178,-0.519)、(-0.323,-0.503,0.808)、(-0.638,-0.429,0.018),它们与全息面法线夹角的余弦分别为-0.372、-0.518、0.804、0.023。因此,只有△ABD、△BCD需要进行计算,标记为0,而△ABC、△ACD标记为1。
先选择三角面片△BCD进行处理,根据步骤(3)对三角面片△BCD进行平移。将其标记为1。根据式(1)计算三条边的长度,分别为BD=1.190、CB=0.904、CD=0.853,单位为毫米,其中长边为BD,其上垂足根据式(6)确定,为(-0.335,0.505,-0.159),这是进行移动的基点。根据式(7)平移后,点B、C、D的坐标分别为:(0.335,-0.505,-0.181)、(0.115,-0.145,0.619)、(-0.295,0.445,0.159)。
然后根据步骤(4)旋转到标准位置,这需要三次旋转,其旋转矩阵为:
M 1 = - 0.553 0.833 0 - 0.833 - 0.553 0 0 0 1 ,   M 2 = 0.958 0 0.286 0 1 0 - 0.286 0 0.958 ,   M 3 = 1 0 0 0 - 0.024 0.999 0 - 0.999 - 0.024
根据式(14)旋转△BCD的三个顶点后的坐标依次分别为:(-0.633,0,0)、(0,0.646,0)、(0.557,0,0)。至此,△BCD位于标准位置。
根据步骤(5),全息面各采样点S(xs,ys,zs)作同样的平移和旋转,变换后的全息面上各采样点坐标为S′(u,v,η),使变换后的各采样点与标准位置的△BCD的相对位置同原采样点与初始3D模型中△BCD的相对位置保持不变。全息面采样点S(0.6,0.3,500)作同样的平移和旋转,将上面求出的△BCD的平移基点坐标与旋转矩阵代入式(15),可得变换后的采样点S′的坐标(142.299,479.366,-10.919)。
根据步骤(6),将处于标准位置的△BCD及采样点S′(u,v,η)的相关参数代入公式(32-1)及相关联公式,可以计算出三角面片△BCD作用在全息面上任意采样点S′(u,v,η)的光场U(u,v,η)。这里,点D、C、B分别对应公式中的A、B、C。先计算出下列与△BCD参数相关的数值,见表一:
表一:
 
f11=1.248×10-10 f12=-5.396×10-10 f13=6.675×10-11 f14=-1.621×10-10
f15=7.514×10-11 f16=-1.008×10-7 f17=-2.598×10-14j f18=-3.231×10-14j
f19=4.748×10-14j f21=4.587×10-15 f22=-1.277×10-15 f23=-1.077×10-14
f24=1.512×1015 f25=6.426×10-15 f31=-1.276×10-10 f32=6.387×10-10
f33=-8.849×10-11 f34=4.097×10-14j f35=-1.302×10-13j f36=8.926×10-14j
f37=1.713×10-10 f38=-8.063×10-11 f41=-3.395×10-14j f42=3.395×10-14j
f43=7.885×10-15j f44=-7.885×10-15j r1=0.568-0.823j r2=0.568+0.823j
r3=0.886+0.465j
将上述值及采样点S′的坐标(142.299,479.366,-10.919)代入公式(32)及其相关联公式,可求出U(142.299,479.366,-10.919)=-1.001×10-5+7.581×10-6j。
最后把全息面上各采样点S′(u,v,η)的光场U(u,v,η)累加到全息面旋转前各采样点的光场值Us(xs,ys,zs)上,此刻完成了对△BCD的处理。将U(142.299,479.366,-10.919)累加到全息面上采样点S(0.6,0.3,500)的原光场值Us(0.6,0.3,500)上,即Us(0.6,0.3,500)=-1.001×10-5+7.581×10-6j。
根据步骤(7)判断,还需再处理三角面片△ABD,将其标记为1。根据步骤(3)对三角面片△ABD进行平移。根据式(1)计算三条边的长度,分别为:BD=1.120、AB=0.916、AD=1.189,单位为毫米,其中长边为BD,其上垂足根据式(6)确定,为(-0.187,0.282,-0.239),这是△ABD及采样点进行移动的基点。根据式(7)平移后,点A、B、D的坐标分别为:(-0.663,-0.282,-0.441)、(0.187,-0.282,-0.101)、(-0.443,0.668,0.239)。
然后根据步骤(4)旋转到标准位置,这需要三次旋转,其旋转矩阵为:
M 1 = - 0.553 0.833 0 - 0.833 - 0.553 0 0 0 1 , M 2 = 0.958 0 0.286 0 1 0 - 0.286 0 0.958 , M 3 = 1 0 0 0 0 . 839 - 0.545 0 0.545 0.839
根据式(14)旋转△ABD的三个顶点后的坐标依次为:(0,0.845,0)、(-0.353,0,0)、(0.837,0,0)。至此,△ABD位于标准位置。
根据步骤(5),全息面采样点的S(0.6,0.3,500)与△ABD作同样的平移和旋转,以保持相对位置不变。将上面求出的△ABD的平移基点与旋转矩阵代入式(15),可得采样点S′的坐标为(142.579,-261.730,401.757)。
根据步骤(6),将处于标准位置的△ABD及采样点S′(u,v,η)的相关参数代入公式(32-1)及相关联公式,先计算出下列与△ABD本身相关的数值,见表二:
表二:
 
f11=1.572×10-10 f12=-8.413×10-11 f13=3.119×10-11 f14=5.889×10-11
f15=-1.165×10-10 f16=-2.976×10-7 f17=2.229×10-14j f18=-3.823×10-14j
f19=2.280×10-15j f21=3.221×10-15 f22=8.917×10-15 f23=-9.397×10-15
f24=-2.155×10-14 f25=1.881×10-14 f31=-5.995×10-10 f32=2.033×10-10
f33=2.798×10-11 f34=-5.528×10-14j f35=4.745×10-14j f36=7.834×10-15j
f37=3.835×10-10 f38=-1.805×10-10 f41=1.682×10-15j f42=-1.682×10-15j
f43=1.765×10-14j f44=-1.765×10-14j r1=0.886+0.465j r2=1.000
r3=-0.355+0.935j
计算出全息面上各采样点S′(u,v,η)的光场U(u,v,η),然后累加到全息面上各采样点旋转前的光场值Us(xs,ys,zs)上,此刻完成了对△ABD的处理。将上述值及采样点S′(142.579,-261.730,401.757)的坐标代入公式(32)及相关联公式,可求出U(142.579,-261.730,401.757)=-0.0024-0.0002j。最后将U(142.579,-261.730,401.757)累加到全息面上采样点S(0.6,0.3,500)的原光场值Us(0.6,0.3,500)上,即Us(0.6,0.3,500)=-0.00241-0.000193j。
根据步骤(7)判断,所有三角面片都标记为1,没有需要处理的三角面片了。接下来叠加参考光。因为这里选取的参考光为点光源,发出球面光波,R0=0.001,所以将点光源R的坐标(0,1,300)与采样点S的坐标(0.6,0.3,500)代入公式(33),计算出在点S(0.6,0.3,500)处的参考光场为-0.00404+0.00294j。将其叠加到Us(0.6,0.3,500)上,最后获得计算全息图上的一个采样点S(0.6,0.3,500)的光场-0.00645+0.00281j。
在全息面上设置若干采样点,都按上述步骤计算其在计算全息图上的光场,就得到了计算全息图。
分别利用本发明与现有方法生成计算全息图的时间对比,见表三,新方法与传统方法均用C语言实现,并运行于Athlon xp 2500+CPU上,内存为256M。
从表三可以看出,新方法的速度比传统方法快2个数量级,并且随着现有技术中3D模型采样间距的减小,其优势更加明显。其原因是新方法计算过程与3D模型采样间距并无直接联系,它通过“连续”函数的积分,直接得到了全息图上采样点的数值。
表三:
 
3D模型采样间距(um) 10 8 5 2 1
全息图大小(采样点数) 1200 2000 4000 8000 10000
传统方法耗时(秒) 1.42 11.62 27.65 215.32 1610.34
新方法耗时(秒) 0.014 0.102 0.21 1.29 7.18
加速比 101 114 132 167 224
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (3)

1、一种3D模型的计算全息图快速生成方法,包括以下步骤:
(1)根据需要确定全息面的位置与大小,选择全息面上的各采样点的位置,得到各采样点的坐标S(xs,ys,zs),置此时各采样点S(xs,ys,zs)的光场初值Us(xs,ys,zs)为0;
(2)标记3D模型中通过“背面消隐”后保留的三角面片为0,表示其没被处理过,其具体方法是:在3D模型中,根据各三角面片的顶点的排列顺序和3D模型的规定,确定三角面片的正面,通过三角面片的任意两边对应的矢量叉乘后得到其法线;该法线与全息面法线的点乘,除以它们的模可得两法线夹角的余弦,如果该余弦非正,则三角面片背对全息面,标记为1,其它标记为0;
(3)选择任意标记为0的三角面片,标记为1,在世界坐标系中,设标记为1的三角面片的三个顶点坐标分别是Aw(xwa,ywa,zwa)、Bw(xwb,ywb,zwb)和Cw(xwc,ywc,zwc),其中最长边为AwCw,点BW到边AwCw的垂足为V(xv,yv,zv),则根据下列公式对该标记为1的三角面片进行平移,使垂足V移动到世界坐标系的原点0:
t = ( x wb - x wc ) ( x wa - x wc ) + ( y wb - y wc ) ( y wa - y wc ) + ( z wb - z wc ) ( z wa - z wc ) ( x wa - x wc ) 2 + ( y wa - y wc ) 2 + ( z wa - z wc ) 2
x v y v z v = x wc + t &CenterDot; ( x wa - x wc ) y wc + t &CenterDot; ( y wa - y wc ) z wc + t &CenterDot; ( z wa - z wc )
x 1 a = x wa - x v , y 1 a = y wa - y v , z 1 a = z wa - z v x 1 b = x wb - x v , y 1 b = y wb - y v , z 1 b = z wb - z v x 1 c = x wc - x v , y 1 c = y wc - y v , z 1 c = z wc - z v
则该标记为1的三角面片平移后三个顶点的坐标分别是A1(x1a,y1a,z1a)、B1(x1b,y1b,z1b)和C1(x1c,y1c,z1c);
(4)根据下列公式对步骤(3)中平移后标记为1的三角面片进行旋转:
M 1 = cos &alpha; sin &alpha; 0 - sin &alpha; cos &alpha; 0 0 0 1
M 2 = cos &beta; 0 sin &beta; 0 1 0 - sin &beta; 0 cos &beta;
M 3 = 1 0 0 0 cos &gamma; sin &gamma; 0 - sin &gamma; cos &gamma;
M1为绕z轴旋转的矩阵,M2为绕y轴旋转的矩阵,M3为绕x轴旋转的矩阵,其中 cos &alpha; = x 1 a x 1 a 2 + y 1 a 2 , sin &alpha; = y 1 a x 1 a 2 + y 1 a 2 , cos &beta; = x 2 a x 2 a 2 + z 2 a 2 , sin &beta; = z 2 a x 2 a 2 + z 2 a 2 , cos &gamma; = y 3 b y 3 b 2 + z 3 b 2 , sin &gamma; = x 3 b y 3 b 2 + z 3 b 2 , α是该三角面片绕z轴旋转至其最长边到x-z平面内的角度,β是该三角面片绕y轴旋转至其最长边与x轴重合的角度,γ是该三角面片绕x轴旋转至x-y平面内的角度;
x a y a z a = M 3 &CenterDot; M 2 &CenterDot; M 1 &CenterDot; x 1 a y 1 a z 1 a , x b y b z b = M 3 &CenterDot; M 2 &CenterDot; M 1 &CenterDot; x 1 b y 1 b z 1 b , x c y c z c = M 3 &CenterDot; M 2 &CenterDot; M 1 &CenterDot; x 1 c y 1 c z 1 c
则该标记为1的三角面片旋转后三个顶点的坐标分别是A(xa,ya,za)、B(xb,yb,zb)和C(xc,yc,zc);
(5)根据步骤(3)的V(xv,yv,zv)和步骤(4)中的M1、M2、M3,对全息面中各采样点S(xs,ys,zs)进行平移和旋转,以保持全息面与该标记为1的三角形面片的相对位置在三角面片坐标变换后保持不变;
设变换后的采样点及其坐标为S′(u,v,η),则通过下式求变换后采样点的位置:
u v &eta; = M 3 &CenterDot; M 2 &CenterDot; M 1 &CenterDot; x s - x v y s - y v z s - z v
(6)根据下列公式计算该标记为1的三角面片作用到全息面上各采样点S′(u,v,η)的光场U(u,v,η),然后累加到全息面上各采样点旋转前的光场值Us(xs,ys,zs)上:
(a)当u≠0且v≠0时:
U ( u , v , &eta; ) = 1 8 &CenterDot; j &CenterDot; &lambda; &CenterDot; y b &CenterDot; &eta; &CenterDot; e jk 2 &eta; ( u 2 + v 2 + 2 &eta; 2 ) &CenterDot; f 1 f 2
将f1表示成u、v与η的三元多项式的形式,多项式的项分别为u4、u3·v、u3·η、u2·v2、u2·v·η、u·v3、u·v2·η与v3·η:
f = ( f 11 &CenterDot; r 1 u / z + f 12 &CenterDot; r 2 v / z + f 13 &CenterDot; r 3 u / z ) &CenterDot; u 4 + ( f 14 &CenterDot; r 1 u / z + f 15 &CenterDot; r 2 v / z + f 16 &CenterDot; r 3 u / z ) &CenterDot; u 3 &CenterDot; v +
( f 17 &CenterDot; r 1 u / z + f 18 &CenterDot; r 2 v / z + f 19 &CenterDot; r 3 u / z ) &CenterDot; u 3 &CenterDot; &eta; + ( f 31 &CenterDot; r 1 u / z + f 32 &CenterDot; r 2 v / z + f 33 &CenterDot; r 3 u / z ) &CenterDot; u 2 &CenterDot; v 2
+ ( f 34 &CenterDot; r 1 u / z + f 35 &CenterDot; r 2 v / z + f 36 &CenterDot; r 3 u / z ) &CenterDot; u 2 &CenterDot; v &CenterDot; &eta; + ( f 37 &CenterDot; r 1 u / z + f 38 &CenterDot; r 3 u / z ) &CenterDot; u &CenterDot; v 3 +
+ ( f 41 &CenterDot; r 1 u / z + f 42 &CenterDot; r 3 u / z ) &CenterDot; u &CenterDot; v 2 &CenterDot; &eta; + ( f 43 &CenterDot; r 1 u / z + f 44 &CenterDot; r 3 u / z ) &CenterDot; v 3 &CenterDot; &eta;
f1的多项式系数计算时,需要先计算其系数r1、r2、r3,其计算公式为:
r 1 = e - 2 j&pi; x c / &lambda; , r 2 = e - 2 j&pi; y b / &lambda; , r 3 = e - 2 j&pi; x a / &lambda;
计算多项式项u4的系数时,需要先计算其系数f11、f12、f13,其计算公式为:
f 11 = 2 &pi; &CenterDot; ( x a 2 &CenterDot; x c 2 - x a 3 &CenterDot; x c ) &CenterDot; U c ,                f 12 = 2 &pi; &CenterDot; ( x a 3 &CenterDot; x c - 2 x a 2 &CenterDot; x c 2 + x c 3 &CenterDot; x a ) &CenterDot; U b
f 13 = 2 &pi; &CenterDot; ( x a 2 &CenterDot; x c 2 - x c 3 &CenterDot; x a ) &CenterDot; U a
计算多项式项u3·v的系数时,需要先计算其系数f14、f15、f16,其计算公式为:
f 14 = 2 &pi; &CenterDot; y b &CenterDot; ( x a 3 - 2 x a &CenterDot; x c 2 + x a 2 &CenterDot; x c ) &CenterDot; U c ,
f 15 = 2 &pi; &CenterDot; y b &CenterDot; ( x c 2 &CenterDot; x a - x c 3 - x a 3 + x a 2 &CenterDot; x c ) &CenterDot; U b ,
f 16 = 2 &pi; &CenterDot; y b &CenterDot; ( x c 2 &CenterDot; x a - 2 x a 2 + x a 3 ) &CenterDot; U a
计算多项式项u3·η的系数时,需要先计算其系数f17、f18、f19,其计算公式为:
f 17 = j &CenterDot; &lambda; &CenterDot; [ ( x a 2 &CenterDot; x c - x a 3 ) &CenterDot; ( U b - U c ) + x a 2 &CenterDot; x c &CenterDot; U a ]
f 18 = j &CenterDot; &lambda; &CenterDot; [ ( 2 x c 2 &CenterDot; x a - x a 2 &CenterDot; x c - x c 3 ) &CenterDot; U a + ( x a 3 - x a 2 &CenterDot; x c - x c 2 &CenterDot; x a + x c 3 ) &CenterDot; U b ]
+ ( 2 x a 2 &CenterDot; x c - x c 2 &CenterDot; x a - x a 3 ) &CenterDot; U c ]
f 19 = j &CenterDot; &lambda; &CenterDot; [ ( x c 3 - 2 x c 2 &CenterDot; x a ) &CenterDot; U a + ( x c 2 &CenterDot; x a - x c 3 ) &CenterDot; U b + x a &CenterDot; x c 2 &CenterDot; U c ]
计算多项式项u2·v2的系数时,需要先计算其系数f31、f32、f33,其计算公式为:
f 31 = 2 &pi; &CenterDot; y b 2 &CenterDot; ( x c 2 - 2 x a 2 + x a &CenterDot; x c ) &CenterDot; U c ,     f 32 = 2 &pi; &CenterDot; y b 2 &CenterDot; ( x a - x c ) 2 &CenterDot; U b
f 33 = 2 &pi; &CenterDot; y b 2 &CenterDot; ( x a 2 - 2 x c 2 + x a &CenterDot; x c ) &CenterDot; U a
计算多项式项u2·v·η的系数时,需要先计算其系数f34、f35、f36,其计算公式为:
f 34 = j &CenterDot; &lambda; &CenterDot; y b &CenterDot; [ 2 ( x a 2 - x a &CenterDot; x c ) &CenterDot; U b - ( x a 2 + 2 x a x c ) &CenterDot; U a + ( 4 x a &CenterDot; x c - x a 2 ) &CenterDot; U c ]
f 35 = j &CenterDot; &lambda; &CenterDot; y b &CenterDot; ( x a - x c ) 2 &CenterDot; ( U a - 2 U b + U c )
f 36 = j &CenterDot; &lambda; &CenterDot; y b &CenterDot; [ ( 4 x a &CenterDot; x c - x c 2 ) &CenterDot; U a + 2 ( x c 2 - x a &CenterDot; x c ) &CenterDot; U b - ( x c 2 + 2 x a &CenterDot; x c ) &CenterDot; U c ]
计算多项式项u·v3的系数时,需要先计算其系数f37、f38,其计算公式为:
f 37 = 2 &pi; &CenterDot; y b 3 &CenterDot; ( x a - x c ) &CenterDot; U c ,
f 38 = 2 &pi; &CenterDot; y b 3 &CenterDot; ( x c - x a ) &CenterDot; U a
计算多项式项u·v2·η的系数时,需要先计算其系数f41、f42,其计算公式为:
f 41 = j &CenterDot; &lambda; &CenterDot; y b 2 &CenterDot; [ ( 2 x a + x c ) &CenterDot; U a + ( x c - x a ) &CenterDot; U b - ( x a + 2 x c ) &CenterDot; U c ] , f 42 = - f 41
计算多项式项v3·η的系数时,需要先计算其系数f43、f44,其计算公式为:
f 43 = j &CenterDot; &lambda; &CenterDot; y b 3 &CenterDot; ( U c - U a ) ,        f44=-f43
将f2表示成u与v的二元多项式的形式:
f2=f21·u6+f22·u5·v+f23·u4·v2+f24·u3·v3+f25·u2·v4
多项式项u6的系数f21用下式计算:
f 21 = &pi; 3 &CenterDot; x c 2 &CenterDot; ( x a 3 - x a 2 &CenterDot; x c )
多项式项u5·v的系数f22用下式计算:
f 22 = 2 &pi; 3 &CenterDot; y b &CenterDot; ( x c 3 &CenterDot; x a - x c &CenterDot; x a 3 )
多项式项u4·v2的系数f23用下式计算:
f 23 = &pi; 3 &CenterDot; y b 2 &CenterDot; ( x a - x c ) &CenterDot; ( x c 2 + 4 x a &CenterDot; x c + x a 2 )
多项式项u3·v3的系数f24用下式计算:
f 24 = 2 &pi; 3 &CenterDot; y b 3 &CenterDot; ( x c 2 - x a 2 )
多项式项u2·v4的系数f25用下式计算:
f 25 = &pi; 3 &CenterDot; y b 4 &CenterDot; ( x a - x c )
(b)当u=0且v≠0时:
U ( u , v , &eta; ) = 1 8 &CenterDot; e jk 2 &eta; ( u 2 + v 2 + 2 &eta; 2 ) &CenterDot; [ f 3 &CenterDot; ( r 4 - 1 ) &CenterDot; z 2 &CenterDot; v - 3 + ( f 4 - f 5 &CenterDot; r 4 ) &CenterDot; z &CenterDot; v - 2 + f 6 &CenterDot; v - 1 ]
其中,r4、f3、f4、f5、f6及下面要使用的r5这些系数是为了方便计算引入的符号,它们的计算公式如下:
r 4 = e - 2 j&pi; vy b / &lambda; / &eta; ,         r 5 = 2 j &CenterDot; &lambda; &CenterDot; y b - 1 &CenterDot; &pi; - 2 &CenterDot; ( x c - x a )
f 3 = ( U a + U c - 2 U b ) &CenterDot; ( x c - x a ) &CenterDot; &lambda; 2 &CenterDot; y b - 2 &CenterDot; &pi; - 3
f4=r5·(Ua+Uc-Ub),f5=r5·Ub,f6=2·(Ua+Uc)·(xc-xa)·π-1
(c)当u=0且v=0时:
U ( u , v , &eta; ) = y b &CenterDot; ( x a - x c ) &CenterDot; ( U a + U b + U c ) 6 j &CenterDot; &lambda; &CenterDot; &eta; &CenterDot; e jk 2 &eta; ( u 2 + v 2 + 2 &eta; 2 )
在上述(a)、(b)、(c)各情形中,j2=-1,λ为波长,k为波数,定义为k=2π/λ,e为自然常数,Ua、Ub、Uc是x-y平面内三角面片三个顶点A、B、C的光场;
(7)判断是否有标记为0的三角面片,若有,转步骤(3);若无,则求各采样点S(xs,ys,zs)处参考光的光场,叠加到Us(xs,ys,zs)上,产生计算全息图。
2、根据权利要求1所述的一种3D模型的计算全息图快速生成方法,其特征在于:步骤(7)中所述参考光为球面光,设参考点光源所在位置为(xr,yr,zr),发出的球面参考光在(xs,ys,zs)处的光场为:
R ( x s , y s , z s ) = R 0 ( 1 / ( z s - z r ) 2 + ( x s - x r ) 2 + ( y s - y r ) 2 ) e jk ( z s - z r ) 2 + ( x s - x r ) 2 + ( y s - y r ) 2
其中,R(xs,ys,zs)表示坐标为(xs,ys,zs)的采样点的参考光光场,R0表示与所选光源相关的复常数,其模为点光源发出的初始球面光波振幅,相位为点光源发出的初始球面光波的相位。
3、根据权利要求1所述的一种3D模型的计算全息图快速生成方法,其特征在于:步骤(7)中所述参考光为平面光,在点(xs,ys,zs)处的光场R(xs,ys,zs)为:
R ( x s , y s , z s ) = R p e jk ( x s x p + y s y p + z s z p )
其中,设平面光传播的单位方向向量为
Figure A200810220611C000511
朝向全息面,Rp表示与所选平面光源相关的复常数,其模为光源处平面光波振幅,相位为光源处平面光波的初始相位。
CN2008102206111A 2008-12-30 2008-12-30 一种3d模型的计算全息图快速生成方法 Expired - Fee Related CN101458822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102206111A CN101458822B (zh) 2008-12-30 2008-12-30 一种3d模型的计算全息图快速生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102206111A CN101458822B (zh) 2008-12-30 2008-12-30 一种3d模型的计算全息图快速生成方法

Publications (2)

Publication Number Publication Date
CN101458822A true CN101458822A (zh) 2009-06-17
CN101458822B CN101458822B (zh) 2010-08-25

Family

ID=40769666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102206111A Expired - Fee Related CN101458822B (zh) 2008-12-30 2008-12-30 一种3d模型的计算全息图快速生成方法

Country Status (1)

Country Link
CN (1) CN101458822B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542581A (zh) * 2010-12-18 2012-07-04 谈顺毅 全息图生成方法
CN103226842A (zh) * 2012-01-25 2013-07-31 三星电子株式会社 用于快速产生三维(3d)全息图的设备和方法
CN103838121A (zh) * 2012-11-26 2014-06-04 三星电子株式会社 用于产生全息图图案的设备和方法
CN105472370A (zh) * 2015-12-08 2016-04-06 张军 一种基于全息技术的增强现实实现方法
CN106408635A (zh) * 2015-08-03 2017-02-15 Arm有限公司 图形处理
CN107346551A (zh) * 2017-06-28 2017-11-14 太平洋未来有限公司 一种光场光源定向方法
CN110427898A (zh) * 2019-08-07 2019-11-08 广东工业大学 包裹安检识别方法、系统、装置及计算机可读存储介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542581A (zh) * 2010-12-18 2012-07-04 谈顺毅 全息图生成方法
CN103226842A (zh) * 2012-01-25 2013-07-31 三星电子株式会社 用于快速产生三维(3d)全息图的设备和方法
US9575463B2 (en) 2012-01-25 2017-02-21 Samsung Electronics Co., Ltd. Apparatus and method for fast generation of three-dimensional (3D) hologram
CN103838121A (zh) * 2012-11-26 2014-06-04 三星电子株式会社 用于产生全息图图案的设备和方法
CN103838121B (zh) * 2012-11-26 2018-01-09 三星电子株式会社 用于产生全息图图案的设备和方法
CN106408635A (zh) * 2015-08-03 2017-02-15 Arm有限公司 图形处理
CN105472370A (zh) * 2015-12-08 2016-04-06 张军 一种基于全息技术的增强现实实现方法
CN107346551A (zh) * 2017-06-28 2017-11-14 太平洋未来有限公司 一种光场光源定向方法
CN110427898A (zh) * 2019-08-07 2019-11-08 广东工业大学 包裹安检识别方法、系统、装置及计算机可读存储介质
CN110427898B (zh) * 2019-08-07 2022-07-29 广东工业大学 包裹安检识别方法、系统、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN101458822B (zh) 2010-08-25

Similar Documents

Publication Publication Date Title
CN101458822B (zh) 一种3d模型的计算全息图快速生成方法
Zhang et al. Computer-generated hologram with occlusion effect using layer-based processing
Matsushima et al. Silhouette method for hidden surface removal in computer holography and its acceleration using the switch-back technique
CN101421678A (zh) 实时绘制并生成计算机生成视频全息图的方法
KR20100073173A (ko) 3차원 모델 생성 방법 및 장치
CN108759665A (zh) 一种基于坐标转换的空间目标三维重建精度分析方法
CN104021587A (zh) 基于计算全息技术的大场景真三维显示快速生成方法
CN110174940A (zh) 飞行仿真模拟器虚实空间实时融合方法
CN108230378A (zh) 一种基于光线追踪的计算全息遮挡处理算法
Deng et al. Towards stereoscopic on-vehicle AR-HUD
CN111161123A (zh) 一种针对三维实景数据的脱密方法及装置
CN103679780A (zh) 一种空间目标实时模拟方法
Kondoh et al. Hidden surface removal in full‐parallax CGHs by silhouette approximation
CN107991854A (zh) 基于层析法的立体仿真全息物体再现方法
CN115857305A (zh) 一种基于梯度下降优化算法的可调节景深全息图重建方法
JP2012008220A (ja) ルックアップテーブルと画像の空間的重複性を用いた計算機合成ホログラムの算出方法及びその装置
CN115686202A (zh) 跨Unity/Optix平台的三维模型交互渲染方法
Pang et al. Dynamic holographic imaging of real-life scene
Wakunami et al. Calculation of computer-generated hologram for 3D display using light-ray sampling plane
CN114332186A (zh) 一种无监督单视图船舶深度估计方法
Salih et al. Opacity Influenced Inconstant Method For 3d Holographic Pyramid Rendering
Dang et al. A review of hologram calculation methods based on physical diffraction models
Le Viet et al. 3D Depth Map Inpainting for Vietnamese Historical Printing Woodblocks: A Gated Convolution Approach
Zhao et al. Fast calculation method for full-color computer-generated hologram of real objects captured by depth camera
CN117075739B (zh) 基于全息沙盘的全息展示方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100825

Termination date: 20121230