发明名称 三维物体的分层表示及利用其绘制物体的方法和装置
摘要 提供一种使用二进制的八叉树,表示和绘制三维动态和静态物体的方法和装置。基于景深图像的三维物体表示,需要相对小的存储空间,并允许快速和高质量的绘制。将三维物体原始数据转换成二进制的八叉树(BVO)格式,其中颜色被赋予对应于物体表面点坐标的每个BVO顶点,所述颜色是坐标在一立方体内的物体表面点有色的平均值,该立方体代表三维图像元素即三维像素;通过从根顶点到叶顶点分层遍历八叉树来绘制BVO,以便获得对应于BVO叶顶点的三维像素的中心的局部三维坐标,以变换获得的三维坐标为三维像素中心的二维坐标和投影的三维像素图像的大小信息,并为每个BVO叶顶点生产和显示覆盖投影的三维像素图像区域的对应的纵立长条(splat),以及使用颜色信息,由多个显示的纵立长条可视化三维物体。
申请公布号 CN1215443C 申请公布日期 2005.08.17
申请号 CN02125124.X 申请日期 2002.06.28
申请人 三星电子株式会社 发明人 韩万镇;亚历山大·O·泽科夫
分类号 G06T17/00;G06T17/50 主分类号 G06T17/00
代理机构 北京市柳沈律师事务所 代理人 马莹;邵亚丽
主权项 1.一种表示和绘制三维物体的方法,包括步骤:将三维物体原始数据转换成二进制的八叉树(Binary Volumetric OctreeBVO)格式,其中颜色被赋予对应于物体表面的点的坐标的每个BVO顶点,所述颜色是坐标在一立方体内的物体表面点有色的平均值,该立方体代表对应于给定BVO顶点的三维图像元素即三维像素,所述BVO是通过首先把一个用于3维模型的输入表示转换成一个6维向量的中间表示来产生的,所述6维向量的元素为3个坐标x,y和z以及三个颜色坐标;和通过从根顶点到叶顶点分层遍历八叉树来绘制BVO,所述绘制包括:获得对应于BVO叶顶点的三维像素的中心的局部三维坐标;将获得的三维坐标变换为该三维像素中心的二维坐标和投影的三维像素图像的大小信息;并为每个BVO叶顶点生成和显示覆盖投影的三维像素图像区域的相应的纵立长条,以及使用颜色信息,由多个显示的纵立长条可视化三维物体;其中,在所述遍历八叉树之前,还需进行如下的计算:fT=(i,σi)=T2i-1σi其中T是坐标型变换的4×4矩阵,σi是任意四维向量,其元素是0或1,i是整数,取自从0到所分析的BVO的高度,和使用从三维坐标到二维坐标的分层变换中获得的结果,计算每个BVO顶点的Fi:<math> <mrow> <msub> <mi>F</mi> <mi>i</mi> </msub> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mi>i</mi> </mrow> <mi>n</mi> </msubsup> <msub> <mi>f</mi> <mi>T</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <msup> <mi>&sigma;</mi> <mi>j</mi> </msup> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>f</mi> <mi>T</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <msup> <mi>&sigma;</mi> <mi>i</mi> </msup> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>F</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>F</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>&sigma;</mi> <mi>i</mi> </msup> <mo>,</mo> <msub> <mi>F</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </math> 在遍历从BVO根顶点到叶顶点的整个路径后,对于由局部坐标(x,y,z)指定的每个BVO叶顶点,给出:Tv=F1(σ1,F2(σ2..Fn(σn)..))其中σi由使用坐标的二进制记录的表示式确定:<math> <mrow> <mi>V</mi> <mo>=</mo> <mfenced open='(' close=')'> <mtable> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='(' close=')'> <mtable> <mtr> <mtd> <mrow> <mo>(</mo> <msubsup> <mi>&sigma;</mi> <mi>x</mi> <mi>n</mi> </msubsup> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mi>&sigma;</mi> <mi>x</mi> <mn>2</mn> </msubsup> <msubsup> <mi>&sigma;</mi> <mi>x</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <msubsup> <mi>&sigma;</mi> <mi>y</mi> <mi>n</mi> </msubsup> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mi>&sigma;</mi> <mi>y</mi> <mn>2</mn> </msubsup> <msubsup> <mi>&sigma;</mi> <mi>y</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <msubsup> <mi>&sigma;</mi> <mi>z</mi> <mi>n</mi> </msubsup> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mi>&sigma;</mi> <mi>z</mi> <mn>2</mn> </msubsup> <msubsup> <mi>&sigma;</mi> <mi>z</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <mn>0</mn> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mn>01</mn> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mn>2</mn> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msup> <mi>&sigma;</mi> <mi>i</mi> </msup> </mrow> </math>
地址 韩国京畿道