CN100392678C - 执行透视变换的方法和装置 - Google Patents
执行透视变换的方法和装置 Download PDFInfo
- Publication number
- CN100392678C CN100392678C CNB008060614A CN00806061A CN100392678C CN 100392678 C CN100392678 C CN 100392678C CN B008060614 A CNB008060614 A CN B008060614A CN 00806061 A CN00806061 A CN 00806061A CN 100392678 C CN100392678 C CN 100392678C
- Authority
- CN
- China
- Prior art keywords
- points
- viewpoint
- minz
- maxz
- value
- 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.)
- Expired - Fee Related
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000001131 transforming effect Effects 0.000 claims abstract 2
- 230000014509 gene expression Effects 0.000 claims description 32
- 230000003287 optical effect Effects 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 150000001875 compounds Chemical class 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 15
- 238000004891 communication Methods 0.000 description 11
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
一种在一虚拟二维屏幕上对在三维空间中的对象执行透视变换的装置,对象是由多个点指定的,该装置包括一个图形单元该单元可操作确定该多个点是否相对于三维空间中的一个视点定位,和使用该多个点的一个代表点的坐标值近似透视变换其它的点。
Description
发明背景技术
发明领域
本发明涉及计算机图形处理,尤其是涉及将三维对象在一个虚拟二维屏幕上进行透视变换的方法和装置。
相关技术说明
在传统技术中,将一个三维对象(对象)在一个虚拟二维屏幕上进行透视变换时,用于确定对象的点分别依据视点与这些点之间的距离和视点与该屏幕之间的距离的比值加以计算,以执行透视变换。
然而,由于视点与用于确定该对象的各个点之间的距离彼此相异,对这些距离的非常大量的计算被计算机的CPU(中央处理单元)或另一装置所要求。换句话说,在一个娱乐系统如一个视频游戏装置中,当对连续变化的一个对象图像执行高速处理时,在CPU或类似装置上的大量负荷将会造成问题。
发明概述
有关计算机图形处理方面,本发明已经考虑到了上述问题,而且其目的是提供用于在一个虚拟二维屏幕上透视变换三维对象的一种新方法和装置。
依据本发明,一个用于透视变换放置在三维空间中的一个对象的装置,其包含这样一个装置,其中当用于指定该对象的多个点的坐标值相对于三维空间中的某个方向定位时,通过使用从这多个点中挑选出来的一个代表点的坐标值,对其它点的透视变换进行近似,高速执行图形计算。
当有多个对象位于一个三维空间中时,以对象为单位执行近似计算。
经常使用从视点延伸到该对象的视线方向。例如,这个视线方向是在围绕视点定义的一个XYZ坐标系中的一个Z轴方向。
对于该多个点,经常使用以多边形绘制一个对象时所获得的顶点坐标。
在该多个点坐标值的基础上通过一种替换方法来确定代表点。例如,将Z值的一个平均值、第一个选定点或最后一个选定点的Z值设置为代表点。
还可以通过一个线性近似、一个二次近似、或一个更高阶近似计算出这些坐标值。
在这种情况下,以如下的方式确定用于确定该对象的多个点的坐标值是否相对于三维空间中的某个方向定位。也就是说,假定该对象在Z轴方向Z值的最小值用minZ表示,该对象Z值的最大值用maxZ表示,而且该对象Z值的平均值用meanZ表示。在这种情况下,当表达式:
|minZ-maxZ|÷|minZ|≤K1,
|minZ-maxZ|÷|maxZ|≤K1,或者
|minZ-maxZ|÷|meanZ|≤K1,
得到满足时,就确定了该对象的Z值已经定位了。K1值为,例如0.1。
然而,K1值可以改变,这取决于要应用的一个应用程序,要应用的一个图解景物等等。
此外,以对象为单位,以如下的方式确定用于指定多个对象的多个点的坐标值是否已经相对于三维空间中的某个方向定位。也就是说,假定第i个(i=1,2,......,M)对象在Z轴方向的Z值的最小值用minZi表示,该第i个对象的Z值的最大值用maxZi表示,而且该第i个对象的Z值的平均值用meanZi表示。在这种情况下,当表达式:
|minZ1-maxZ1|÷|meanZ1-meanZ2|≤K2,
|minZ2-maxZ2|÷|meanZ1-meanZ2|≤K2,
|minZ2-maxZ2|÷|meanZ2-meanZ3|≤K2,
|minZ3-maxZ3|÷|meanZ2-meanZ3|≤K2,
………………
|minZM-1-maxZM-1|÷|meanZM-1-meanZM|≤K2,
以及
|minZM-maxZM|÷|meanZM-1-meanZM|≤K2
得到满足时,就确定以对象为单位的Z值已经定位了。在这种情况下,以对象为单位执行近似计算。K2值为,例如0.1。
然而,K2值可以改变,这取决于要应用的一个应用程序、要应用的一个图解景物等等。该方法可以有选择地仅仅应用于满足这些表达式的一个对象。
此外,一个在一个虚拟二维屏幕上透视变换一个放置在三维空间中的对象的装置,其具有这样的装置,其中当以对象为单位、用于指定相同图解景物上对象的多个点的坐标值相对于某个方向定位时,通过使用选定用于相应对象的一个代表点的坐标值,近似计算用于指定这些对象的其它点的透视变换。
可以通过一种替换方法、一个线性近似、一个二次近似、或一个更高阶近似来选定这些代表点。
此外,依据本发明的一个娱乐系统包含:一个控制系统、一个图形系统、一个音响系统、一个光盘控制单元、以及一条用于彼此连接这些系统和单元的总线,其中:该图形系统具有一个几何变换工具,而且当用于指定该对象的多个点的坐标值相对于三维空间中的某个方向定位时,通过使用从这多个点中挑选出来的一个代表点的坐标值,该图形系统近似其它点的透视变换。
这里,当存在多个对象时,以及当以对象为单位定位这些对象时,以对象为单位执行近似。
此外,依据本发明的一种用于透视变换一个放置在三维空间中的对象的方法,包含如下步骤:检查用于指定该对象的多个点的坐标值是否相对于该三维空间中的某个方向定位;以及通过使用从这多个点中挑选出来的一个代表点的坐标值来近似其它点的透视变换,如果该坐标值已被定位。
这里,当存在多个对象时,以及当以对象为单位定位这些对象时,以对象为单位执行近似。
这样,当透视变换多个点时,能够利用近似值对几个点的Z值进行算术运算。因此,就减少了在CPU及其他算术运算装置上的负载,并且能够获得一个高速的透视变换。
附图简要描述
图1是一个视频游戏装置外观的一个透视图,该装置用作实现本发明的一个娱乐系统的一个实例。
图2是一个图1中视频游戏装置的正面的透视图。
图3是当一个便携式电子设备被插入到图1所示的视频游戏装置中时该视频游戏装置的透视图。
图4是图1所示的视频游戏装置的主体部件的一个原理电路配置的一个实例框图。
图5的框图说明了当从视点观察一个对象(对象)时、计算用于确定该对象的一个点在一个屏幕上位置的透视变换。
图6的框图说明了当从视点观察一个对象时、计算用于确定该对象的多个点在一个屏幕上位置的透视变换。
图7的框图说明了当多个对象存在于同一个图解景物中时、计算用于确定这些对象的多个点在一个屏幕上位置的透视变换。
图8的框图说明了通过近似图6中的对象(对象)而执行的透视变换。
图9的框图说明了:以对象为单位、通过近似图7中的多个对象(对象)而执行的透视变换。
最佳实施例说明
下面将结合附图详细描述依据本发明的一个实施例。
【娱乐系统】
首先,结合附图,将简单描述一个依据本发明能够执行三维图形的娱乐系统。
图1显示了作为娱乐系统一个例子的一个视频游戏装置的外观。这个视频游戏装置1读取记录在一张光盘等上面的一段游戏程序,并依据来自于一个用户(玩游戏者)的一条指令执行该游戏程序。执行该游戏主要意味着一个游戏的进程以及一个显示或声音的控制。
该视频游戏装置1的主体2包含:一个磁盘装载单元3,其载有一张光盘诸如一张CD-ROM,其中该光盘用作一个记录介质用于向中央单元提供一段应用程序诸如一个视频游戏;一个重置开关4,用于任意地重启该游戏;一个电源开关5;一个磁盘操作开关,用于操作光盘的载入;以及例如两个插槽单元7A和7B。
两个操作设备20能够与插槽单元7A和7B相连,这样二个用户能够执行一个合作游戏等。其中能够保存(存储)或读取游戏数据的一个存储卡设备、或者是能够独立于主体执行一个游戏的一个便携式电子设备也可以连接到插槽单元7A和7B。
操作设备(在下文中称为″控制器″)20具有第一和第二操作单元21和22、一个L按钮23L、一个R按钮23R、一个启动按扭24、以及一个选择按钮25。该控制器进一步包含:能够进行近似操作的操作单元31和32;一个模式选择开关33,用于选择操作单元31和32的一种操作模式;以及一个显示单元34,用于显示一种选定的操作模式。
图2显示了排列在视频游戏装置1主体2正面上的二个插槽单元7A和7B的外表。二个插槽单元7A和7B中的每一个都具有两级。在上一级上,形成了存储卡插入单元8A和8B,其中可以插入一个存储卡10或一个便携式电子设备100(未显示)。在下一级上,形成了控制器连接单元(插座)9A和9B,它可以连接控制器20的一个连接终端单元(连接器)26。
存储卡插入单元8A和8B的每一个插孔(插槽)都是有些不对称形成的,这样存储卡就不能错误地反向插入到相应的存储卡插入单元中。另一方面,控制器连接单元9A和9B中的每一个也是有些不对称形成的,这样连接终端单元26就不能错误地反向连接到相应的控制器连接单元。控制器连接单元9A和9B中每一个的形状都不同于存储卡插入单元8A和8B中的每一个,这样存储卡就不会错误地插入到相应的控制器连接单元中。
图3显示了处于这样一个状态的视频游戏设备1,其中便携式电子设备100插入到视频游戏设备1正面上的插槽单元7A的存储卡插入单元8A中。
图4的框图显示了视频游戏设备1的主体部件的一个原理电路配置的一个实例。
该视频游戏设备1包含:一个控制系统50,由一个中央处理单元(CPU)51和其外围设备等构成;一个图形系统60,由一个图像处理单元(GPU:图形处理单元)62等构成,用于在一个帧缓冲器63中绘制一幅图画;一个音响系统70,由一个声音处理单元(SPU)等构成,用于产生声音、音响效果等;一个光盘控制单元80,用于控制一个上面记录了一段应用程序的光盘;一个通信控制单元90,用于控制一个对来自于控制器20的信号以及来自于存储卡10或便携式电子设备100的数据的输入/输出操作,其中存储卡10或便携式电子设备100用于存储一个游戏的设置,控制器20用于输入来自用户的一条指令;以及一条总线BUS等,用于连接上述单元。
控制系统50具有:CPU 51;一个外围设备控制单元52,用于执行中断控制或者直接存储器存取(DMA:直接存储器存取)变换控制等;一个主存储器(主存储单元)53,由一个随机存取存储器(RAM)构成;以及一个只读存储器(ROM)54,其中包含一段程序如一个所谓的操作系统用于管理主存储器53、图形系统60、音响系统70等。主存储器53是一个其上有能够执行的一段程序的存储器。
CPU 51执行存储在ROM 54中的操作系统以便从整体上控制该视频游戏设备1,并且它由一个32位RISC(精简指令集计算机)-CPU构成。
当该视频游戏设备1通电时,控制系统50的CPU 51执行存储在ROM 54中的操作系统,这样CPU 51就能够执行图形系统60、音响系统70、等等的控制。
当执行该操作系统时,CPU 51从整体上执行诸如视频游戏设备1的一个操作校验这样的初始化过程,然后控制光盘控制单元80以执行诸如记录在光盘上的一个游戏这样的一段应用程序。当执行一个游戏等类似程序时,CPU 51依据用户的一个输入控制图形系统60、音响系统70等以便控制一幅图像的显示和音响效果及声音的产生。
图形系统60包含:一个图形数据产生处理器或者一个几何变换工具(GTE)61,用于执行一个诸如坐标变换这样的处理过程;图形处理单元(GPU)62,用于依据来自于CPU 51的一条绘图指令绘制一幅图画;一个帧缓冲器63,用于存储由GPU 62绘制的图像;以及一个图像解码器64,用于解码由正交变换诸如离散余弦变换压缩的图像数据。
GTE 61起到一个协处理器51的作用。 GTE 61包含一个并行算术运算机制用于并行执行多个算术运算,这样能够依据来自CPU 51的一个算术请求高速地执行诸如坐标变换、光源计算、矩阵或者矢量等算术运算。更具体地说,依据本发明由GTE 61执行多边形顶点坐标的计算。GTE 61在执行用于绘制例如一个单色三角形的平面拍摄的算术运算中,每秒钟能够执行最多大约1.5百万个多边形的坐标运算。这样,在该视频游戏装置中,能够减少在CPU 51上的负载,而且能够执行一个高速的坐标运算。
依据来自CPU 51的一个多边形绘图指令,GPU 62进行操作。GPU62具有一个与CPU 51无关的二维地址空间,用于在充当该地址空间的帧缓冲器63中绘制多边形。GPU 62被设计为每秒钟处理最多大约36万个多边形。
此外,帧缓冲器63由一个所谓的双端口RAM构成,而且被设计为能够同时执行来自GPU 62的绘制或者来自主存储器53的变换以及用于显示的读取。该帧缓冲器63具有例如1兆字节的容量,并且被当作16位矩阵处理,其中每个矩阵都为1,024像素宽、512像素长。
在帧缓冲器63中,除了有一个显示区域输出作为一个视频输出之外,还形成了:一个颜色查阅表(CLUT)区域,用于当GPU 62绘制多边形等类似对象时参考其中的CLUT;以及一个纹理区域,其中存储了附着(映射)在多边形等中的材质(纹理),其中的多边形等在绘制过程中要进行坐标变换并且由GPU 62进行绘画。依据显示区域等的变化可以动态地改变这些CLUT区域和纹理区域。
GPU 62被设计为这样:除了执行平面阴影处理之外,还能够执行gouraud阴影处理,用于通过对这些多边形的顶点颜色进行插值来确定这些多边形的颜色;以及纹理映射,用于在这些多边形上粘贴存储在纹理区域中的纹理。当执行gouraud阴影处理或者纹理映射时,GTE61每秒钟能够执行最多大约50万个多边形的坐标运算。
此外,图像解码器64由CPU 51控制,并且解码一幅静态图像或者一幅移动图片的图像数据,用以在主存储器53中存储解码后的数据。
通过主体2,再现的图像数据被存储在帧缓冲器63中,这样该图像数据能被用作由GPU 62绘制的一幅图像的背景。
音响系统70包含:一个SPU 71,用于在来自于CPU 51的一条指令的基础上产生声音、音响效果等等;一个声音缓冲器72,其中记录了波形数据等;以及一个扬声器73,用于输出由SPU 71产生的声音、音响效果等等。
SPU 71具有:一个ADPCM解码功能,用于再现音频数据,该数据是通过对例如当作4位差分信号的16位音频数据执行自适应差分脉码调制(ADPCM)获得的;一个再现功能,用于再现存储在声音缓冲器72中的波形数据以产生音响效果等;一个调制功能,用于调制和再现存储在声音缓冲器72中的波形数据等。
由于音响系统70包含这些功能,因此音响系统70能够被用作一个所谓的取样声源,其依据来自CPU 51的一条指令,在记录在声音缓冲器72上的波形数据的基础上,产生声音、音响效果等等。
光盘控制单元80包含:一个光盘设备81,用于生成记录在一张光盘上的程序、数据等;一个解码器82,用于解码和一个错误校正码(ECC)一起记录的程序、数据等;以及一个缓冲器83,用于暂时存储来自光盘设备81的数据,使得能够高速读取来自光盘的数据。 一个子CPU 84与解码器82相连。
当音频数据从光盘设备81中读取以及记录到光盘上时,通过模/数转换记录在光盘上的音频信号来获得ADPCM数据以及所谓的PCM数据是已知的。
作为ADPCM数据进行记录、从而使例如16位数字数据差别用4位表示的音频数据由解码器82进行解码,并提供给SPU 71,然后由SPU 71进行诸如数/模变换这样一个处理过程,并被用于驱动扬声器73。
作为PCM数据进行记录、例如16位数字数据的音频数据由解码器82解码,然后被用于驱动扬声器73。
此外,通信控制单元90具有一个通信控制器91用于控制通过总线BUS与CPU 51的通信。在通信控制器91上排列着:一个控制器连接单元12,其连接用于从用户输入一条指令的控制器20;以及存储卡插入单元8A和8B,其连接充当一个辅助存储器设备、用于存储一个游戏的设置数据等的存储卡10或者一个便携式电子设备100(稍后描述)。
连接到控制器连接单元12的控制器20有例如16个指令键从用户输入一条指令,并依据来自于控制器20的指令通过同步通信大约每秒60次将这些指令键的状态传送到通信控制器91。通信控制器91将控制器20的这些指令键的状态传送到CPU 51。
这样,来自用户的指令就输入到CPU 51中,然后CPU 51依据该用户指令在正被执行的游戏程序等的基础上执行处理。
此时,在阅读一段程序、显示一幅图像、绘制图像等时,大量图像数据必须高速在主存储器53、GPU 62、图像解码器64、解码器82等当中进行传送。因此,如上所述,这个视频游戏装置被设计用来执行所谓的DMA变换,其中数据在外围设备控制单元52的控制下直接在主存储器53、GPU 62、图像解码器64、解码器82等当中进行传送,而没有经过CPU 51。这样,就能够降低CPU 51上由数据传送产生的负荷,而且能够执行高速数据传送。
当必须存储一个正被执行的游戏的设置数据等时,CPU 51将要存储的数据传送到通信控制器91,然后通信控制器91将来自CPU的数据写入到插入到存储卡插入单元8A或存储卡插入单元8B内的存储卡10或是便携式电子设备100中。
此处,在通信控制器91中并入一个用于防止电击穿的保护电路。存储卡10和便携式电子设备100与总线BUS分离,而且在该装置主体通电时能够连接到插槽中或是从插槽处分离。因此,当存储卡10或便携式电子设备100的存储容量不足时,能够插入一个新的存储卡10而不必切断装置主体的电源。为此,不会丢失必须备份的游戏数据,就能够插入新的存储卡10以便将必需的数据写入到新的存储卡10中。
此外,一个并行I/O接口(PIO)96和一个串行I/O接口(SIO)97是用于将存储卡10或便携式电子设备100连接到视频游戏设备1的接口。
在上面描述的娱乐系统中,当依据这个实施例执行透视变换时,通过使用近似计算执行了高速处理。
【三维图形】
三维图形是这样的技术,当从某一视点观察放置在三维空间中的一个对象时,假定设置该对象在一个屏幕上的透视位置在某一位置。在如上所述的娱乐系统中,为了绘制多边形,要执行一系列的处理过程,即通过将一个屏幕内的多个多边形作为一个单元执行几何操作的处理过程,依据Z值执行排序的处理过程,以及执行绘制的处理过程。这些处理过程是在一个屏幕内的一组多边形上逐步执行的。
图形系统60的GTE 61起到一个协处理器的作用用于以高速执行几何操作。在高速操作下,一个典型的几何操作以一个程序库(或库函数)的形式提供给例如一个游戏程序设计员。透视变换的一个近似能够被准备为例如一个基本几何库,并且能够提供给一个游戏程序设计者,它将在下面进行描述。
例如,透视变换的计算可以表示为等式(1)和(2):
Sx=Xx(h/Z) ...(1)
Sy=Yx(h/Z) ...(2)
等式(1)和(2)用于:如图5所示,当从位于某一点的一个视点VP观察一个对象OB时,计算该对象OB在一个虚拟屏幕200上的投影影象位置。
在图5中,视点VP设置为坐标起点为A,视线指向Z轴正侧,而且图5中的向上方向被定义为Y轴。这时省略X轴了。在这样的一个坐标系统中,假定一个箭状对象OB放置在Z轴上。
当对象OB箭头的顶点坐标被定义为P(X,Y)时,该箭头在屏幕200上投影的顶点可以用坐标Ps(Sx,Sy)表示。
参见图5,三角形ABC相似于三角形ADE。从视点VP到对象OB的距离用Z表示,而从视点VP到屏幕200的距离用h表示。在这种情况下,这两个彼此相似的三角形的比例系数(分割系数)用(h/Z)表示。为此,在屏幕200上顶点坐标Ps的坐标值能够用如上所述的等式(1)和(2)表示。
根据等式(1)和(2)计算的顶点坐标Ps(Sx,Sy)相当于该屏幕上的顶点坐标,在该屏幕上一个基本图形(多边形)组成一个对象的三维图像。这个关系式还同样满足于图5中所省略的X轴方向。
必须对组成一个三维对象的所有点执行透视变换。此时,考虑了单个对象处于同一图解景物中的情况。图6就说明了这种情况。在图6中,指定四个点P1(X1,Y1)、P2(X2,Y2)、P3(X3,Y3)、和P4(X4,Y4)作为组成一个类似于一棵圣诞树的对象OB的代表点。从视点VP到对象OB的这四个点P1、P2、P3和P4的距离分别用Z1、Z2、Z3和Z4表示,且从视点VP到屏幕200的距离用h表示。这时,在该屏幕上通过将这四个点P1到P4进行透视变换获得的坐标Ps1(Sx1,Sy1)、Ps2(Sx2,Sy2)、Ps3(Sx3,Sy3)、和Ps4(Sx4,Sy4)能够分别用下列等式表示:
Sx1=X1x(h/Z1),Sy1=Y1x(h/Z1) ...(3)
Sx2=X2x(h/Z2),Sy2=Y2x(h/Z2) ...(4)
Sx3=X3x(h/Z3),Sy3=Y3x(h/Z3) ...(5)
Sx4=X4x(h/Z4),Sy4=Y4x(h/Z4) ...(6)。
执行了这些计算。因为,尽管从视点VP到屏幕200的距离为常数即h,由于从视点VP到这四个点P1到P4的距离Z1、Z2、Z3、和Z4各不等,这些相似图形的比例系数(h/Z1)、(h/Z2)、(h/Z3)、和(h/Z4)也各不等。为此,为了透视变换这四个特定点P1到P4,比例系数(h/Z1)、(h/Z2)、到(h/Z4)(该数目与点的数目成比例)必须计算。通常,如果对象OB由N个点构成,必须计算的比例系数(h/Z)要达到与点数N成比例的数目。
下面将考虑多个对象位于同一个图解景物中的情况。图7就是一个显示了这种情况的框图。在图7中,将三个与图6中所示相同的圣诞树状的对象OB布置在距视点VP不同距离的位置上。这些对象按照距视点VP的距离增长的次序分别用OB1、OB2和OB3表示。
假定图7中三个对象OB1到OB3的每一个都是由图6中的四个点构成的。在这种情况下,依据等式(3)到(6),比例系数(h/Z)必须执行的计算次数等于每个对象在Z方向上的距离数目,即四次。因此,所有这些对象OB1到OB3必须执行计算12次。
通常,假定M个对象分别是由N1个点、N2个点、......、Nm个点构成的。在这种情况下,依据等式(3)到(6),对于距离数目必须执行比例系数(h/Z)的计算,即(N1+N 2+......+Nm)次。
更具体地说,假定构成第一个对象OB1的N1个点的Z值用ZOB11、ZOB12、......、ZOB1N1表示,构成第二个对象OB2的N2个点的Z值用ZOB21、ZOB22、......、ZOB2N2表示,类似地,构成第M个对象OBM的Nm个点的Z值用ZOBM1、ZOBM2、......、ZOBMNm表示。在这种情况下,(h/ZOB11)、(h/ZOB12)、......、(h/ZOBMNm)都必须进行计算。这样,这些比例系数(h/Z)的计算量是巨大的。
(认为对象在空间中定位的情况)
然而,可以假定单个对象距离视点足够远,则该对象定位在空间中。假定该对象由N个点构成。 从视点VP到点P1、P2、......、PN的距离分别用Z1、Z2、......、ZN表示。
在这种情况下,从视点VP到构成该对象的这些点的距离Z1、Z2、......、ZN的Z值之间的差值要远远小于从视点VP到构成该对象的点的距离的Z值。如上所述,当假定构成该对象的这些点在空间中定位时,就满足下列表达式:
|minZ-maxZ|<<|minZ| ...(7),
|minZ-maxZ|<<|maxZ| ...(8),或者
|minZ-maxZ|<<|meanZ| ...(9)
其中,
满足minZ=min(Z1,Z2,......,ZN),即:minZ表示从视点VP到构成该对象的这些点的这些距离值(Z1,Z2,......,ZN)中的最小值;
满足maxZ=max(Z1,Z2,......,ZN),即maxZ表示从视点VP到构成该对象的这些点的这些距离值(Z1,Z2,......,ZN)中的最大值;
满足meanZ=mean(Z1,Z2,......,ZN),即meanZ表示从视点VP到构成该对象的这些点的这些距离值(Z1,Z2,......,ZN)的一个平均值meanZ=(Z1+Z2+......+ZN)/N,以及
<<表示左边的元素要大大小于右边的元素。
当满足(7)-(9)等式时,构成该对象的这些点的Z值的距离远远小于构成该对象的这些点的Z值。为此,应明白:当绘制该对象时,即使这些差值被忽略了也会略微地地影响一个图像。因此,如图8所示,所有构成该对象的这些点的Z值用一个代表值typZ近似,对一幅图像的影响几乎能够被忽略。例如,将构成该对象的n个点的Z值(Z1、Z2、......、ZN)的平均值meanZ=(Z1,Z2,......,ZN)/N定义为这个代表值typZ,然后该对象的这些Z值能够使用该代表值typZ近似。
例如,当每个Z值使用该代表值typZ近似以便执行透视变换时,该对象在屏幕上的坐标能够用下列等式表示:
Sx1=X1x(h/typZ),Sy1=Y1x(h/typZ) ...(10)
Sx2=X2x(h/typZ),Sy2=Y2x(h/typZ) ...(11)
Sx3=X3x(h/typZ),Sy3=Y3x(h/typZ) ...(12)
............
SxN=XNx(h/typZ),SyN=YNx(h/typZ) ...(13)
在等式(10)到(13)的计算中,单个对象的一个比例系数(h/Z)的计算仅仅计算(h/typZ)一次就完成了。更准确地说,在构成该对象的所有这些点的透视变换中,能够使用一个近似的比例系数(h/typZ)。
在计算机中,用于计算比例系数的除法基本上是通过重复减法来执行的。为此,当令人满意地仅以一次每个对象执行一个比例系数的计算时,算术运算次数能够大大的降低。
(认为多个对象以对象为单位定位于空间中的情况)
下面将考虑多个对象OB1到OBM位于同一个图解景物中的情况。可以假定:所有这些对象OB1到OBM距离视点VP足够远,而且这些对象以对象为单位一起定位于空间中。换句话说,后一条件表明这些对象彼此之间距离足够远。
假定第一个对象OB1由N1个点构成,第二个对象OB2由N2个点构成,......,第M个对象OBM由NM个点构成。
假定从视点VP到第一个对象OB1的点OB11、OB12、......、OB1N1的距离分别用Z11、Z12、......、Z1N1表示。假定从视点VP到第二个对象OB2的点OB21、OB22、......、OB2N2的距离分别用Z21、Z22、......、Z2N2表示。类似地,假定从视点VP到第M个对象OBM的点OBM1、OBM2、......、OBMNM的距离分别用ZM1、ZM2、......、ZMNM表示。
在这种情况下,由于所有这些对象距离视点VP足够远,可得到其相互关系类似于由表达式(7)到(9)表示的关系:
|minZ-maxZ|<<|minZ| ...(14),
|minZ-maxZ|<<|maxZ| ...(15),或者
|minZ-maxZ|<<|meanZ| ...(16)
其中,
满足minZ=min(Z11,......,ZMNM),即minZ表示从视点VP到构成所有这些对象OB1到OBM的这些点的距离值(Z11,......ZMNM)中的最小值;
满足maxZ=max(Z11,......,ZMNM),即maxZ表示从视点VP到构成所有这些对象OB1到OBM的这些点的距离值(Z11,......,ZMNM)的最大值;
满足meanZ=mean(Z11,......,ZMNM),即meanZ表示从视点VP到构成所有这些对象OB1到OBM的这些点的距离值(Z11,......,ZMNM)的平均值meanZ1=(Z11+......+ZMNM)/(N1+......+NM);以及
<<表示左边的元素要大大小于右边的元素。
由于该多个对象OB1到OBM以对象为单位定位于空间中,构成一个特定对象的这些点与构成另一个对象的那些点之间足够远。尤其是,构成该特定对象的这些点与构成那些靠近该特定对象的对象的点之间足够远。
当假定构成该对象的这些点以对象为单位定位于空间中时,就满足下列表达式:
|minZ1-maxZ1|≤|meanZ1-meanZ2| ...(17)
|minZ2-maxZ2|≤|meanZ1-meanZ2| ...(18)
|minZ2-maxZ2|≤|meanZ2-meanZ3| ...(19)
|minZ3-maxZ3|≤|meanZ2-meanZ3| ...(20)
............
|minZM-1-maxZM-1|≤|meanZM-1-meanZM| ...(21)
|minZM-maxZM|≤|meanZM-1-meanZM| ...(22)
其中,
满足minZ1=min(Z11,Z12,......,Z1N1),即minZ1表示从视点VP到构成第一个对象OB1的N1个点的距离值(Z11,Z12,......,Z1N1)中的最小值;
满足minZ2=min(Z21,Z22,......,Z2N2),即minZ2表示从视点VP到构成第二个对象OB2的N2个点的这些距离值(Z21,Z22,......,Z2N2)中的最小值;以及
类似地,满足minZM=min(ZM1,ZM2,......,ZMNM),即minZ1表示从视点VP到构成第M个对象OBM的NM个点的这些距离值(ZM1,ZM2,ZMNM)中的最小值。
接下来,
满足maxZ1=max(Z11,Z12,......,Z1N1),即maxZ1表示从视点VP到构成第一个对象OB1的N1个点的这些距离值(Z11,Z12,......,Z1N1)中的最大值;
满足maxZ2=max(Z21,Z22,......,Z2N2),即maxZ2表示从视点VP到构成第二个对象OB2的N2个点的这些距离值(Z21,Z22,......,Z2N2)中的最大值;以及
类似地,满足maxZM=max(ZM1,ZM2,......,ZMNM),即maxZ1表示从视点VP到构成第M个对象OBM的NM个点的这些距离值(ZM1,ZM2,ZMNM)中的最大值。
此外,
满足meanZ1=mean(Z11,Z12,......,Z1N1),即meanZ1表示从视点VP到构成第一个对象OB1的N1个点的这些距离值(Z11,Z12,......,Z1N1)的平均值meanZ1=mean(Z11+Z12+...·...+Z1N1)/N1;
满足meanZ2=mean(Z21,Z22,......,Z2N2),即meanZ2表示从视点VP到构成第二个对象OB2的N2个点的这些距离值(Z21,Z22,......,Z2N2)的平均值meanZ2=mean(Z21+Z22+......+Z2N2)/N2;以及
类似地,满足meanZM=mea n(ZM1,ZM2,......,ZMNM),即meanZ1表示从视点VP到构成第M个对象OBM的NM个点的这些距离值(ZM1,ZM2,......,ZMNM)的平均值meanZ2=mean(ZM1+ZM2+......+ZMNM)/NM。
<<表示左边的元素要大大小于右边的元素。
当满足这些等式时,在绘制多个对象时,构成一个特定对象的点的Z值之间的上述差值要远远小于构成那些靠近该特定对象的对象的点的Z值之间的差值。 应当明白:即使这些差异被忽略,也会对一幅图像造成略微的影响。
例如,将构成一个特定对象(例如第M个对象)的NM个点的Z值(ZM1,ZM2,......,ZMNM)的平均值meanZM=(ZM1+ZM2+......+ZMNM)/NM定义为一个代表值typZM,然后一个对象的Z值就能够使用这个代表值typZM来近似。
为此,如图9所示,即使构成这多个对象的所有点的Z值以对象为单位分别用代表值typZ1、typZ2、......、typZM近似,对一幅图像的影响几乎能够被忽略。
第一个对象OB1由N1个点构成,而且所有这些点的Z值都能够用代表值typZ1来近似。为此,通过计算(h/typZ1)就能够近似一个比例系数。
第二个对象OB2由N2个点构成,而且所有这些点的Z值都能够用代表值typZ2来近似。为此,通过计算(h/typZ2)就能够近似一个比例系数。
第M个对象OBM由NM个点构成,而且所有这些点的Z值都能够用代表值typZM来近似。为此,通过计算(h/typZM)就能够近似一个比例系数。
这样,该多个对象OB1到OBM分别由N1到NM个点构成,而且这M个对象OB1到OBM能够使用Z值的代表值typZ1到typZM来近似。为此,通过执行(h/typZ1)、(h/typZ2)、......、(h/typZM)的近似就能够将这些比例系数进行透视变换。
当存在多个对象时,每个对象的比例系数(h/Z)的计算可以通过一次计算用于相应对象的(h/typZ)来完成。更准确地说,在构成该多个对象的所有点的透视变换中,近似的比例系数(h/typZ)能够用于对象单元内。
在计算机中,用于计算比例系数的除法基本上是通过重复减法来执行的。为此,当令人满意地以一次每个对象地执行一个比例系数的计算时,就能够大大降低算术运算的次数。
(判定标准)
下面将描述用于判定是否可以假定单个对象定位于一个空间中的标准。
发明者使用下列值作为用于判定表达式(7)到(9)是否得到满足的标准,即通过改变比例系数(h/Z)的Z值独立地计算构成该对象的所有点,或是通过使用这些Z值的代表值typZ(上述情况中的meanZ)来近似构成该对象的所有点:
|minZ-maxZ|÷|minZ|≤K1 ...(23),
|minZ-maxZ|÷|maxZ|≤K1 ...(24),或者
|minZ-maxZ|÷|meanZ|≤K1 ...(25)。
表达式(23)到(25)的左边元素的值要小于等于K1,它决定这些对象能够被近似。表达式(23)到(25)意思是:构成该对象的这些点的最小值minZ和最大值maxZ之间的差值与代表值minZ、maxZ、和meanZ的比值要小于等于预定值K1。
假定表达式(23)到(25)中的值K1是一个预定值,例如K1=0.1。在这种情况下,对象OB的Z值的最小值和最大值之间的差值的绝对值等于或小于该对象的Z值的代表值(最小值minZ、最大值maxZ、或平均值meanZ)的绝对值的1/10,而且它决定该对象的所有Z值能够用单个Z值、代表值typZ来近似。
当然,K1值能够是任意设置的,它取决于要应用的一个应用程序、要应用的一个图解景物等等。K1的值无须总是一个常量,而且是可以改变的,这取决于要应用的应用程序、要应用的图解景物等等。当多个对象存在于同一个图解景物中时,一个特定的对象能够用一个代表值来近似,而其它的对象也可以这样计算从而计算出这些对象的值。
下面将描述用于判定是否可以假定所有对象定位于一个空间内以及以对象为单位定位于空间内的标准。
发明者将下列值作为用于判定是否能够假定所有这些对象定位的标准,象在表达式(23)到(25)中那样。下列值可被用作判定满足表达式(14)到(16)的标准。
|minZ-maxZ|÷|minZ|≤K1 ...(26),
|minZ-maxZ|÷|maxZ|≤K1 ...(27),或者
|minZ-maxZ|÷|meanZ|≤K1 ...(28)。
表达式(26)到(28)的值小于或等于K1,它决定了这些对象能够被近似。表达式(26)到(28)的内容和预定值K1如上所述。
由于表达式(17)到(22)得到了满足,发明者使用下列值作为用于判定多个对象是否以对象为单位定位于空间内的标准:
|minZ1-maxZ1|÷|meanZ1-meanZ2|≤K2 ...(29)
|minZ2-maxZ2|÷|meanZ1-meanZ2|≤K2 ...(30)
|minZ2-maxZ2|÷|meanZ2-meanZ3|≤K2 ...(31)
|minZ3-maxZ3|÷|meanZ2-meanZ3|≤K2 ...(32)
………………
|minZM-1-maxZM-1|÷|meanZM-1-meanZM|≤K2 ...(33)
|minZM-maxZM|÷|meanZM-1-meanZM|≤K2 ...(34)。
如果表达式(29)和(30)的值小于或等于K2,它就能够决定第一个对象OB1距离第二个对象OB2足够远。如果表达式(31)和(32)的值小于或等于K2,它就能够决定第二个对象OB2距离第三个对象OB3足够远。类似地,如果表达式(33)和(34)的值小于或等于K2,则它能够决定第(M-1)个对象OBM-1距离第M个对象OBM足够远。
表达式(29)到(34)的意思是:从视点到一个特定对象(例如OB2)的距离和从视点到一个靠近该特定对象的对象的距离之间的差值(|meanZ2-meanZ3|)与从视点VP到构成该特定对象的多个点的这些距离的最小值和最大值之间的差值(|minZ2-maxZ2|)的比值要小于或等于一个预定值K2。
当表达式(29)到(34)的值K2是一个预定值,例如K2=0.1时,从视点到一个特定对象(例如OB2)的距离和从视点到一个靠近该特定对象的对象(OB3)的距离之间的差值与从视点VP到构成该特定对象的多个点的这些距离的最小值和最大值之间的差值的比值要小于或等于1/10。它决定了该对象(例如OB2)的所有这些点的Z值能够用一个Z值的代表值(例如typZ2)来近似。
当然,K2值是能够改变的,它取决于要应用的一个应用程序、要应用的一个图解景物等等。K2值无须总是一个常量,而且是可以改变的,这取决于要应用的应用程序、要应用的图解景物等等。当多个对象存在于同一个图解景物中时,一个特定的对象能够用一个代表值来近似,而其它的对象也可以这样计算从而计算出这些对象相应点的Z值。
(代表值typZ的选择)
下面将描述一种用于选择这些Z值的一个代表值tpyZ的方法。比例系数变化取决于该代表值的选择。
在上面描述的实施例中,将构成对象的点的Z值的平均值meanZ设置作为Z值的一个代表值。例如,由下列等式给出一个值作为代表值typZ:
typZ=meanZ=(Z1+Z2+...+Zn)/N ...(35)
在等式(35)中,将上述实施例中构成一个对象的点(Z0+Z1+Z2+...+Zn)的平均值设置作为一个代表点的距离(Z值的代表值)。在这种情况下比例系数(h/Z)由(h/meanZ)给出。
typZ=Z1 ...(36)
在等式(36)中,构成该对象的这些点的Z值(Z1,Z2,......,Zn)的第一个Z值被设置作为该代表点的距离。在这种情况下,比例系数(h/Z)由(h/Zn)给出。
typZ=Zn ...(37)
在等式(37)中,将构成该对象的这些点的Z数值(Z1,Z2,......,Zn)的最后一个(即第N个)Z值设置作为代表值的距离。 在这种情况下,比例系数(h/Z)由(h/Zn)给出。
由等式(35)到(37)表示的这些方法也被称作替换方法。
可采用一种用于通过一个初级(线性)近似计算比例系数的方法。
{(maxZ-Z)/(maxZ-minZ)}x(h/minZ)+{(Z-minZ)/(maxZ-minZ)}x(h/maxZ) ...(38)
在表达式(38)中,通过使用由最大值maxZ获得的h/maxZ和由最小值minZ获得的h/minZ对这些Z值的代表点的一个值h/Z进行线性近似(主要近似)。表达式(38)也称作是一个线性(初级)近似。
可采用一种用一个二次近似计算比例系数(h/Z)的方法。
(h/(minZxmaxZxmidZ)}x[(ZxZ)-3.0xmidZxZ+0.5x{(minZxminZ)+(maxZxmaxZ)+4.0(minZxmaxZ)}] ...(39)
其中midZ=(maxZ+minZ)/2,即midZ是maxZ和minZ的平均值。
在表达式(39)中,通过一个二次近似计算这些Z值的代表点的值(h/Z)。
这个二次近似是用以下方法具体执行的。当比例系数(h/Z)用一个二次曲线近似时,给出一个二次等式:f(Z)=AZ2+BZ+C。当Z=minZ时,就满足f(Z)=h/minZ。当Z=maxZ时,就满足f(Z)=h/maxZ。当Z=midZ时,就满足f(Z)=h/midZ。使用这些关系,满足下列三个等式:
AminZ2+BminZ+C=h/minZ ...(40)
AmaxZ2+BmaxZ+C=h/maxZ ...(41)
AmidZ2+BmidZ+C=h/midZ ...(42)
由于使用了三个变量A、B和C,而且满足三个二次等式,所有这些变量的解就能够计算出来。当求解等式(40)到(42)时,就可得到以下解:
A=h/(minZxmaxZxmidZ) ...(43)
B=A(-3.0xmidZ) ...(4 4)
C=A[(0.5x{(minZxminZ)+(maxZxmaxZ)+4.0(minZxmaxZ)}] ...(45)
当A、B、C的值被代入该二次方程式f(Z)=AZ2+BZ+C时,就得到了表达式(39)。表达式(39)也称作是一个二次近似。
在这些比例系数的近似中,依据替换方法通过在等式(35)、(36)和(37)中执行一次除法就能够计算出这些比例系数。在表达式(38)中依据线性近似,能够通过执行两次除法计算出比例系数。在表达式(39)中依据二次近似,能够通过执行三次除法计算出比例系数。
尽管在线性近似和二次近似中增加了加法和乘法的数量,但是在通用计算机处理中,加法和乘法能够以比除法更快的速度进行处理。因此,甚至在线性近似和二次近似中,执行处理的速度要高于分别计算构成一个对象的点的比例系数的情况。
已经在上面描述过了替换方法、线性近似、和二次近似。当次数增加时,即执行三次近似、四次近似、或更高阶的近似时,能够更高精确地进行近似比例系数。
本发明涉及一个计算机图形处理,并且能够提供一种用于在一个虚拟二维屏幕上透视变换一个三维对象的新方法和装置。
Claims (28)
1.一种用于在一个虚拟二维屏幕上透视变换在三维空间中的对象的装置,该对象由多个点指定,该装置包含一个图形单元,可操作确定该多个点是否相对于三维空间中的视点定位,并使用该多个点中的一个代表点的坐标值,对其它点的透视变换进行近似。
2.一种用于在一个虚拟二维屏幕上透视变换在三维空间中的多个对象的装置,每个所述对象由多个点指定,所述装置包含一个图形单元,可操作确定所述对象的所述多个点是否相对于所述三维空间中的视点定位,并使用所述对象的所述多个点中的代表点的坐标值,对所述多个点中其它点的透视变换进行近似。
3.如权利要求1或2的装置,其特征在于:该图形单元可操作确定该多个点是否相对一方向定位在三维空间中,该方向是从视点到该对象延长的视线方向。
4.如权利要求3的装置,其特征在于:该视线方向是与该视点相关的一个XYZ坐标系统的Z轴方向,和代表从该视点到该多个点的距离的Z值被取得作为沿该Z轴方向的距离。
5.如权利要求1或2的装置,其特征在于:这多个点代表限定对象的多边形的顶点坐标。
6.如权利要求1或2的装置,其特征在于:代表点是由应用这多个点的坐标值的一种替换方法确定的。
7.如权利要求1或2的装置,
其特征在于:从视点到其它点的距离是在从视点到该多个点的距离平均值的基础上进行近似的。
8.如权利要求1或2的装置,
其特征在于:将该代表点设置为这多个点中的第一个选定点,而且从视点到其它点的距离或是根据从视点到第一个选择点的距离来近似的。
9.如权利要求1或2的装置,
其特征在于:将该代表点设置为这多个点中的最后一个选定点,而且从视点到其它点的距离是根据从视点到最后选择的一个点的距离来近似的。
10.如权利要求1或2的装置,
其特征在于:用一种随机的方法从这多个点中选定该代表点,而且从视点到其它点的距离是根据从视点到该代表点的距离来近似的。
11.如权利要求1或2的装置,
其特征在于:透视变换是基于从一个线性近似表达式
{(maxZ-Z)/(maxZ-minZ)}x(h/minZ)+{(Z-minZ)/(maxZ-minZ)}x(h/maxZ)
得到的近似比值h/z,从视点到这多个点的距离用Z表示,从视点到这多个点的最大距离用maxZ表示,从视点到多个点的最小距离用minZ表示,而且从视点到虚拟屏幕的距离用h表示。
12.如权利要求1或2的装置,
其特征在于:透视变换是基于从一个二次近似表达式
{h/(minZ×maxZ×midZ)}×[(Z×Z)-3.0×midZ×Z+0.5×{(minZ×minZ)+(maxZ×maxZ)+4.0(minZ×maxZ)}]。
得到的近似比值h/z,从视点到这多个点的距离用Z表示,从视点到这多个点的最大距离用maxZ表示,从视点到这多个点的最小距离用minZ表示,maxZ和minZ的平均值用midZ表示,以及从视点到虚拟屏幕的距离用h表示。
13.如权利要求1的装置,
其特征在于:从视点到多个点的距离用Z值表示,对象的最小Z值用minZ表示,对象的最大Z值用maxZ表示,对象的Z值平均值用meanZ表示,以及当下列表达式
|minZ-maxZ|÷|minZ|≤K1,
|minZ-maxZ|÷|maxZ|≤K1,或者
|minZ-maxZ|÷|meanZ|≤K1
得到满足时,图形单元确定该多个点是被定位的,这里K1是一标量。
14.如权利要求13的装置,其特征在于:K1是一个小于1.0的数。
15.如权利要求13的装置,其特征在于:K1是可改变的,这取决于一个应用程序。
16.如权利要求13的装置,其特征在于:K1是可改变的,这取决于一个图解景物。
17.如权利要求2的装置,
其特征在于:从视点到多个点的距离用Z值表示,第i(i=1,2,......,M)个对象的最小Z值为minZi,第i个对象的最大Z值为maxZi,第i个对象的Z值平均值为meanZi,以及当下列表达式
|minZ1-maxZ1|÷|meanZ1-meanZ2|≤K2,
|minZ2-maxZ2|÷|meanZ1-meanZ2|≤K2,
|minZ2-maxZ2|÷|meanZ2-meanZ3|≤K2,
|minZ3-maxZ3|÷|meanZ2-meanZ3|≤K2,
|minZM-1-maxZM-1|÷|meanZM-1-meanZM|≤K2,以及
|minZM-maxZM|÷|meanZM-1-meanZM|≤K2
得到满足时,图形单元确定多个点的每一个是被定位的,这里K2是一个标量。
18.如权利要求17的装置,其特征在于:K2是一个小于1.0的数。
19.如权利要求17的装置,其特征在于:K2是可改变的,这取决于一个应用程序。
20.如权利要求17的装置,其特征在于:K2是可改变的,这取决于一个图解景物。
21.如权利要求17的装置,
其特征在于:该图形单元可操作来可有选择地应用透视变换近似到满足这些表达式的对象。
22.如权利要求1或2的装置,其特征在于:用于透视变换的装置是一个几何变换工具。
23.一个娱乐系统,包含:
一个控制系统;
一个图形系统;
一个音响系统;
一个光盘控制单元;以及
一条工作时用于相互连接控制系统,图形系统,音响系统和光盘控制单元的总线,
其特征在于:该图形系统包括一个几何变换工具,可操作地在一个虚拟二维屏幕上执行三维空间中一个对象的透视变换,该对象由多个点指定,几何变换工具还可操作地确定该多个点是否相对三维空间中的视点定位,并使用该多个点中的一个代表点的坐标值,对其它点的透视变换进行近似。
24.一个娱乐系统,包含:
一个控制系统;
一个图形系统;
一个音响系统;
一个光盘控制单元;以及
一条工作时相互连接控制系统,图形系统,音响系统和光盘控制单元的总线,
其特征在于:该图形系统包括一个几何变换工具,可操作地在一个虚拟二维屏幕上执行三维空间中多个对象的透视变换,每个所述对象由多个点指定,所述几何变换工具还可操作地确定所述对象的所述多个点是否相对三维空间中的视点定位,并使用所述对象的所述多个点中的代表点的坐标值,对所述多个点中其它点的透视变换进行近似。
25.一种透视变换在三维空间中的一个对象的方法,该对象由多个点指定,该方法包含:
确定多个点是否相对于三维空间中的一个视点定位;以及
当该多个点的坐标值定位时,使用这多个点中一个代表点的坐标值对其它点的透视变换进行近似。
26.如权利要求25的方法,
其特征在于:从视点到多个点的距离用Z值表示,该对象的最小Z值用minZ表示,该对象的最大Z值用maxZ表示,该对象的Z值的平均值用meanZ表示,以及当下列表达式
|minZ-maxZ|÷|minZ|≤K1,
|minZ-maxZ|÷|maxZ|≤K1,或者
|minZ-maxZ|÷|meanZ|≤K1
得到满足时,图形单元确定该多个点是被定位的,这里K1是一个标量。
27.一种执行透视变换三维空间中的多个对象的方法,包含:
确定所述对象的多个点是否相对于三维空间中的一个视点定位;以及
当所述对象的所述多个点的坐标值定位时,使用所述对象的所述多个点的代表点的坐标值对所述多个点中其它点的透视变换进行近似。
28.如权利要求27的方法,
其特征在于:从视点到多个点的距离用Z值表示,第i(i=1,2,......,M)个对象的最小Z值为minZi,第i个对象的最大Z值为maxZi,第i个对象的Z值平均值为meanZi,以及当下列表达式
|minZ1-maxZ1|÷|meanZ1-meanZ2|≤K2,
|minZ2-maxZ2|÷|meanZ1-meanZ2|≤K2,
|minZ2-maxZ2|÷|meanZ2-meanZ3|≤K2,
|minZ-maxZ3|÷|meanZ2-meanZ3|≤K2,
|minZM-1-maxZM-1|÷|meanZM-1-meanZM|≤K2,以及
|minZM-maxZM|÷|meanZM-1-meanZM|≤K2
得到满足时,图形单元确定多个点的每一个是被定位的,这里K2是一个标量。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10265599 | 1999-04-09 | ||
JP102655/99 | 1999-04-09 | ||
JP161742/99 | 1999-06-08 | ||
JP16174299 | 1999-06-08 | ||
PCT/JP2000/002280 WO2000062255A1 (en) | 1999-04-09 | 2000-04-07 | Method and apparatus for performing perspective transformation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1346478A CN1346478A (zh) | 2002-04-24 |
CN100392678C true CN100392678C (zh) | 2008-06-04 |
Family
ID=26443338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008060614A Expired - Fee Related CN100392678C (zh) | 1999-04-09 | 2000-04-07 | 执行透视变换的方法和装置 |
Country Status (13)
Country | Link |
---|---|
US (2) | US6590576B1 (zh) |
EP (1) | EP1181669A1 (zh) |
JP (1) | JP3643036B2 (zh) |
KR (1) | KR20010113781A (zh) |
CN (1) | CN100392678C (zh) |
AU (1) | AU3673900A (zh) |
BR (1) | BR0011156A (zh) |
CA (1) | CA2369879A1 (zh) |
HK (1) | HK1041959A1 (zh) |
MX (1) | MXPA01010150A (zh) |
RU (1) | RU2001130343A (zh) |
TW (1) | TW540009B (zh) |
WO (1) | WO2000062255A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2799558B1 (fr) * | 1999-10-08 | 2002-02-08 | Thomson Marconi Sonar Sas | Procede de placement automatique des taches d'une application dans une machine de traitement de signal |
US7664338B2 (en) * | 2004-09-28 | 2010-02-16 | Qualcomm Incorporated | Perspective transformation of two-dimensional images |
JP4487188B2 (ja) * | 2004-10-25 | 2010-06-23 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びにナビゲーション装置 |
TWI386841B (zh) * | 2008-08-22 | 2013-02-21 | Acer Inc | 立體圖形化使用者介面產生方法、系統,及電腦程式產品 |
CN104537712B (zh) * | 2015-01-04 | 2017-04-19 | 成都思达特电器有限公司 | 一种建立待喷涂工件的三维喷涂节点的方法 |
CN108984262B (zh) * | 2018-07-12 | 2021-04-13 | 宁波视睿迪光电有限公司 | 三维指针的创建方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0549944A2 (en) * | 1992-01-02 | 1993-07-07 | International Business Machines Corporation | Multi-resolution graphic representation for interactive visualization applications |
EP0642102A1 (en) * | 1993-08-31 | 1995-03-08 | Kabushiki Kaisha Toshiba | Apparatus and method for image processing |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61210395A (ja) | 1985-03-14 | 1986-09-18 | ソニー株式会社 | 画像処理装置 |
JP2604710B2 (ja) | 1985-08-26 | 1997-04-30 | ソニー株式会社 | 画像変換装置 |
US5283859A (en) * | 1986-09-03 | 1994-02-01 | International Business Machines Corporation | Method of and system for generating images of object transforms |
US5420979A (en) * | 1989-12-22 | 1995-05-30 | Eastman Kodak Company | Method and apparatus for using composite transforms to form intermediary image data metrics which achieve device/media compatibility for subsequent imaging applications |
GB2270243B (en) * | 1992-08-26 | 1996-02-28 | Namco Ltd | Image synthesizing system |
JP2807608B2 (ja) | 1992-12-29 | 1998-10-08 | 株式会社ナムコ | ソーティング処理装置、これを用いた画像合成装置及びソーティング処理方法 |
JPH06348861A (ja) | 1993-04-15 | 1994-12-22 | Sony Corp | 画像作成方法、画像作成装置及び家庭用ゲーム機 |
JP3647487B2 (ja) | 1994-12-02 | 2005-05-11 | 株式会社ソニー・コンピュータエンタテインメント | テクスチャマッピング装置 |
JP3578498B2 (ja) | 1994-12-02 | 2004-10-20 | 株式会社ソニー・コンピュータエンタテインメント | 画像情報処理装置 |
JP3442183B2 (ja) | 1995-02-28 | 2003-09-02 | 株式会社ナムコ | 3次元ゲーム装置及び画像合成方法 |
TW346611B (en) * | 1996-03-28 | 1998-12-01 | Sega Enterprises Kk | An image processor, a game machine using the image processor, a method of image processing and a medium |
JPH09305792A (ja) | 1996-05-17 | 1997-11-28 | Sony Corp | 隠面処理方法 |
US5841442A (en) * | 1996-12-30 | 1998-11-24 | Cirrus Logic, Inc. | Method for computing parameters used in a non-homogeneous second order perspective texture mapping process using interpolation |
-
2000
- 2000-04-07 MX MXPA01010150A patent/MXPA01010150A/es unknown
- 2000-04-07 BR BR0011156-2A patent/BR0011156A/pt not_active Application Discontinuation
- 2000-04-07 AU AU36739/00A patent/AU3673900A/en not_active Abandoned
- 2000-04-07 WO PCT/JP2000/002280 patent/WO2000062255A1/en not_active Application Discontinuation
- 2000-04-07 RU RU2001130343/09A patent/RU2001130343A/ru not_active Application Discontinuation
- 2000-04-07 KR KR1020017012835A patent/KR20010113781A/ko not_active Application Discontinuation
- 2000-04-07 CN CNB008060614A patent/CN100392678C/zh not_active Expired - Fee Related
- 2000-04-07 EP EP00915421A patent/EP1181669A1/en not_active Ceased
- 2000-04-07 CA CA002369879A patent/CA2369879A1/en not_active Abandoned
- 2000-04-07 JP JP2000611248A patent/JP3643036B2/ja not_active Expired - Fee Related
- 2000-04-08 TW TW089106537A patent/TW540009B/zh not_active IP Right Cessation
- 2000-04-10 US US09/546,271 patent/US6590576B1/en not_active Expired - Lifetime
-
2002
- 2002-05-13 HK HK02103613.9A patent/HK1041959A1/zh unknown
-
2003
- 2003-04-03 US US10/406,530 patent/US6900806B2/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0549944A2 (en) * | 1992-01-02 | 1993-07-07 | International Business Machines Corporation | Multi-resolution graphic representation for interactive visualization applications |
EP0642102A1 (en) * | 1993-08-31 | 1995-03-08 | Kabushiki Kaisha Toshiba | Apparatus and method for image processing |
Also Published As
Publication number | Publication date |
---|---|
JP2002541600A (ja) | 2002-12-03 |
RU2001130343A (ru) | 2003-08-20 |
HK1041959A1 (zh) | 2002-07-26 |
MXPA01010150A (es) | 2002-06-21 |
CN1346478A (zh) | 2002-04-24 |
JP3643036B2 (ja) | 2005-04-27 |
TW540009B (en) | 2003-07-01 |
EP1181669A1 (en) | 2002-02-27 |
WO2000062255A1 (en) | 2000-10-19 |
BR0011156A (pt) | 2002-02-26 |
US6900806B2 (en) | 2005-05-31 |
CA2369879A1 (en) | 2000-10-19 |
AU3673900A (en) | 2000-11-14 |
US6590576B1 (en) | 2003-07-08 |
KR20010113781A (ko) | 2001-12-28 |
US20030189569A1 (en) | 2003-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7307638B2 (en) | Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system | |
US7307640B2 (en) | Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system | |
US6466218B2 (en) | Graphics system interface | |
US7522170B2 (en) | Graphics system interface | |
US6411301B1 (en) | Graphics system interface | |
US6618048B1 (en) | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components | |
US6825851B1 (en) | Method and apparatus for environment-mapped bump-mapping in a graphics system | |
JP2002074390A (ja) | 低価格のグラフィックスシステムにおけるシャドウマッピング | |
CA2163839A1 (en) | Method and apparatus for mapping texture | |
US7369665B1 (en) | Method and apparatus for mixing sound signals | |
CN100392678C (zh) | 执行透视变换的方法和装置 | |
EP1190392B1 (en) | Method and apparatus for generating images | |
JP3617960B2 (ja) | 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置 | |
JP4740490B2 (ja) | グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング | |
JP4584665B2 (ja) | 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置 | |
JP2003150976A (ja) | 画像処理方法、画像処理装置、並びに画像処理方法を実施するための記憶媒体及びプログラム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080604 Termination date: 20180407 |
|
CF01 | Termination of patent right due to non-payment of annual fee |