CN1465036A - 信息处理装置 - Google Patents

信息处理装置 Download PDF

Info

Publication number
CN1465036A
CN1465036A CN02802446A CN02802446A CN1465036A CN 1465036 A CN1465036 A CN 1465036A CN 02802446 A CN02802446 A CN 02802446A CN 02802446 A CN02802446 A CN 02802446A CN 1465036 A CN1465036 A CN 1465036A
Authority
CN
China
Prior art keywords
prime
lambda
coordinate
mentioned
matrix
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.)
Pending
Application number
CN02802446A
Other languages
English (en)
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.)
HI Corp
Original Assignee
HI Corp
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 HI Corp filed Critical HI Corp
Publication of CN1465036A publication Critical patent/CN1465036A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • G06T3/02
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Abstract

在进行3维图像的绘制的光栅化(rasterize)处理时,计算相对连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的y坐标的x坐标的变化量Δx:见式(1),在存储器中,按照与y坐标的变化量相关的方式,存储有通过下述公式表示的常数μ:见式(2),在对上述Δx进行运算时,从存储器中读取与上述y坐标的变化量相对应的μ,对其进行乘法运算,对下述公式进行运算,Δx’=μ*(x2-x1)将该结果作为Δx,进行运算。

Description

信息处理装置
技术领域
本发明涉及3维图像的绘制的技术,特别是涉及减轻在3维图像的绘制处理时进行的几何运算,除法演算的处理,不具有FPU(浮点运算组件)的信息处理装置,涉及即使在CPU的处理能力较低的信息处理装置中,仍可进行3维图形的绘图处理的技术。
背景技术
在绘制3维图形的场合,信息处理终端进行以下处理:
(1)挪动3维的物体的坐标变换运算(Transformation);
(2)考虑光从光源(比如太阳等)与物体接触,计算向阳的部分和背阴的部分的光源计算处理(Lighting);
(3)将物体分割为称为“点(dot)”的柱形图处理(光栅化处理(rasterize));
(4)在该柱形图中贴入纹理(模样)(纹理映射)
通常,信息处理装置主体的CPU承担(1)与(2)的几何运算的作业,采用CPU的FPU(浮点运算组件)进行处理。
另外,(3)与(4)的光栅化(rasterize)的处理通常由3D图形加速器进行。
但是,(1)和(2)的几何演算的作业采用CPU的FPU(浮点运算组件)而进行,而设计FPU的目的在于不仅进行几何演算,而且一般进行浮点计算,另外CPU还进行其它的处理,不必适合绘制3维图形的处理。
于是,还出现了按照通过图形芯片进行几何演算的方式设计的(即,内部设置有几何发生器)3D图形加速器,其除了实现降低CPU的负荷率的处理以外,与通过CPU进行处理的相比较,比什么都可使几何运算的性能大幅度地提高,即,可使3D的绘图性能提高。
但是,3D图形加速器的价格较高,并不是所有的信息处理装置都配备。
此外,在信息处理装置中,也有下述类型,即,如便携电话,PDA(Personal Digital(Data)Assistants)这样的,不仅不具有3D图形加速器,也不具有FPU(浮点演算机构)的类型。
在这样的信息处理装置中,一般,CPU的能力也较低,3D图形不适合。
还有,除法演算处理的速度大大低于乘法演算处理,为了高速地进行演算处理,最好尽可能地减小除法演算。
于是,本发明的目的在于提供下述技术,其中,在3维图形的绘制的处理时进行的几何演算中,通过进行整数运算处理,即使在不具有FPU(浮点演算机构)的信息处理装置中,仍可进行3维图形的绘制。
本发明的另一目的在于提供下述技术,其中,在光栅化(rasterize)处理时,在不进行除法演算的情况下,进行光栅化(rasterize)处理,由此即使在处理能力较低的CPU的信息处理装置中,仍可高速地进行3维图形的绘制。
发明的公开
实现上述目的的第1项发明涉及一种信息处理装置,在该信息处理装置中,在进行3维图像的绘制的光栅化(rasterize)处理时,计算相对连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的y坐标的x坐标的变化量Δx: Δx = x 2 - x 1 y 2 - y 1
其特征在于该信息处理装置包括:
存储器,该存储器按照与y坐标的变化量相关的方式,存储有通过下述公式表示的常数μ: μ = λ y 2 - y 1
运算机构,该运算机构在对上述Δx进行运算时,从存储器中读取与上述y坐标的变化量相对应的μ,通过乘法运算,对下述公式进行运算,将该结果作为Δx,进行运算。
Δx′=μ*(x2-x1)
实现上述目的的第2项发明涉及第1项发明,其特征在于其还包括下述机构,其中,上述λ限定为2n(n≥1),通过对上述计算的Δx’进行n位右移位,进行Δx的运算。
实现上述目的的第3项发明涉及上述第1,2项发明,其特征在于其还包括存储器,在坐标值限定为整数,将坐标(x,y,z)t通过下述式 x ′ y ′ z ′ = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t场合,该存储器存储有仿射变换的矩阵 A = a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 与λ(≠0)相乘而形成的矩阵 A ′ = a ′ 11 a ′ 12 a ′ 13 a ′ 21 a ′ 22 a ′ 23 a ′ 31 a ′ 32 a ′ 33 = λA = λ a 11 λ a 12 λ a 13 λ a 21 λ a 22 λ a 23 λ a 31 λ a 32 λ a 33 矩阵(t1,t2,t3)t和形状数据;
运算机构,该运算机构在通过矩阵A和矩阵(t1,t2,t3)t的仿射变换,将上述形状数据的坐标(x,y,z)t,变换为坐标(x’,y’,z’)t时,通过上述存储器,读取矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,由此对坐标(x’,y’,z’)t进行运算。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第4项发明涉及上述第3项发明,其特征在于上述λ限定为2n(n≥1);
上述运算机构为,通过对下述式的除法运算的结果进行n位右移位的方式进行运算的机构。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第5项发明涉及第4项发明,其特征在于上述运算机构为通过在将各被除数与常数λ/2相加后,对其n位移位的方式进行运算的机构。
实现上述目的的第6项发明涉及第3,4,5项发明,其特征在于其包括合成机构,该合成机构对预先乘以λ(≠0)的2个以上的参数进行合成。
实现上述目的的第7项发明涉及一种3维图像的绘制处理方法,该方法计算在进行3维图像的绘制的光栅化(rasterize)处理时的,连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的,由下述公式表示的,相对y坐标的x坐标的变化量Δx: Δx = x 2 - x 1 y 2 - y 1 ;
其特征在于该方法包括:
读取步骤,在该读取步骤中,在对Δx进行运算时,从存储器中,读取所运算的Δx与y坐标的变化量相对应的常数μ,该存储器对应于y坐标的变化量,存储有由下述公式表示的常数μ: μ = λ y 2 - y 1 ;
运算步骤,在该运算步骤中,根据上述已读取的常数μ,通过乘法运算,对下述公式进行运算,将该结果作为Δx进行运算。
Δx′=μ*(x2-x1)
实现上述目的的第8项发明涉及第7项发明,其特征在于该方法还包括下述步骤,即,将上述λ限定为2n(n≥1),对该计算出的Δx’进行n位右移位,对Δx进行运算。
实现上述目的的第9项发明涉及第7,或8项发明,其特征在于在将坐标值限定为整数,将坐标(x,y,z)t通过下述式 x ′ y ′ z ′ = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t时,该信息处理方法包括下述步骤:
读取步骤,该读取步骤读取参数A’和矩阵(t1,t2,t3)t,该参数A’是在下述场合,将存储于存储器中的,矩阵A与λ(≠0)相乘而得到的,该场合指通过矩阵A和(t1,t2,t3)t的仿射变换,将形状数据的坐标(x,y,z)t变换为(x’,y’,z’)t,该A’表示为: A ′ = a ′ 11 a ′ 12 a ′ 13 a ′ 21 a ′ 22 a ′ 23 a ′ 31 a ′ 32 a ′ 33 = λA = λ a 11 λ a 12 λ a 13 λ a 21 λ a 22 λ a 23 λ a 31 λ a 32 λ a 33 ;
运算步骤,在该运算步骤中,根据上述已读取的矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,对坐标(x’,y’,z’)t进行运算。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第10项发明涉及第9项发明,其特征在于将上述λ限定为2n(n≥1);
上述运算步骤为通过对下述式的除法运算的结果进行n位右移位,由此对坐标(x’,y’,z’)t进行运算的步骤。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第11项发明涉及第10项发明,其特征在于其还包括在进行n位右移位之前,将各被除数与常数λ/2进行加法运算的步骤。
实现上述目的的第12项发明涉及9,10,11项发明,其特征在于还包括将预先乘以λ(≠0)的2个以上的参数合成的步骤。
实现上述目的的第13项发明涉及一种程序,该程序在信息处理装置中,进行下述运算处理,该运算处理计算在进行3维图像的绘制的光栅化(rasterize)处理时的,连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的,由下述公式表示的,相对y坐标的x坐标的变化量Δx: Δx = x 2 - x 1 y 2 - y 1 ;
其特征在于该程序在信息处理装置中包括:
读取步骤,在该读取步骤中,对Δx进行运算时,从上述存储器中,读取所运算的Δx与y坐标的变化量相对应的常数μ,该存储器对应于y坐标的变化量,存储有由下述公式表示的常数μ: μ = λ y 2 - y 1 ;
运算步骤,在该运算步骤中,根据上述已读取的常数μ,通过乘法运算,对下述公式进行运算,将其结果作为Δx,进行运算。
Δx′=μ*(x2-x1)
实现上述目的的第14项发明涉及程序,该程序涉及第13项发明,其特征在于该程序还包括下述步骤,即,在信息处理装置中,将上述λ限定为2n(n≥1),对该计算出的Δx’进行n位移位,对Δx进行运算。
实现上述目的的第15项发明涉及程序,该程序涉及第13,14项发明,其特征在于在信息处理装置中,将坐标值限定为整数,将坐标(x,y,z)t通过下述式 x ′ y ′ z ′ = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t进行变换处理时,该程序包括下述步骤:
读取步骤,该读取步骤读取参数A’和矩阵(t1,t2,t3)t,该参数A’是在下述场合,将存储于存储器中的,矩阵A与λ(≠0)相乘而得到的,该场合指通过矩阵A和(t1,t2,t3)t的仿射变换,将形状数据的坐标(x,y,z)t变换为(x’,y’,z’)t,该A’表示为: A ′ = a ′ 11 a ′ 12 a ′ 13 a ′ 21 a ′ 22 a ′ 23 a ′ 31 a ′ 32 a ′ 33 = λA = λ a 11 λ a 12 λ a 13 λ a 21 λ a 22 λ a 23 λ a 31 λ a 32 λ a 33 ;
运算步骤,在该运算步骤中,根据上述已读取的矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,由此对坐标(x’,y’,z’)t进行运算。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第16项发明涉及程序,该程序涉及第15项发明,其特征在于上述λ限定为2n(n≥1);
上述运算步骤为,通过对下述式进行除法运算的结果进行n位右移位,由此对坐标(x’,y’,z’)t进行运算的步骤。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第17项发明涉及程序,该程序涉及第16项发明,其特征在于该程序还包括在信息处理装置中,在进行n位移位之前,将各被除数与常数λ/2进行加法运算的步骤。
实现上述目的的第18项发明涉及程序,该程序涉及15,16,17项发明,其特征在于还包括在信息处理装置中,将预先乘以λ(≠0)的2个以上的参数合成的步骤。
实现上述目的的第19项发明涉及一种记录媒体,该记录媒体存储有下述程序,在该程序中,计算在进行3维图像的绘制的光栅化(rasterize)处理时的,连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的,由下述公式表示的,相对y坐标的x坐标的变化量Δx: Δx = x 2 - x 1 y 2 - y 1 ;
其特征在于上述程序在信息处理装置中还包括下述步骤:
读取步骤,在该读取步骤中,在对Δx进行运算时,从存储器中,读取所运算的Δx与y坐标的变化量相对应的常数μ,该存储器对应于y坐标的变化量,存储有由下述公式表示的常数μ: μ = λ y 2 - y 1 ;
运算步骤,在该运算步骤中,根据上述已读取的常数μ,通过乘法运算,对下述公式进行运算,将该结果作为Δx进行运算。
Δx′=μ*(x2-x1)
实现上述目的的第20项发明涉及记录媒体,该记录媒体涉及第19项发明,其特征在于上述程序还包括在信息处理装置中,将上述λ限定为2n(n≥1),对该计算出的Δx’进行n位移位,对Δx进行运算的步骤。
实现上述目的的第21项发明涉及记录媒体,该记录媒体涉及第19或20项发明,其特征在于在信息处理装置中,将坐标值限定为整数,将坐标(x,y,z)t通过下述式 x ′ y ′ z ′ = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t时,上述程序包括下述步骤:
读取步骤,该读取步骤读取参数A’和矩阵(t1,t2,t3)t,该参数A’是在下述场合,将存储于存储器中的,矩阵A与λ(≠0)相乘而得到的,在该场合,通过矩阵A和(t1,t2,t3)t的仿射变换,将形状数据的坐标(x,y,z)t变换为(x’,y’,z’)t,该A’表示为: A ′ = a ′ 11 a ′ 12 a ′ 13 a ′ 21 a ′ 22 a ′ 23 a ′ 31 a ′ 32 a ′ 33 = λA = λ a 11 λ a 12 λ a 13 λ a 21 λ a 22 λ a 23 λ a 31 λ a 32 λ a 33 ;
运算步骤,在该运算步骤中,根据上述已读取的矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,由此对坐标(x’,y’,z’)t进行运算。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第22项发明涉及记录媒体,该记录媒体涉及第21项发明,其特征在于将上述λ限定为2n(n≥1),
上述运算步骤为,对下述式进行除法运算的结果进行n位右移位,对坐标(x’,y’,z’)t进行运算的步骤。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
实现上述目的的第23项发明涉及记录媒体,该记录媒体涉及第22项发明,其特征在于上述程序还包括在上述信息处理装置中,在进行上述n位右移位之前,将各被除数与常数λ/2进行加法运算的步骤。
实现上述目的的第24项发明涉及记录媒体,该记录媒体涉及第21,22,23项发明,其特征在于上述程序还包括在信息处理装置中,将预先乘以λ(≠0)的2个以上的参数合成的步骤。
附图说明
图1为便携终端的方框图,图2为表示3维图形的基本绘图动作的流程图,图3为进一步具体地表示在模型物体中,作为绘图步骤的步骤106的动作的流程图。
用于实施本发明的优选形式
下面对用于实施本发明的优选形式进行描述。
首先,采用作为本发明的特征的信息处理装置的整数的几何运算,以及不采用除法的三角形光栅化处理(rasterize)进行描述。
(整数的几何运算)
1.仿射变换的坐标变换
当通过下述形式,表示从坐标(x,y,z)t,朝向坐标(x’,y’,z’)t的仿射变换时, A = a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 - - - 1 x ′ y ′ z ′ = A x y z + t 1 t 2 t 3 - - - 2 则在通过C语言的数值运算,计算x’,y’,z’的场合,满足:
x′=a11*x+a12*y+a13*z+t1
y′=a21*x+a22*y+a23*z+t2
z′=a31*x+a32*y+a33*z+t3但是,全部的数值取无限的范围和精度。
在通过有限范围的整数,进行坐标计算的场合,计算精度和运算的外溢成为问题。
就外溢来说,如果限制上述坐标的范围,则不产生问题,但是,当计算精度在将绝对值较小的实数化为整数时(通过包括小数的数值等,将必要的右端的位的下一位的值进行四舍五入等处理,缩小数值。除了四舍五入以外,还具有加上小数点以后的零数,舍去小数点以后的零数等的场合),相对误差较大。特别是,矩阵A的成分的绝对值小于1的场合非常多,在将该数值化为整数的场合,与所期待的结果之间有较大差异。
于是,当将矩阵A的成分化为整数时,为了尽可能地减少相对误差,预先将λ(≠0)与矩阵A的成分相乘。 A ′ = a ′ 11 a ′ 12 a ′ 13 a ′ 21 a ′ 22 a ′ 23 a ′ 31 a ′ 32 a ′ 33 = λA = λ a 11 λ a 12 λ a 13 λ a 21 λ a 22 λ a 23 λ a 31 λ a 32 λ a 33 - - - 3
在通过该矩阵A’进行坐标变换时,按如下进行计算。 x ′ y ′ z ′ = 1 λ A ′ x y z + t 1 t 2 t 3 - - - 4
在通过C语言的数值运算,计算x’,y’,z’的场合,则满足以下条件,但是,全部的数值型为整数。
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3
同样在这样的计算中,仍为整数计算,不必进行浮点运算,但是,为了高速化而进行的避免整数除法,将λ限定为2n(n≥1),λ’=log2λ,按照下述公式,
x′=((a′11*x+a′12*y+a′13*z)>>λ′)+t1
y′=((a′21*x+a′22*y+a′23*z)>>λ′)+t2
z′=((a′31*x+a′32*y+a′33*z)>>λ′)+t3;按照算术右移位,进行与除法基本相同的运算。
另外,在将算术右移位作为整数除法的场合,由于化成整数朝向-∞方向,故按照下述公式,
x′=((a′11*x+a′12*y+a′13*z+λ/2)>>λ′)+t1
y′=((a′21*x+a′22*y+a′23*z+λ/2)>>λ′)+t2
z′=((a′31*x+a′32*y+a′33*z+λ/2)>>λ′)+t3;在进行算术右移位之前,添加常数λ/2,进行误差修正。
下面通过具体的实例进行描述,比如,考虑对坐标(111,222,333)t的点进行仿射变换的场合。
如果上述公式2中的矩阵A和t(t1,t2,t3)t为: A = 0.8901408311 - 0.3213994875 0.32300913 0.3857072937 0.9088972746 - 0.1585421959 - 0.2426503336 0.2657218728 0.9330127019 t = 856 387 973 则通过实数计算的场合的公式2的结果为: x ′ y ′ z ′ = 0.8901408311 - 0.3213994872 0.32300913 0.3857072937 0.9088972746 - 0.1585421959 - 0.2426503336 0.2657218728 0.9330127019 111 222 333 856 387 973 ≈ 991.0256314 578.0256314 1315.749298
在这里,如上所述,如果采用本发明的仿射变换,则在λ=4096(212)的场合,矩阵A’为: A ′ = 3646 - 1316 1323 1580 3723 - 649 - 994 1088 3822
在采用上述矩阵A’,矩阵t(t1,t2,t3)t的仿射变换通过C语言的式表示时,则
int x,y,z;
x=((3346*111+-1316*222+1323*333+4096/2)>>12)+856;
y=((1580*111+3723*222+-649*333+4096/2)>>12)+387;
z=((-994*111+1088*222+3822*333+4096/2)>>12)+973;
该计算结果为(991,579,1316)t,得到基本与上述实数的运算结果基本相同的结果。
在信息处理装置的实际处理中,将λ与矩阵A相乘而得到的矩阵A’,与矩阵t(t1,t2,t3)t作为参数而存储于信息处理装置的存储器中,进行仿射变换的坐标变换,此时,从存储器中读取与相应的矩阵A相对应的矩阵A’,以及矩阵t(t1,t2,t3)t,根据该读取的矩阵A’,针对每个元素,进行运算。另外,对该结果与λ/2的和,进行常数λ’次右移处理位,将该结果与矩阵t(t1,t2,t3)t相加,计算坐标。
2.仿射变换的合成
2个仿射变换f,g(变换参数)分别为:
f(p)=Ap+u          ...5
g(p)=Bp+v          ...6
这2个变换的合成gof为:
gof(p)=BAp+Bu+v    ...7
当A’=λA,B’=λB时, gof ( p ) = 1 λ 2 B ′ A ′ p + 1 λ B ′ u + v - - - 8 M = 1 λ B ′ A ′ - - - 9 t = 1 λ B ′ u + v - - - 10
则公式8变为: gof ( p ) = 1 λ Mp + t - - - 11
上述公式11的右边与公式4的右边为相同的形式。 A ′ = a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 , u = u 1 u 2 u 3 - - - 12 B ′ = b 11 b 12 b 13 b 21 b 22 b 23 b 31 b 32 b 33 , v = v 1 v 2 v 3 - - - 13 M = m 11 m 12 m 13 m 21 m 22 m 23 m 31 m 32 m 33 , t = t 1 t 2 t 3 - - - 14
在通过C语言的数值运算,计算M与t的成分的场合,则
对于for(i=1;i<=3;i++){for(j=1;j<=3;j++)
mij=(bi1*a1j+bi2*a2j+bi3*a3j+λ/2)/λ;
ti=(bi1*u1+bi2*u2+bi3*u3)/λ+νi;}
将λ限定为2n(n≥1),对于λ’=log2λ,通过整数对全部的整数型进行计算时,
对于for(i=1;i<=3;i++){for(j=1;j<=3;j++)
mij=(bi1*a1j+bi2*a2j+bi3*a3j+λ/2)>>λ′;
ti=((bi1*u1+bi2*u2+bi3*u3+λ/2)>>λ′)+νi;}
通过该方法,可实现预先乘以λ的仿射变换的合成。
下面通过具体的实例进行描述,比如, A = 038805527696 - 0.4083871864 0.2413463 0.3599626335 0.9063791978 0.2211417016 - 0.308307837 - 0.1081510753 0.9451188401 B = 0.7764762277 0.6197856324 0.1137999896 - 0.527293037 0.7379376463 - 0.4212007637 - 0.3450314781 0.267046438 0.8997996883 u = 123 231 312 v = 345 543 435
当λ=4096时,则 λBA ≈ 3570.657414 951.7067091 1766.883123 - 281.8861842 3808.232933 - 1481.593097 - 1986.998191 1169.971053 3385.294954 Bu + v ≈ 619.1826538 517.1919145 734.9863581 将λA与λB的元素化为最近整数值的矩阵为: A ′ = 3607 - 1673 985 1474 3713 906 - 1263 - 443 3871 B ′ = 3180 2539 466 - 2160 3023 - 1725 - 1413 1094 3686 因此,在通过上述的数学公式,计算矩阵M与矩阵t时,则: M = 3570 952 1767 - 282 3809 - 1481 - 1987 1170 3386 t = 619 517 735 就这样,可获得与如上所述进行计算的 λBA ≈ 3570.657414 951.7067091 1766.883123 - 281.8861842 3808.232933 - 1481.593097 - 1986.998191 1169.971053 3385.294954 Bu + v ≈ 619.1826538 517.1919145 734.9863581 基本相同的值。
(不采用除法的三角形光栅化处理(rasterize))
在计算直线上的x坐标的变化量的场合,2维平面上的点P1的坐标表示为(x1,y1),点P2的坐标表示为(x2,y2)。当y1≠y2时,则相对连接P1与P2的直线的y坐标的x坐标的变化量为: Δx = x 2 - x 1 y 2 - y 1 - - - 15
在Δx’=λΔx,通过C语言的数值运算,计算Δx’的场合,则:
Δx′=λ*(x2-x1)/(y2-y1);另外, μ = λ y 2 - y 1
此时,Δx′=μ*(x2-x1);象这样,形成乘法的形式。
在仅通过整数进行计算的场合,如果|λ|充分大,|y2-y1|某种程度小,则化为整数的相对误差变小。
于是,如果λ为常数,限制y坐标的范围,则可根据预先配备的较少的排列,获得μ。即,使μ与|y2-y1|相对应,将其预先存储于信息处理装置的存储器中。另外,如果将该|y2-y1|作为指数,读取μ,计算,Δx′=μ*(x2-x1)则可仅通过乘法,求出与Δx基本相同的值Δx’。
另外,如果将λ限制为2n(n≥1),则可通过算术右移位,计算Δx。
于是,在完全不使用除法的情况下,计算x坐标的变化量Δx。
此外,因相同的原因,纹理坐标也不必要求乘法。
作为具体的实例,对λ=65536,坐标(10,20)的开始点P1与坐标(85,120)的开始点P2的线段的实例进行描述。
相对该线段的y坐标的x坐标的变化量为: Δx = 85 - 10 120 - 20 = 0.75
则Δx′=λx=49152.0。
在不采用除法,仅仅通过整数,对Δx’进行计算的场合,如上述那样,将120-20=100作为指数,从存储器中,读取相应的μ。
在此场合, μ = λ 120 - 20 ≈ 655 则Δx′=μ×(85-10)=49125。于是,可获得与采用除法的Δx’=λx=49152.0基本相同的值。
下面对上述的方法用于便携终端等的场合进行描述。
图1为便携终端的方框图。
在图1中,标号1为表示3维图形的显示器,标号2为作为运算机构的控制部,该控制部由不具有FPU(浮点运算组件)的CPU等构成,标号3为存储有程序,数据的存储部。
另外,在存储部3中,存储有变换参数表4,在该变换参数表4中,存储有变换参数(上述的矩阵A’,矩阵t(t1,t2,t3)t);倒数表5,在该倒数表5中,以该|y2-y1|作为指数,存储有μ。
在下面描述的3维图形的绘制中,将物体均以多角形的平面的组合来表现。另外,将该多角形称为多边形。位于3维空间的物体(多边形)具有X,Y,Z的3个坐标值,通过使坐标运动,可改变物体的位置,方向。另外,为了将通过3维坐标表现的内容,最终显示于2维的屏幕中,进行朝向屏幕坐标系统的变换。
这样的,一系列的坐标变换、透射变换、光源计算等的处理(运算)称为“几何运算”。另外,将通过计算而变换的多边形最终写入到帧缓冲存储器中,进行绘图。
通常,几何运算的处理采用CPU的FPU(浮点运算组件)进行,但是FPU的设计目的不仅用于几何运算,而且还一般用于计算浮点。另外,在以便携电话为代表的便携终端的设备中,由于价格增加的原因,大多不具有FPU(浮点运算组件)。
于是,即使在便携终端这样的,不具有FPU(浮点运算组件)的CPU的信息处理装置中,为了可进行几何运算,按照本发明,控制部3进行整数的几何运算。
另外,即使对于将物体分割为点(dot)的光栅化处理(rasterize),在不具有3D图形加速器的便携终端中,仍处理负荷增加。
于是,按照本发明,为了减轻处理负荷,控制部3不采用除法,而对三角形进行光栅化处理(rasterize)。
下面,对采用控制部3所进行的,上述的运算的3维图形的绘制动作进行描述。
图2为表示3维图形的基本绘制动作的流程图。
首先,设定绘图方的假想帧缓冲存储器的信息(步骤100)。
接着,从存储部3,将作为几何坐标数据的形状数据读入到模型物体中(步骤101)。
在这里读入的形状数据包括顶点坐标列,多边形列和图段列的信息。另外,在图段的数据中,包括基本姿势用的变换参数、所属顶点组和母图段的ID(识别信息)。
此外,所读取的变换参数为将λ(2n(n≥1))与基本的矩阵A相乘而得到的矩阵A’和矩阵t(t1,t2,t3)t,该矩阵A’和矩阵t(t1,t2,t3)t从变换参数表4读取。
然后,读入与形状数据相对应的纹理数据,比如,质感等的数据(步骤102)。
之后,设定从模型坐标系统,到视点坐标系统的变换参数(步骤103),设定从视点坐标系统,到屏幕坐标系统的变换参数(步骤104)。
在假想帧缓冲存储器中,绘制2维的背景(步骤105)。
在该假想帧缓冲存储器中,绘制模型物体(步骤106)。
最后,在实际的画面中,显示上述假想帧缓冲存储器的内容(步骤107)。
接着,通过反复进行步骤103~步骤107,绘制3维图形。
下面对控制部3绘制采用作为本发明的特征的运算的模型物体的图形的步骤106进行更加具体的描述。
图3为更加具体地表示作为绘制模型物体的图形的步骤的步骤106的动作的流程图。
首先,将模型的顶点坐标从局部坐标系统,变换为屏幕坐标系统(步骤200)。
在这里,对模型的结构进行描述。通常,在模型的内部,具有多个图段,各图段具有多个顶点。这些顶点具有图段坐标系统的坐标值。图段可具有多个子图段,具有变换参数,该变换参数用于将在图段中的顶点的坐标变换为母图段坐标系统。最上位的图段所具有的变换参数为用于将该图段所具有的顶点的坐标变换为模型坐标系统的值。另外,还具有基本姿势用的变换参数的信息。
于是,为了将具有图段坐标系统的坐标值的模型的顶点坐标从局部坐标系统,变换为屏幕坐标系统,首先,进行从图段坐标系统,到模型坐标系统的变换。
从图段坐标系统,到模型坐标系统的变换参数的计算通过上述整数的几何运算的仿射变换的合成进行。
在具有母图段的图段的场合,合成图段所具有的变换参数f,以及从母图段的变换参数坐标系统,到模型坐标系统的变换参数g合成,形成从图段坐标系统,到模型坐标系统的变换参数h=gof。
在该合成时,采用上述的仿射变换的合成方式。
另外,在不具有母图段的图段的场合,如果图段所具有的变换参数由f表示,则从图段坐标系统,到模型坐标系统的变换参数为h=f。
下面对从模型坐标系统,到屏幕坐标系统的变换进行描述。
从模型坐标系统,到屏幕坐标系统的变换参数也通过相同的方法计算。
如果从模型坐标系统,到视点坐标系统的变换参数由p表示,从视点坐标系统,到屏幕坐标系统的变换参数由q表示,则从模型坐标系统,到屏幕坐标系统的变换参数r=qop。
最后,根据象上述那样计算的,从图段坐标系统,到模型坐标系统的变换参数h,以及从模型坐标系统,到屏幕坐标系统的变换参数r,计算从图段坐标系统,到屏幕坐标系统的变换参数s。
从图段坐标系统,到屏幕坐标系统的变换参数s与上述的合成相同,为s=roh。h必须针对每个图段进行计算,但是,r在1体的模型的计算中,只须计算1次。
采用象这样计算的变换参数s,将图段坐标系统的顶点坐标,变换屏幕坐标系统的坐标。
坐标变换的运算通过上述的整数的几何运算的仿射变换,按照坐标变换的方式进行。
即,采用变换参数s,将图段坐标系统的顶点坐标系统(x,y,z)t,变换为屏幕坐标系统的坐标(x’,y’,z’)t
接着,在屏幕空间,将里面的多边形从处理对象脱开(步骤201)。
通过视点坐标系统的Z值(进深),对处理对象的多边形进行分类(步骤202)。
最后,通过屏幕坐标,在假想帧缓冲存储器中,绘制多边形(步骤203)。
下面对该步骤进行更加具体的描述。首先,在这里,检查在绘图区域,显示三角形的可能性。在三角形完全地位于绘图区域之外的场合,跳过以后的绘图处理。
接着,事先计算用于对三角形进行扫描的数值。在该计算中,主要对三角形的棱线坐标,纹理坐标等的变化量进行计算。该变化量通过不采用上述的除法的,三角形光栅化处理(rasterize)的运算得出。
在三角形的扫描中,反复进行加法运算,位移等的单纯操作,将像素值写入到假想帧缓冲存储器中。
作为具体的运算的方法,在计算直线上的x坐标的变化量的场合,2维平面上的点P1的坐标由(x1,y1)表示,点P2的坐标由(x2,y2)表示。当y1≠y2时,相对连接P1与P2的直线的y坐标的x坐标的变化量象上述那样,为: Δx = x 2 - x 1 y 2 - y 1 - - - 15
在Δx’=λΔx,通过C语言的数值运算,计算Δx’的场合,则Δx′=λ*(x2-x1)/(y2-y1);
另外,当 μ = λ y 2 - y 1 时,
则Δx′=μ*(x2-x1);
象这样,形成乘法的形式。
在仅按整数进行计算的场合,如果|λ|充分大,|y2-y1|在某种程度小,则化为整数的相对误差变小。
于是,如果λ为常数,限制y坐标的范围,则可根据较少的排列,获得μ。
因此,使将该|y2-y1|作为指数而得到的μ的值预先存储于存储部3的倒数表5中。接着,从倒数表5中,读取与|y2-y1|相对应的μ,对该μ与(x2-x1)进行除法运算,由此,计算出Δx’。
此外,为了实现高速的处理,用Δx’进行必要的运算,在于假想帧缓冲存储器中,写入像素的场合,将上述值除以λ。
还有,在除法运算的阶段,如果λ设定为2n(n≥1),则可通过算术右移位,计算Δx,可在不采用除法的情况下,求出x坐标的变化量。
再有,纹理坐标也可进行相同的处理。
下面,作为本发明的实际的具体实例,对通过控制部3进行的C语言描述的程序进行说明。
首先,在下面给出整数的几何运算的程序。
以下为存储于存储器中的,变换参数,即矩阵A’与矩阵(t1,t2,t3)t的实例。
/**整数的几何运算

*

*  λ=4096

*/

public class Atrans3i{

     public  int  m00:          //相当于a’11

     public  int  m01:          //相当于a’12

     public  int  m02:          //相当于a’13

     public  int  m03:          //相当于t’1

     public  int  m10:          //相当于a’21

     public  int  m11:          //相当于a’22

     public  int  m12:          //相当于a’23

     public  int  m13:          //相当于t’2

     public  int  m20:          //相当于a’31

     public  int  m21:          //相当于a’32

     public  int  m22:          //相当于a’33

     public  int  m23:          //相当于t’3
在这里,public int m00~public int m23象注解那样,相当于仿射变换的矩阵A’与矩阵(t1,t2,t3)t的各元素。另外,λ=4096。
下面给出坐标变换。
  /**坐标变换

  *

  *@param src变换元的点

  *@param dst变换结果的点

  */

  public void transpoint(Vec3i src,Vec3i dst){

      int x=((m00*src.x+m01*src.y+m02*src.z+2048)>>12)+m03;

      int y=((m10*src.x+m11*src.y+m12*src.z+2048)>>12)+m13;

      int z=((m20*src.x+m21*src.y+m22*src.z+2048)>>12)+m23;

      dst.x=x;dst.y=y;dst.z=z;

      reture;

     }
在这里,@param src相当于上述公式2中表示的坐标(x,y,z)t,@param dst相当于上述公式2中表示的坐标(x’,y’,z’)t
下面给出仿射变换的合成。
  /**仿射变换的合成
  *

  *  @param t1左边的仿射变换

  *  @param t2右边的仿射变换

  */

  pulic void multiply(Atrans3i t1,Atrans3i t2){

      int a00=(t1.m00*t2.m00+t1.m01*t2.m10+t1.m02*t2.m20+

  2048)>>12;

     int a01=(t1.m00*t2.m01+t1.m01*t2.m11+t1.m02*t2.m21+
				
				<dp n="d24"/>
2048)>>12;

  int a02=(t1.m00*t2.m02+t1.m01*t2.m12+t1.m02*t2.m22+
2048)>>12;

  int a03=((t1.m00*t2.m03+t1.m01*t2.m13+t1.m02*t2.m23+
2048)>>12)+t1.m03;

  int a10=(t1.m10*t2.m00+t1.m11*t2.m10+t1.m12*t2.m20+
2048)>>12;

  int a11=(t1.m10*t2.m01+t1.m11*t2.m11+t1.m12*t2.m21+
2048)>>12;

  int a12=(t1.m10*t2.m02+t1.m11*t2.m12+t1.m12*t2.m22+
2048)>>12;

  int a13=((t1.m10*t2.m03+t1.m11*t2.m13+t1.m12*t2.m23+
2048)>>12)+t1.m13;

  int a20=(t1.m20*t2.m00+t1.m21*t2.m10+t1.m22*t2.m20+
2048)>>12;

  int a21=(t1.m20*t2.m01+t1.m21*t2.m11+t1.m22*t2.m21+
2048)>>12;

  int a22=(t1.m20*t2.m02+t1.m21*t2.m12+t1.m22*t2.m22+
2048)>>12;

  int a23=((t1.m20*t2.m03+t1.m21*t2.m13+t1.m22*t2.m23+
2048)>>12)+t1.m23;

  m00=a00;m01=a01;m02=a02;m03=a03;

  m10=a10;m11=a11;m12=a12;m13=a13;

  m20=a20;m21=a21;m22=a22;m23=a23;
				
				<dp n="d25"/>
      return;

  }
}
下面给出多边形绘制。
  /**多边形绘制

  *

  *λ=65536

  */

  pulic class Polydraw{

      /**多边形顶点信息*/

      static final class Vertex{

             int  x:               //像素X坐标

             int  y:               //像素Y坐标

             int  u:               //纹理元素U坐标

             int  v:               //纹理元素V坐标

        }

    //内部常数

  private final static int SFT         =16;

  private final static int TEXHMASK    =0x7F0000;

  private final static int TEXWMASK    =0x7F;

  private final static int TEXPSHIFT   =0x09;

    //μ-1的表

   private static final short_inverse__tb1[]=   {

        0x0000,(short)0xffff,0x7fff,0x5554,0x3fff,0x3332,
0x2aa9,0x2491,

        0x1fff,0x1c70,0x1998,0x1744,0x1554,0x13b0,
				
				<dp n="d26"/>
0x1248,0x1110,

       0x0fff,0x0f0e,0x0e37,0x0d78,0x0ccb,0x0c2f,0x0bal,
0x0b20,

       0x0aa9,0x0a3c,0x09d7,0x097a,0x0923,0x08d2,
0x0887,0x0841,

       0x07ff,0x07c0,0x0786,0x074f,0x071b,0x06ea,
0x06bb,0x068f,

       0x0665,0x063d,0x0617,0x05f3,0x05d0,0x05af,
0x058f,0x0571,

       0x0554,0x0538,0x051d,0x0504,0x04eb,0x04d3,
0x04bc,0x04a6,

       0x0491,0x047c,0x0468,0x0455,0x0443,0x0431,
0x0420,0x040f,

       0x03ff,0x03ef,0x03df,0x03d1,0x03c2,0x03b4,
0x03a7,0x039a,

       0x038d,0x0380,0x0374,0x0368,0x035d,0x0352,
0x0347,0x033c,

       0x0332,0x0328,0x031e,0x0314,0x030b,0x0302,
0x02f9,0x02f0,

       0x02e7,0x02df,0x02d7,0x02cf,0x02c7,0x02bf,
0x02b8,0x02b0,

       0x02a9,0x02a2,0x029b,0x0294,0x028e,0x0287,
0x0281,0x027b,

       0x0275,0x026f,0x0269,0x0263,0x025d,0x0258,
0x0252,0x024d,

       0x0248,0x0242,0x023d,0x0238,0x0233,0x022f,
0x022a,0x0225,

       0x0221,0x021c,0x0218,0x0213,0x020f,0x020b,
				
				<dp n="d27"/>
0x0207,0x0203

      };
另外,上述表相当于上述的μ的值的倒数表5,但是从存储器的存储容量节约的观点来说,在上述表中采用μ-1的值。另外,按照|y2-y1|的大小的值的顺序并列。
  //假想帧缓冲存储器信息

  private byte scr_image[];//假想帧缓冲存储器的起始地址

  private int  scr_width;//帧缓冲存储器的横向像素数量

  private int  scr_height;//帧缓冲存储器的纵向像素数量

  private int  scr_pitch;//扫描线跨距

  private int  scr_offset;//地址偏置

  //纹理图像信息

  private byte tex_image[];//纹理数据的起始地址

  private Texture texture;//纹理

  private int tex_width;//纹理的宽度

  private int tex_height;//纹理的高度

  //剪裁信息 

  private int clip_left;//左剪裁位置

  private int clip_top;//上剪裁位置

  private int clip_right;//右剪裁位置

  private int clip_bottom;//下剪裁位置

  /**绘制三角形*/

  voil drawTriangle(Polydraw.Vertex v0,Polydraw.Vertex v1,
				
				<dp n="d28"/>
Polydraw.Vertex v2){

       /*剪裁(代码省略)*/

       boolean inside;

        /*对3个点进行分类(代码省略)*/

        int top_x,top_y,top_u,top_v;

        int mid_x,mid_y,mid_u,mid_v;

        int bot_x,bot_y,bot_u,bot_v;

        /*3个点沿横向形成一条直线*/

        if(top_y,==bot_y)

              return;

         /*扫描开始位置*/

        int scan_scr_y=top_y;

        int pixel    =scan_scr_y*scr_pitch+scr_offset;

        int dist_scr_x,dist_scr_y;

        int tb_scr_x tm_scr_x,mb_scr_x;

        int tb_scr_dx tm_scr_dx,mb_scr_dx;

        int di st_tex_u dist_tex_v;

        int tb_tex_u,    tb_tex_v,tm_tex_u,tm_tex_v,
mb_tex_u,mb_tex_v;

        int tb_tex_du,tb_tex_dv,tm_tex_du,tm_tex_dv,
mb_tex_du,mb_tex_dv;

        /*top_bot*/

        dist_scr_x=bot_x-top_x;

        dist_scr_x=inverse16(bot_y-top_y);
				
				<dp n="d29"/>
          tb_scr_dx=dist_scr_x*dist_scr_y;//top_bot的X
的斜率(Δx’的解法)

          tb_scr_x=top_x<<SFT;//top_bot上的X

          /*纹理的top__bot*/

          dist_tex_u=bot_u-top_u;(Δx’的解法)

          dist_tex_v=bot_v-top_v;(Δx’的解法)

          tb_tex_du=dist_tex_u*dist_scr_y;

          tb_tex_dv=dist_tex_v*dist_scr_y;

          tb_tex_u=top_u<<SFT;//top_bot上的U

          tb_tex_v=top_v<<SFT;//top__bot上的V

          /*top_mid*/

          dist_scr_x=mid_x-top_x;

          dist_scr_y=mid_y-top_y;

          dist_tex_u=mid_u-top_u;

          dist_tex_v=mid_v-top_v;

          /*纹理—扫描用dx,dy top_bot->mid*/

          int  scan_tex_du,scan_tex_dv;

          int  width=dist_scr_x-((tb_scr_dx*dist_scr_y)>>SFT);

          if(width!=0){

               int inv_width=inverse16(width);//水平扫描U
斜率(Δx’的解法)

          scan_tex_du=(dist_tex_u-((tb_tex_du  *
dist_scr_y)>>SFT))*inv_width;);//水平扫描v斜率(Δx’的解
法)

              scan_tex_dv=(dist_tex_v-((tb_tex_dv*
dist_scr_y)>>SFT))*inv_width;
				
				<dp n="d30"/>
         }

         else

           return;

         /*top_mid*/

         int scr_end,scr_dd; 

         if(dist_scr_y>0){

           /*具有上三角形*/

           dist_scr_y=inverse16(dist_scr_y);

           tm_scr_dx=dist_scr_x*dist_scr_y;//top-mid
的x斜率(Δx’的解法)

           tm_scr_x=tb_scr_x;//top-mid上的x

           /*纹理的top-mid*/

           tm_tex_du=dist_tex_u*dist_scr_y;//top-mid
的U斜率(Δx’的解法)

           tm_tex_dv=dist_tex_v*dist_scr_y;//top-mid
上的v斜率(Δx’的解法)

           tm_tex_u=tb_tex_u;//top-mid的U斜率

           tm_tex_v=tb_tex_v;//top-mid的V斜率

         if(width>0){//top-bot在左

            if(inside){

                while(scan_scr_y<mid_y){

                   int p1=(tb_scr_x>>SFT)+pixel;
                   int p2=(tm_scr_x>>SFT)+pixel;

                   int tpx=tb_tex_u;

                   int tpy=tb_tex_v;

                         while(p1<p2){
				
				<dp n="d31"/>
                                int tidx=((tpy &amp; TEXHMASK)
>>>TEXPSHIFT)+((tpx>>>SFT) &amp; TEXWMASK);

      scr_image[p1]=tex_image[tidx];//1个像素写入

               tpx+=scan_tex_du;

               tpy+=scan_tex_dv;

               p1++;

                       }

                       scan_scr_y++;

                       pixel     +=scr_pitch;

                       tb_scr_x  +=tb_scr_dx;

                       tm_scr_x  +=tm_scr_dx;

                       tb_tex_u  +=tb_tex_du;

                       tb_tex_v  +=tb_tex_dv;

                   }

               }

               else{/*代码省略*/}

            }

            else{/*mid-bot在左(代码省略)*/}

       }

    /*底是水平的*/

    if(mid_y==bot_y)

           return;

      /*mid-bot*/

    dist_scr_x=bot_x-mid_x;
    dist_scr_y=inverse16(bot_y-mid_y);

    mb_scr_dx=dist_scr_x*dist_scr_y;//mid-bot的斜率

    mb_scr_x=mid_x<<SFT;//mid-bot上的X
				
				<dp n="d32"/>
      if(width>0){//top-bot在左

          if(inside){

                 while(scan_scr_y<bot_y={

                    int p1=(tb_scr_x>>SFT)+pixel;

                    int p2=(mb_scr_x>>SFT)+pixel;

                    int tpx=tb_tex_u;

                    int tpy=tb_tex_v;

                    while(p1<p2){

                    int tidx=((tpy &amp;TEXHMASK>>>
TEXPSHIFT)+((tpx>>>SFT)&amp; TEXWMASK);

                            scr_image[p1]=tex_image[tidx];
//1个像素写入

                            tpx  +=  scan_tex_du;

                            tpy  +=  scan_tex_dv;

                            p1++;

                     }

                            scan_scr_y++;

                            pixel    +=scr_pitch;

                            tb_scr_x +=tb_scr_dx;

                            mb_scr_x +=mb_scr_dx;

                            tb_scr_u +=tb_tex_du;

                            tb_scr_v +=tb_tex_dv;

                             }

                      }

                      else{/*代码省略*/}

                 }

                 else{/*top-mid在左(代码省略)*/}
				
				<dp n="d33"/>
          return;

       }
  /**计算μ
  *
  *  @param num分母(-32767..-1,1..32767)
  *  @returnμ=λ/num
  */
private static int inverse16(int num){

       boolean     posi_flg=(num>=0);

       int  denom=posi_flg?num:-num;

       if(denom<128){

            int val=(_inverse_tb1[denom] &amp; 0xffff)+1;

            return posi_flg?val:-val;

       }

       int x=32768*128;

       int y=denom<<15;

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       {int s=x-y;x=(s>=0)?(s<<1)+1:x<<1;}

       int r=(x>>15);
				
				<dp n="d34"/>
          x<<=1;

          if(denom<=r)

             x++;

          x &amp;=0xffff;

          return posi_flg?x:-x;

      }

  }
上面为实施本发明用的程序的一个实例。
产业上利用可能性
由于本发明在3维图像的绘制的运算处理时,可以在整数的范围,进行运算处理,故即使在象便携终端,PDA(PersonalDigital(Data)Assistants)那样,也不具有FPU(浮点运算组件)的装置,仍对3维图像进行处理。
另外,由于在运算处理时,不进行处理负荷较高的除法,故即使在CPU的能力较低的信息处理装置中,仍进行顺利的绘图处理。

Claims (24)

1.一种信息处理装置,在该信息处理装置中,在进行3维图像的绘制的光栅化(rasterize)处理时,计算相对连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的y坐标的x坐标的变化量Δx: &Delta;x = x 2 - x 1 y 2 - y 1 ;
其特征在于该信息处理装置包括:
存储器,该存储器按照与y坐标的变化量相关的方式,存储有通过下述公式表示的常数μ; &mu; = &lambda; y 2 - y 1
运算机构,该运算机构在对上述Δx进行运算时,从存储器中读取与上述y坐标的变化量相对应的μ,通过乘法运算,对下述公式进行运算,
Δx′=μ*(x2-x1),将该结果作为Δx,进行运算。
2.根据权利要求1所述的信息处理装置,其特征在于其还包括下述机构,其中,上述λ限定为2n(n≥1),通过对上述计算的Δx’进行n位右移位,进行Δx的运算。
3.根据权利要求1或2所述的信息处理装置,其特征在于其还包括存储器,在坐标值限定为整数,将坐标(x,y,z)t通过下述式 x &prime; y &prime; z &prime; = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t的场合,该存储器存储有仿射变换的矩阵 A = a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 与λ(≠0)相乘而形成的矩阵 A &prime; = a &prime; 11 a &prime; 12 a &prime; 13 a &prime; 21 a &prime; 22 a &prime; 23 a &prime; 31 a &prime; 32 a &prime; 33 = &lambda;A = &lambda; a 11 &lambda; a 12 &lambda; a 13 &lambda; a 21 &lambda; a 22 &lambda; a 23 &lambda; a 31 &lambda; a 32 &lambda; a 33 矩阵(t1,t2,t3)t和形状数据;
运算机构,该运算机构在通过矩阵A和矩阵(t1,t2,t3)t的仿射变换,将上述形状数据的坐标(x,y,z)t,变换为坐标(x’,y’,z’)t时,通过上述存储器,读取矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;由此对坐标(x’,y’,z’)t进行运算。
4.根据权利要求3所述的信息处理装置,其特征在于上述λ限定为2n(n≥1);
上述运算机构为,通过对下述式
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;的除法运算的结果进行n位右移位的方式进行运算的机构。
5.根据权利要求4项所述的信息处理装置,其特征在于上述运算机构为通过在将各被除数与常数λ/2相加后,对其n位移位的方式进行运算的机构。
6.根据权利要求3~5中的任何一项所述的信息处理装置,其特征在于其包括合成机构,该合成机构对预先乘以λ(≠0)的2个以上的参数进行合成。
7.一种3维图像的绘制处理方法,该方法计算在进行3维图像的绘制的光栅化(rasterize)处理时的,连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的,由下述公式表示的,相对y坐标的x坐标的变化量Δx: &Delta;x = x 2 - x 1 y 2 - y 1 ;
其特征在于该方法包括:
读取步骤,在该读取步骤中,在对Δx进行运算时,从存储器中,读取所运算的Δx与y坐标的变化量相对应的常数μ,该存储器对应于y坐标的变化量,存储有由下述公式表示的常数μ, &mu; = &lambda; y 2 - y 1 ;
运算步骤,在该运算步骤中,根据上述已读取的常数μ,通过乘法运算,对下述公式进行运算,
Δx′=μ*(x2-x1)将该结果作为Δx进行运算。
8.根据权利要求7所述的3维图像的绘制处理方法,其特征在于该方法还包括下述步骤,即,将上述λ限定为2n(n≥1),对该计算出的Δx’进行n位右移位,对Δx进行运算。
9.根据权利要求7,或8所述的3维图像的绘制处理方法,其特征在于在将坐标值限定为整数,将坐标(x,y,z)t通过下述式 x &prime; y &prime; z &prime; = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t时,该信息处理方法包括下述步骤:
读取步骤,该读取步骤读取参数A’和矩阵(t1,t2,t3)t,该参数A’是在下述场合,将存储于存储器中的,矩阵A与λ(≠0)相乘而得到的,该场合指通过矩阵A和(t1,t2,t3)t的仿射变换,将形状数据的坐标(x,y,z)t变换为(x’,y’,z’)t,该A’表示为: A &prime; = a &prime; 11 a &prime; 12 a &prime; 13 a &prime; 21 a &prime; 22 a &prime; 23 a &prime; 31 a &prime; 32 a &prime; 33 = &lambda;A = &lambda; a 11 &lambda; a 12 &lambda; a 13 &lambda; a 21 &lambda; a 22 &lambda; a 23 &lambda; a 31 &lambda; a 32 &lambda; a 33
运算步骤,在该运算步骤中,根据上述已读取的矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;由此对坐标(x’,y’,z’)t进行运算。
10.根据权利要求9所述的3维图像的绘制处理方法,其特征在于将上述λ限定为2n(n≥1);
上述运算步骤为,通过对下述式
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;的除法运算的结果进行n位右移位,由此对坐标(x’,y’,z’)t进行运算的步骤。
11.根据权利要求10所述的3维图像的绘制处理方法,其特征在于其还包括在进行n位右移位之前,将各被除数与常数λ/2进行加法运算的步骤。
12.根据权利要求9~11中的任何一项所述的3维图像的绘制处理方法,其特征在于还包括将预先乘以λ(≠0)的2个以上的参数合成的步骤。
13.一种程序,该程序在信息处理装置中,进行下述运算处理,该运算处理计算在进行3维图像的绘制的光栅化(rasterize)处理时的,连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的,由下述公式表示的,相对y坐标的x坐标的变化量Δx: &Delta;x = x 2 - x 1 y 2 - y 1 ;
其特征在于该程序在信息处理装置中包括:
读取步骤,在该读取步骤中,对Δx进行运算时,从上述存储器中,读取所运算的Δx与y坐标的变化量相对应的常数μ,该存储器对应于y坐标的变化量,存储有由下述公式表示的常数μ, &mu; = &lambda; y 2 - y 1
运算步骤,在该运算步骤中,根据上述已读取的常数μ,通过乘法运算,对下述公式进行运算,
Δx′=μ*(x2-x1)
将其结果作为Δx,进行运算。
14.根据权利要求13所述的程序,其特征在于该程序还包括下述步骤,即,在信息处理装置中,将上述λ限定为2n(n≥1),对该计算出的Δx’进行n位移位,对Δx进行运算。
15.根据权利要求13或14所述的程序,其特征在于在信息处理装置中,将坐标值限定为整数,将坐标(x,y,z)t通过下述式 x &prime; y &prime; z &prime; = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t时,该程序包括下述步骤:
读取步骤,该读取步骤读取参数A’和矩阵(t1,t2,t3)t,该参数A’是在下述场合,将存储于存储器中的,矩阵A与λ(≠0)相乘而得到的,该场合指通过矩阵A和(t1,t2,t3)t的仿射变换,将形状数据的坐标(x,y,z)t变换为(x’,y’,z’)t,该A’表示为: A &prime; = a &prime; 11 a &prime; 12 a &prime; 13 a &prime; 21 a &prime; 22 a &prime; 23 a &prime; 31 a &prime; 32 a &prime; 33 = &lambda;A = &lambda; a 11 &lambda; a 12 &lambda; a 13 &lambda; a 21 &lambda; a 22 &lambda; a 23 &lambda; a 31 &lambda; a 32 &lambda; a 33
运算步骤,在该运算步骤中,根据上述已读取的矩阵A’和矩阵(t1,t2,t3)t,对下述式进行运算,
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;由此对坐标(x’,y’,z’)t进行运算。
16.根据权利要求15所述的程序,其特征在于上述λ限定为2n(n≥1);
上述运算步骤为,通过对下述式
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;进行除法运算的结果进行n位右移位,由此对坐标(x’,y’,z’)t进行运算的步骤。
17.根据权利要求16所述的程序,其特征在于该程序还包括在信息处理装置中,在进行n位移位之前,将各被除数与常数λ/2进行加法运算的步骤。
18.根据权利要求15~17中的任何一项所述的程序,其特征在于还包括在信息处理装置中,将预先乘以λ(≠0)的2个以上的参数合成的步骤。
19.一种记录媒体,该记录媒体存储有下述程序,在该程序中计算在进行3维图像的绘制的光栅化(rasterize)处理时的,连接2维平面上的点P1(x1,y1)和P2(x2,y2)的直线的,由下述公式表示的,相对y坐标的x坐标的变化量Δx: &Delta;x = x 2 - x 1 y 2 - y 1
其特征在于上述程序在信息处理装置中还包括下述步骤:
读取步骤,在该读取步骤中,在对Δx进行运算时,从存储器中,读取所运算的Δx与y坐标的变化量相对应的常数μ,该存储器对应于y坐标的变化量,存储有由下述公式表示的常数μ: &mu; = &lambda; y 2 - y 1 ;
运算步骤,在该运算步骤中,根据上述已读取的常数μ,通过乘法运算,对下述公式进行运算,
Δx′=μ*(x2-x1)将该结果作为Δx进行运算。
20.根据权利要求19所述的记录媒体,其特征在于上述程序还包括在信息处理装置中,将上述λ限定为2n(n≥1),对该计算出的Δx’进行n位移位,对Δx进行运算的步骤。
21.根据权利要求19或20所述的记录媒体,其特征在于在信息处理装置中,将坐标值限定为整数,将坐标(x,y,z)t通过下述式 x &prime; y &prime; z &prime; = A x y z + t 1 t 2 t 3 表示的仿射变换,变换为坐标(x’,y’,z’)t时,上述程序包括下述步骤:
读取步骤,该读取步骤读取参数A’和矩阵(t1,t2,t3)t,该参数A’是在下述场合,将存储于存储器中的,矩阵A与λ(≠0)相乘而得到的,在该场合,通过矩阵A和(t1,t2,t3)t的仿射变换,将形状数据的坐标(x,y,z)t变换为(x’,y’,z’)t,该A’表示为: A &prime; = a &prime; 11 a &prime; 12 a &prime; 13 a &prime; 21 a &prime; 22 a &prime; 23 a &prime; 31 a &prime; 32 a &prime; 33 = &lambda;A = &lambda; a 11 &lambda; a 12 &lambda; a 13 &lambda; a 21 &lambda; a 22 &lambda; a 23 &lambda; a 31 &lambda; a 32 &lambda; a 33
运算步骤,在该运算步骤中,根据上述已读取的矩阵A’和矩阵(t1,t2,t3)’,对下述式进行运算,
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;由此对坐标(x’,y’,z’)t进行运算。
22.根据权利要求21所述的记录媒体,其特征在于将上述λ限定为2n(n≥1),
上述运算步骤为,对下述式
x′=(a′11*x+a′12*y+a′13*z)/λ+t1
y′=(a′21*x+a′22*y+a′23*z)/λ+t2
z′=(a′31*x+a′32*y+a′33*z)/λ+t3;进行除法运算的结果进行n位右移位,由此对坐标(x’,y’,z’)t进行运算的步骤。
23.根据权利要求22所述的记录媒体,其特征在于上述程序还包括在上述信息处理装置中,在进行上述n位右移位之前,将各被除数与常数λ/2进行加法运算的步骤。
24.根据权利要求21~23中任一项所述的记录媒体,其特征在于上述程序还包括在信息处理装置中,将预先乘以λ(≠0)的2个以上的参数合成的步骤。
CN02802446A 2001-06-21 2002-06-20 信息处理装置 Pending CN1465036A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001187619 2001-06-21
JP187619/2001 2001-06-21

Publications (1)

Publication Number Publication Date
CN1465036A true CN1465036A (zh) 2003-12-31

Family

ID=19026886

Family Applications (2)

Application Number Title Priority Date Filing Date
CN02802444A Pending CN1465035A (zh) 2001-06-21 2002-06-20 信息处理装置
CN02802446A Pending CN1465036A (zh) 2001-06-21 2002-06-20 信息处理装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN02802444A Pending CN1465035A (zh) 2001-06-21 2002-06-20 信息处理装置

Country Status (8)

Country Link
US (2) US7030880B2 (zh)
EP (2) EP1406214A4 (zh)
JP (2) JPWO2003001458A1 (zh)
KR (2) KR100924250B1 (zh)
CN (2) CN1465035A (zh)
IL (4) IL154451A0 (zh)
TW (2) TWI239488B (zh)
WO (2) WO2003001457A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053013B (zh) * 2004-05-14 2010-04-07 辉达公司 低功率可编程处理器

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107081B1 (en) 2001-10-18 2006-09-12 Iwao Fujisaki Communication device
US7466992B1 (en) 2001-10-18 2008-12-16 Iwao Fujisaki Communication device
US7127271B1 (en) 2001-10-18 2006-10-24 Iwao Fujisaki Communication device
US8229512B1 (en) 2003-02-08 2012-07-24 Iwao Fujisaki Communication device
US8241128B1 (en) 2003-04-03 2012-08-14 Iwao Fujisaki Communication device
US8090402B1 (en) 2003-09-26 2012-01-03 Iwao Fujisaki Communication device
US8121635B1 (en) 2003-11-22 2012-02-21 Iwao Fujisaki Communication device
US8041348B1 (en) 2004-03-23 2011-10-18 Iwao Fujisaki Communication device
US7202877B2 (en) * 2004-05-21 2007-04-10 Texas Instruments Incorporated Sprite rendering
US7664338B2 (en) * 2004-09-28 2010-02-16 Qualcomm Incorporated Perspective transformation of two-dimensional images
US8208954B1 (en) 2005-04-08 2012-06-26 Iwao Fujisaki Communication device
KR101249988B1 (ko) * 2006-01-27 2013-04-01 삼성전자주식회사 사용자의 위치에 따른 영상을 디스플레이하는 장치 및 방법
US8692809B2 (en) * 2006-07-06 2014-04-08 Elo Touch Solutions, Inc. Auto-gain switching module for acoustic touch systems
US7936921B2 (en) * 2007-01-04 2011-05-03 Freescale Semiconductor, Inc. Efficient fixed-point real-time thresholding for signal processing
US7890089B1 (en) 2007-05-03 2011-02-15 Iwao Fujisaki Communication device
US8559983B1 (en) 2007-05-03 2013-10-15 Iwao Fujisaki Communication device
US8676273B1 (en) 2007-08-24 2014-03-18 Iwao Fujisaki Communication device
US8639214B1 (en) 2007-10-26 2014-01-28 Iwao Fujisaki Communication device
US8472935B1 (en) 2007-10-29 2013-06-25 Iwao Fujisaki Communication device
US8744720B1 (en) 2007-12-27 2014-06-03 Iwao Fujisaki Inter-vehicle middle point maintaining implementer
US8543157B1 (en) 2008-05-09 2013-09-24 Iwao Fujisaki Communication device which notifies its pin-point location or geographic area in accordance with user selection
US8340726B1 (en) 2008-06-30 2012-12-25 Iwao Fujisaki Communication device
US8452307B1 (en) 2008-07-02 2013-05-28 Iwao Fujisaki Communication device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4760548A (en) * 1986-06-13 1988-07-26 International Business Machines Corporation Method and apparatus for producing a curve image
US5028848A (en) * 1988-06-27 1991-07-02 Hewlett-Packard Company Tile vector to raster conversion method
US5715385A (en) * 1992-07-10 1998-02-03 Lsi Logic Corporation Apparatus for 2-D affine transformation of images
JP3131041B2 (ja) * 1992-08-28 2001-01-31 三菱電機株式会社 量子化装置
US5581665A (en) * 1992-10-27 1996-12-03 Matsushita Electric Industrial Co., Ltd. Three-dimensional object movement and transformation processing apparatus for performing movement and transformation of an object in a three-diamensional space
JPH0778269A (ja) * 1993-06-30 1995-03-20 Nec Corp 3次元描画装置
JP2526505B2 (ja) * 1993-09-28 1996-08-21 日本電気株式会社 画像処理装置
WO1996003717A1 (en) * 1994-07-22 1996-02-08 Apple Computer, Inc. Method and system for the placement of texture on three-dimensional objects
KR0170934B1 (ko) * 1994-12-29 1999-03-20 배순훈 프랙탈 영상 부호화를 위한 고속 아핀 변환 장치
JPH09305789A (ja) * 1996-05-21 1997-11-28 Hitachi Ltd 演算方法およびグラフィックス表示装置
AUPP091197A0 (en) * 1997-12-15 1998-01-08 Liguori, Vincenzo Direct manipulation of compressed geometry
US6215915B1 (en) * 1998-02-20 2001-04-10 Cognex Corporation Image processing methods and apparatus for separable, general affine transformation of an image
US6389154B1 (en) * 1998-07-15 2002-05-14 Silicon Graphics, Inc. Exact evaluation of subdivision surfaces generalizing box splines at arbitrary parameter values
US6483514B1 (en) * 1999-04-15 2002-11-19 Pixar Animation Studios Motion blurring implicit surfaces
JP4244444B2 (ja) 1999-05-28 2009-03-25 ソニー株式会社 データ処理装置、除算回路および画像処理装置
GB2359884B (en) * 1999-11-25 2004-06-30 Canon Kk Image processing method and apparatus
JP2002008060A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd データ処理方法、記録媒体及びデータ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101053013B (zh) * 2004-05-14 2010-04-07 辉达公司 低功率可编程处理器

Also Published As

Publication number Publication date
US20030184543A1 (en) 2003-10-02
EP1406214A4 (en) 2009-01-14
JPWO2003001458A1 (ja) 2004-10-14
EP1406213A1 (en) 2004-04-07
WO2003001457A1 (fr) 2003-01-03
KR20030043935A (ko) 2003-06-02
IL154451A0 (en) 2003-09-17
KR20030045036A (ko) 2003-06-09
TWI257795B (en) 2006-07-01
TWI239488B (en) 2005-09-11
KR100924250B1 (ko) 2009-10-30
EP1406214A1 (en) 2004-04-07
IL154450A (en) 2008-11-26
US6970178B2 (en) 2005-11-29
WO2003001458A1 (fr) 2003-01-03
IL154450A0 (en) 2003-09-17
US7030880B2 (en) 2006-04-18
JPWO2003001457A1 (ja) 2004-10-14
JP4046233B2 (ja) 2008-02-13
US20030185460A1 (en) 2003-10-02
IL154451A (en) 2009-07-20
CN1465035A (zh) 2003-12-31
EP1406213A4 (en) 2009-01-14

Similar Documents

Publication Publication Date Title
CN1465036A (zh) 信息处理装置
CN1293518C (zh) 具有割截与支援框线模式的三角形描绘方法与装置
CN1027472C (zh) 文字生成方法及其装置
CN1153129C (zh) 用于处理器定制操作的设备
CN1324526C (zh) 视频信号的自适应缩放
CN1187952C (zh) 校正输入图象失真的设备与方法
CN1774727A (zh) 为像素确定覆盖掩模
CN1138420C (zh) 图象处理器、图象数据处理器和可变长度代码解码器
CN100341031C (zh) 曲面图像处理装置及曲面图像处理方法
CN1924931A (zh) 视频绘制装置及方法
CN1745575A (zh) 图像感测装置
CN1008021B (zh) 图象数据处理方法及其系统
CN1898676A (zh) 使用了点图案的信息输入输出方法
CN1121199A (zh) 字符发生装置及其实现方法
CN1703724A (zh) 用于波特-达夫合成的背景色去除方法
CN1526098A (zh) 与二维或三维几何实体相关的数据的输出方法和系统
CN1399244A (zh) 字符显示设备、方法和程序以及用于它们的记录媒体
CN1216337C (zh) 用于采用离散变换进行数字视频数据压缩的方法和系统
CN101038676A (zh) 图像处理装置和图像处理方法
CN1206612C (zh) 用于重现具有畸变的反射性组构表面的方法和设备
CN1273000A (zh) 视频显示器和程序记录媒体
CN1836634A (zh) 四维标记设备、n维标记设备、四维空间滤波设备以及n维空间滤波设备
CN1271846C (zh) 图像处理方法及图像处理装置
CN1816843A (zh) 字符显示设备、字符显示方法、字符显示程序及可读记录介质
CN1485769A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1061732

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1061732

Country of ref document: HK