CN1191352A - 自适应非线性投影绘制方法和装置 - Google Patents
自适应非线性投影绘制方法和装置 Download PDFInfo
- Publication number
- CN1191352A CN1191352A CN98105220.7A CN98105220A CN1191352A CN 1191352 A CN1191352 A CN 1191352A CN 98105220 A CN98105220 A CN 98105220A CN 1191352 A CN1191352 A CN 1191352A
- Authority
- CN
- China
- Prior art keywords
- triangle
- program code
- summit
- interpolation
- model 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
在三维图形绘制中一种纹理映射或浓淡处理的方法应用于经过透视变换的以三角形为基础的图形目标。本发明使用线性插值法求得每个三角形内部点的适当映射,从而减少其他方法所需要的大量数学计算。为了使高插值误差引起的可视人工迹象降至最小,对比预定阈值检测每个三角形的边界,假如有任何边界的最大误差大于阈值,则再划分三角形,继续划分直至所有三角形边最大误差小于阈值为止。然后使用线性插值法求出三角形边和内部点的所有映射。
Description
本发明涉及计算机图形法领域,更具体地说,涉及减少将表面特性映射到计算机图形系统中三维图形模型所用的计算负荷。
本申请要求对于以下的临时美国专利申请的优先权:所述专利申请是由Yakov Kamen和Leon Shirman在1997年2月19日提交的,代理人档案号为SP104PR,题为“利用自适应细分方法的非线性绘制”。
在计算机制图法领域,经常要使用一组多边形绘制“目标空间”中三维目标。为简单起见,所用的多边形一般为三角形,而使用例如德朗奈三角网的可使用方法把其他多边形划分为三角形。因而,一个目标可以由一组邻接的三角形组成,每一个三角形相对其他三角形在三维空间中这样定位,使得它们一起构成所要求目标的形状。每一个三角形的每个顶点有一组卡笛儿坐标值。这些坐标组唯一地确定三角形在三维空间中的位置和取向。
一般说,每个三角形顶点除卡笛儿坐标之外,还由表示其表面特性的值所确定,例如用于纹理映射的纹理映射坐标(u,v),用于Gouraud色调处理的红、绿、蓝色坐标(r,g,b),或用于Phong浓淡处理的顶点正则值N(具有x,y,z坐标)。当显示由三角形组成的三维目标时,每个三角形必须首先从三维从标系统变换到齐次坐标系统。这通常使用能产生每个三角形顶点的齐次坐标值的透视变换来达到。即,该变换导致每个三角形顶点由水平和垂直显示坐标(x,y)(z值通常也保留,供作出清晰度鉴定)以及齐次坐标w和例如纹理映射坐标(u,v)的表面值来表示。
根据本申请,三角形可以被浓淡处理和/或纹理映射。不论该浓淡处理是Gouraud色调处理或Phong浓淡处理,浓淡处理过程非常类似于纹理映射,两者均归结于三角形内每个象素颜色的确定。在纹理映射和浓淡处理中,表示象素颜色的一个值或几个值必须按齐次坐标系统中规定的赋于三角形的每个象素。一般说,这通过将三角形划分为水平跨度,每个跨度在垂直方向为一个象素宽,求出跨度端点的纹理映射或浓淡处理值,此后求端点之间象素的值。这过程以纹理映射为例在下面加以说明,而关于求Gouraud或Phong浓淡处理的值其过程是相似的。
图1中示出有三个顶点P0,P1,P2的三角形10,每个顶点由其独有的一组值(x,y,z,w,u,v)唯一地确定。对于给定的跨度,例如图中所示跨度12,那么必须求出跨度中每个象素的值。每个象素由其三维卡笛儿坐标(x,y,z)和从透视变换求得的w值所确定。然而,此后必须使用w计算纹理映射所需的u和v值。这个计算过程要使用包含象素的跨度两端点的值,为求出浓淡处理的r,g,b或N要使用非常相似的计算。
再参阅图1,假如顶点P0由值(x0,y0,z0,w0,u0,v0),而顶点P1由值(x1,y1,z1,W1,u1,v1)所确定,跨度12的端点P3的所要求的值可以从P0和P1值求得。P3具有卡笛儿坐标x3和y3,而齐次坐标w3可由下列式子求得:
w3=(1-t)w0+tw1p3的u3值可由下列式子求得:
u3=((1-t)u0/w0+tu1/w1)/((1-t)/w0+t/w1)式中t是在p0和p1之间的归一化位置值(即从0至1),使得在p0处t=0而在P1处t=1。同样,P3端点的v3值可以由下列式子求得
v3=((1-t)v0/w0+tv1/w1)/((1-t)/w0+t/w1)如同端点P3一样,端点P4的u4和v4值可以从确定顶点P1的值和确定顶点P2的值(即x2,y2,z2,w2,u2,v2)求得,因为包含P4的线段伸展在P1和P2之间。
使用上述关于端点u,v,w值的方程可以求得沿例如图1的跨度12的跨度上各点的u和v值。因而,对于位于跨度12上点P5,可以进行以下计算:
u5=((1-t)u3/w3+tu4/w4)/((1-t)/w3+/w4)和
v5=((1-t)v3/w3+tv4/w4)/((1-t)/w3+t/w4)这样,可以求得每个跨度的每个象素的u和v值,直至三角形的所有象素映射完成。
虽然为了提供表面细节,对目标的每个三角形进行上述计算是最精确的方法,但是,它一般需要大量计算,因此造成严重的处理负担。这些计算中最大计算成本在于执行除法功能。例如,求u5必须的计算需要5次单独的除法。尽管1/w3和1/w4的值可以预先计算,这仍需要三角形每一象素一次除法。执行这些除法从电路和性能角度看极其昂贵。
减少要做的除法次数的一种方法是用假定w0=w1的线性近似替代上述u或v的公式。例如,求点P5的u5值的线性近似可以表示如下:
u5=(1-t)u3+tu4
同样的线性近似可以用于求v,r,g,b,或n。线性近似无需计算除法,因此在数字计算机上明显要比精确公式运算快。然而,当w3和w4数值上不靠近,这种近似相应地不准确。因此,使用依靠这种线性近似类型的纹理映射或浓淡处理的图象往往有可视的人工迹象,其严重程度取决于为计算本要使用的两个端点w值之间的差值。
Donovan的美国专利No.5594846公开了将每个跨度分为多个线段的以跨度为基础的绘制方案,分隔线段的点具有例如u的表面特征值,运用上述方法进行数学计算而求得。在计算点之间的跨度部分的u值时运用插值求得。分隔线段的计算点这样选择,使得所形成的线段尽可能地长,而又使用插值法形成的u的误差不大于预定量。Donovan方法从而容许较少计算次数,而同时保持误差小于所要求阈值。然而,将跨度分为线段的逐个跨度处理仍然需要使用至少一次除法进行运算而确定每个跨度上每一个新点。
本发明容许通过使用自适应再划分多边形,将多边形划为依次更小的多边形,直至所有形成的多边形的边上(假如多边形有三边以上则在对角线上)的最大误差小于预定阈值,而把用于将表面模型(即纹理映射或浓淡处理所要求的值)映射到齐次坐标系统中以多边形为基础的图形表示的目标的多边形上所需要的处理时间和资源显著地减少。来自多边形顶点表面模型的适当值是预先已知的,并且供本发明的方法使用。然后检测多边形的边(和对角线,假如必要的话),以决定每边上由于使用线性插值求出沿该边或对角线的表面模型值会形成的最大误差,并且,假如任何边或对角线上误差大于预定阈值,将多边形再划分为子多边形。对子多边形先前尚未检测的边重复该检测过程,并且,假如任何边或对角线上误差大于阈值,把该子多边形,即包含这种边或对角线的子多边形再划分为更小。继续这过程直至没有任何多边形边或对角线上误差大于阈值为止,此时运用线性插值法沿多边形或子多边形边,和沿多边形或子多边形水平跨度求出除了已赋于多边形各点的表面模型之外的其余的值。
对多边形边的有限误差检测足以确保在边和跨度上所有误差将小于所要求的阈值,申请人已发现,线性插值引起的最大误差总是落在多边形边上(对于具有三边以上多边形,和/或对角线上)。在本发明中,具有三边以上多边形最好用已知方法划分为三角形,以简化绘制过程。一旦三角形已划分至所有三角形边最大误差小于选择的阈值,则可以用线性插值法计算所有其余点,相信这些其余插值中不再会有大于阈值的误差。因而,必须用除法计算的表面模型赋值次数大大减少,而插值引起的可视人工迹象严重程度保持低于预定可接受阈值。
本发明特别适用于例如纹理映射,或Gourand或Phong浓淡处理的功能,所有这些均需要从表面模型到绘制目标的映射。该目标在例如使用透视变换变换初始绘制的三维目标所获得的齐次坐标(例如,x,y,w)中绘制。一旦获得三角形顶点的适当映射值,每条三角形边的最大误差可以使用下列公式求得: 式中该边的第一端点是顶点P0,坐标(x0,y0,w0),该边的第二端点是顶点p1,坐标(x1,y1,w1),和α=min(w0,w1)/max(w0,w1)。
划分三角形可以几种不同方法进行。在一个现有的顶点和其中一条原三角形边之间连一条新三角形边,将该三角形分为二个三角形。同样第二条新三角形边建立第三个三角形。当建立一新三角形边时,使它与原三角形边交叉在原边的中点能简化在交叉点建立新顶点的值的计算。或者,原边可以交叉在沿该边的最大误差点,因而减小沿该边需要再划分一次的可能性。在一个实施例中,新顶点建立在每条原三角形边的中点,将三角形划分为四个子三角形。因而,每个子三角形与原三角形相似。
本发明也包括几个非递归划分三角形的方法。第一种均匀分割方法首先检查三角形的至少一边具有大于预定阈值的最大误差。假如是,则检查三角形各边,决定每边要划几段才能保持每边最大误差小于阈值。不同边所必须要分的段数中最大段数用作每边将要划分的段数。这样,三角形每边划分为相同长度的线段,每边总段数是上述求得的最大段数。此后在分隔每边各段的点建立新顶点,用每条都平行于三角形三边中一边的一些线互连新顶点,这样建立若干内三角形。此后对所建立三角形的每个顶点准确地计算所要求的表面模型值,接着运用线性插值法求出其余象素的值。
在另一种非递归划分方法中三角形被这样划分(假如必须分的话),使得只有等w三角形存在。等w三角形是该三角形三个顶点中二个具有相同的齐次坐标w值。在这实施例中,每个等w三角形又被分为若干梯形,梯形平行边平行于等w三角形的由具有相同w值的二个顶点界定的底边。准确计算每个梯形顶点的所要求的表面模型值(例如,u)。然后将每个梯形分为若干子三角形,大多数或所有子三角形几何上是等腰的,也是等w的。此后运用线性插值法求子三角形内顶点的所要求的表面模型值。一旦求出这些值,就用线性插值法求其余象素的值。对每个等w三角形的每个梯形进行这过程。
图1是说明先有技术使用水平跨度将表面细节映射到多边形的方法的图。
图2是适用于使用本发明的计算机系统的原理方块图。
图2A是图2所示视频控制器的详细原理方块图。
图3A是本发明的表面细节映射到的三角形的图。
图3B是本发明的映射表面细节程序的流程图。
图4是本发明的一个三角形划分为四个子三角形的图。
图5是本发明的一个三角形划分为二个子三角形的图。
图6是本发明的一个三角形划分为三个子三角形的图。
图7是本发明的非递归均分三角形的方法的流程图。
图7A是根据图7所示方法划分的三角形的图。
图8-8A是将等w三角形划分为梯形,每个梯形有内部三角形的非递归划分三角形方法的流程图。
图8B是使用8-8A所示方法划分三角形的图。
首先,要指出在本专利指导下使用编程的常规通用数字计算机可以方便地实施本发明的各部分,这对计算机专业人员是显而易见的。在本专利的指导下可以容易地制作适当的软件编码,这对软件专业人员是显而易见的。通过制造专用集成电路或连接常规部件装置的适当网络也可以实现本发明,这对本专业的技术人员是显而易见的。
图2表示可以实施本发明的例如IBM PC兼容机的计算机系统100的系统结构。图2示范的计算机系统仅为说明目的。尽管以下的说明可能提及在描述例如IBM PC兼容机的特定计算机系统常用的词汇,该描述和概念同样适用于包括具有与图2不同结构的系统的其他系统。
计算机系统100包括中央处理单元(CPU)105,它可以包括常规微处理器,用于暂时存储信息的随机存取存储器(RAM)110,和用于永久存储信息的只读存储器(ROM)115。设置用来控制总线130的总线控制器125,中断控制器135用于接收和处理来自其他系统部件的各种中断信号。
利用软磁盘142,CD-ROM147或硬盘152可以提供大容量存储器。通过例如软盘142和CD-ROM147的可拆装媒体可以与计算机系统100交换数据和软件。软盘142插入软盘驱动器141,软盘驱动器141通过控制器140与总线130连接。同样,CD-ROM147可插入CD-ROM驱动器146,它又通过控制器145与总线130连接。最后,硬盘152是固定磁盘驱动器151的一部分,它通过控制器150与总线130连接。
用户向计算机系统100的输入可以通过若干装置进行。例如,键盘156和鼠标157通过键盘和鼠标控制器150与总线130连接。任选的外围设备196可以通过控制器197与总线130连接,控制器197可以是RS-232串行端口控制器或并行端口控制器。本专业的技术人员清楚,例如笔和/或图形输入板和语音输入的话筒可以通过总线130和适当的控制器/软件与计算机系统100连接,设置DMA控制器160用于执行向系统RAM110直接存储器存取。可视显示由控制显示器170的视频控制器165产生。
转到看图2A,视频控制器165包括与总线130连接的总线接口166,最好允许能访问总线130和视频控制器165的计算机100内的CPU105或其他装置之间能进行图形和状态信息的双向信息交流。此外,视频控制器165也包括与总线接口166连接的图形处理器167,视频存储器168和与显示器170连接的驱动电路169。图形处理器167通过总线接口166接收以已知方式放置在总线130上的例如视频指令,状态信息和图象数据的图形信息。继而,图形处理器167解释接收的视频指令或状态信息,并对此作出响应执行适当的图形处理任务。这些任务部分根据在图形处理器167外部或内部的存储媒体所包含的作为程序代码语句存储的图形例行程序或线索。这种存储媒体可以包括在该印制板上的视频存储器168以及位于图形处理器167集成元件内部的ROM存储器167a。
另外,视频存储器168包括由上述图象处理器167正在处理的一帧或多帧图象数据。一旦一帧图象数据已处理,图形处理器167将该帧传送到驱动电器169,从而产生相应的驱动信号传送至显示器170,这在现有技术中是已知的。
返回看图2,计算机系统100还包括通讯适配器190,通讯适配器190使系统能与由总线191和网络195原理性图示的局域网(LAN)或广域网(WAN),或互联网互连。或者,通讯适配器190可以是PCMCIA总线适配器,它使任何数量的附着PCMCIA标准的外设能以本专业的技术人员熟知的方式与计算机系统100联接。
一般说计算机系统100由操作系统软件,例如IBM公司的OS/2操作系统或微软公司的WindowSNT控制和协调。操作系统控制系统资源配置和执行其中包括例如处理调度,存储器管理以及联网和I/O服务的任务。
在以下每个本发明最佳实施例中,下述表面映射技术和递归或非递三角形细分方法中至少一个采取在例如上述计算机100的通用处理系统上执行的相互关联的例行程序的形式。这些程序在计算机100从计算机可读存储媒体读出和执行其相应程序指令时,使计算机100能执行非线性投影绘制技术和最佳实施例处理过程。
装有这些程序的存储媒体可以包括任何类型的盘片媒体包括软盘142,例如CD-ROM147的光盘或其磁-光变体,硬盘驱动器152或不论位于计算机100内部或外部的磁盘阵列。或者,存储媒体可以包括ROM115,系统RAM110,EPROM,EEPROM,快速EEPROM或适合存储计算机可读指令及其任何例程组合的为本专业的技术人员所理解的任何其他类型的媒体。
或者,这些例程可以装在可由图形处理器167(图2)寻址的存储媒体中,例如视频存储器168或集成在图形处理器167内的ROM存储器167a。视频控制器165的图形处理器167还可以独立使用由CPU105或与总线130连接的其他装置放置在总线上的图形信息,执行下文说明的非线性绘制过程和程序。
本发明提供来自三维模型目标的纹理映射和/或Gouraud或Phong浓淡处理的值的线性近似。本发明最佳实施例同样适用于运用不同类型多边形的三维绘制。然而,对于具有三边以上的多边形,通过运用例如德洛奈三角形剖分方法将它们分解为三角形,简化绘制过程。因而,以下说明针对运用三角形的绘制。然而,本专业的技术人员明白,本发明的原理也可以扩展到其他形状。
图3A中所示的是“显示空间”,即二维坐标系统中的三角形,它对应于向用户显示的图象象素。如上所述,图形图象一般在三维空间中定义,此后经过例如透视变换变换为二维视图空间。在图3A实施例中,使用透视变换形成三角形的顶点P0,P1,P2,每个顶点由包括x坐标,y坐标,齐次坐标w,以及例如纹理映射坐标(u,v)的适当表面模型参数的一组值所定义。然后,必须决定三角形其他象素的表面模型值。以下说明提及寻求纹理映射变量u的值。对于纹理映射,然后将要重复该过程决定纹理映射变量v的值。本专业的技术人员明白,这程序同样适用于寻求r,g,b(Gouraud浓淡处理)的值或N(Phong浓淡处理)的值。
本发明各个实施例将线性插值法应用于以选择方式确定三角形象素的表面映射值,这将避免由于插值过大引起误差的可看到的人为迹象的产生。一般说,对三角形每边检测由于使用线性插值而不是精确计算所产生的最大误差。假如最大误差小于预定阈值,使用插值绘制三角形内所有象素。然而,假如任何边的最大误差大于阈值,则细分该三角形,将每条三角形边的最大误差降到阈值以下。
图3B表示本发明的映射表面细节的递归方法。在图3B步骤301,决定三角形大小,看是否必须检测最大误差。假如在步骤303决定三角形足够小(例如每边长度小于两个象素),那么使用三角形顶点的u值,用插值法求该三角形的每个其他象素的u值(步骤305)。在这种情况下,三角形如此小,以致使用线性插值不会造成任何明显的可视人工迹象。
假如步骤303的检测确定三角形大于在步骤305容许直接线性插值的最大尺寸,那么对每条三角形边求出由于使用线性插值法会引起的最大误差(步骤307)。使用那条边两端的每个顶点的x,y,w值求出给定边的最大误差。例如,要确定图3A三角形边14的最大误差e,将顶点p0和顶点P1的x,y,w值(即,x0,y0,w0和x1,y1,w1)代入下列方程:
式中α=min(w0,w1)/max(w0,w1)。
返回看图3B,假如三角形三边中任一边(即图3A的三角形边14,16,18)的e值大于预定阈值(步骤309),则将三角形细分(步骤311),并对细分产生的三角形重复上述程序。如步骤313所示,过程进行到下一个三角形,如果三角形刚被细分,下一个三角形可以是细分产生的三角形中的一个。当对于特定三角形,三角形没有一边的最大误差大于阈值(步骤309)时,使用线性插值法映射三角形其余点(步骤305)。然后,检查确定是否所有三角形已经检测(步骤315),假如不是,对下一个尚未检测的三角形应用该程序(步骤313)。一旦所有三角形已经所有点被映射,程序结束。
上述程序的阈值是预定的,对于所讨论的应用是特定的。一般说,图象质量越高,则要求阈值越低,因为最大可容许近似误差减小了。然而,作为计算综合考虑,阈值越低也会要求目标三角形更大量的划分。
如上所述,最佳实施例的最大误差检测局限于三角形各边。例如图3A所示三角形,只检测三角形的边14,16,18,以决定各边的最大误差是否大于阈值。这是因为申请人已发现三角形各边的最大误差总是大于跨度的最大误差。一旦三角形必要的划分已将划分后的三角形各边最大误差降到阈值以下,那么三角形跨度的最大误差也将在阈值以下。因而,此后可以使用线性插值法确定三角形所有其他象素的u和v值。
对于以三角形为基础的绘制,在其中一条三角形边的最大误差大于阈值的情况下,有若干种不同的涉及细分三角形方式的递归实施例。图4中示出按照本发明通过连接每条三角形边中点已经把一个三角形细分为四个单独的三角形。因而这些中点成为新的顶点P3,P4,P5。通过以这种方式划分三角形,由于细分操作的简化而使硬件实施更为容易。而且,因为四个子三角形中每个与原三角形相似,对子三角形的必要准备计算也被简化。
图5画出通过建立新顶点P4将一个三角形划分为二个三角形,顶点P4是在P0和P4之间延伸的新三角形边的一个端点。当以这种方式划分三角形时,最好在最大误差大于阈值的任何边上建立新顶点。在图5所示划分中,顶点P4可以位于顶点P1和P2之间中点,将边16划分。选择边的中点作为新顶点的位置简化了划分过程,因为新顶点的t值是0.5。然而,点P4也可以选择在要被划分的边16上最大误差点。通过使用最大误差点作为划分点,对新顶点的任一边建立的新三角形将小于阈值的可能性增加。这最大误差点是由t值定位的,t值由下列公式求出:
在上述程序中,最大误差大于阈值的每条三角形边被一个新顶点划分。在图6所示例子中,三角形边14和16都已经被划分,已求出每边最大误差大于阈值。和单独的一条被划分的边一样,这两条被划分的边可以在中点、或在每边的最大误差点被划分。在任一种情况下,原三角形被划分为三个三角形。
不论划分次数如何,检查新三角形边。判断任何这些边的最大误差是否大于阈值。假如是,则将三角形再划分。假如不是,精确计算新顶点的u值(即包含除以w)。然后运用线性插值法求出由新顶点建立的新三角形边上各点u值。此后,如上所述,对于连接三角形边的跨度上各点也使用线性插值法。然后对已被用于绘制目标的每个三角形重复整个程序。
图3B的方法,包括结合图4-6说明的每个不同划分类型使程序局限于只是必须划分许多次的情况。然而,这种方法需要重复检查三角形边和连续划分三角形产生新三角形,该方法也是递归的。递归算法通常由于需要高存储容量不太适宜硬件加速。以下介绍二种不需要递归的本发明的划分方法。
与递归方法相比,以下方法的优点在于使用线性插值法引起的三角形最大误差总是在三角形边上。图7是使用均分分割三角形方法的流程图,即在三角形每边上有相同数量的分割点将三角形划分。
在图7步骤701,以与上述实施例相同的方法,检查每条三角形边的最大误差。假如每条三角形边最大误差不大于阈值(步骤703),运用线性插值法求出三角形的所有u值(步骤705)并且程序结束。正如上述实施例,这实施例以u值求解为例说明,但是本专业的技术人员明白同样的方法适用于v坐标或Gouraud或Phong浓淡处理所必须的值的求解。
假如在步骤703发现至少有一边最大误差大于阈值,则通过在三角形上建立几个新顶点,将三角形边划分为几段。首先,检查每边以确定对该边为防止最大误差大于阈值必须要分的最大段数(步骤707)。对于每边可以使用每个顶点界定的那边的值和该边的最大误差e求出这最大分段数n。例如,图3A所示三角形边14由顶点P0和P1界定,其最大分段数n可以如下求得: 式中l是边长,和β=l/α=max(w0,w1)/min(w0,w1)。
在求出每边的最大分段数n后,选择三边中最大n值作为每边划分的段数。这样,沿每条边,离开该边端点,有彼此等距离的n-1个新顶点分布在每边上(步骤709)。用平行于三角形边的内跨度连接新顶点,形成若干子三角形(步骤711)。图7A表示以这种方式划分图3A的三角形,这里每边已分为三段。然后准确计算每个形成的子三角形新顶点,包括三角形内部顶点以及三角形边上顶点的u值(步骤713)。最后,使用线性插值法求出三角形中其他象素的其余u值(步骤715)。因为边分为足够小的分段,从而防止最大插值误差大于阈值,三角形内部跨度上的最大误差同样不会大于阈值。而且,这方法不需要递归,从而防止系统存储器过载。
图8-8A表示另一种非递归的划分三角形的方法,如上所述,这方法以纹理映射值u为例说明,但同样适用于求纹理映射值v,或Gouraud或Phong浓淡处理所必须的映射值。在这方法中,所述划分过程利用了等w三角形(即在二顶点w值相等的三角形)特性的优点。这方法象其他方法一样,以与上述实施例相同的方式,先检查每条三角形边上最大误差(步骤801)。假如三角形任何边上最大误差不大于预定阈值(步骤803),用线性插值法求所有u值(步骤805),并且程序结束。
假如在步骤803任何边的最大误差大于阈值,那么检查三角形各顶点的w值,确定该三角形是否是等w三角形(步骤807)。假如这三角形不是等w的,它必须分为二个等w三角形(步骤809)。因为w值沿每条三角形边线性地变化,所以,通过沿其中一条三角形边进行线性插值而寻找其w值与那边所对顶点的w值相等的点,可以容易地达到划分所述三角形的目的。从那点和相对顶点连接一条新三角形边,形成有同底边的二个三角形,该底边有二端点,每个端点w值相等。
一旦三角形已划分为二个等w三角形,选择其中一个等w三角形(步骤811),该方法进行到步骤813。假如原三角形被确定为等w的,则该方法直接从步骤807转到步骤813。在以下说明中,等w三角形的两端点w值相等的边称为“底边”,而“侧边”是指三角形非底边的二边中的一边。在步骤813,三角形两侧边中的长边(假如任一边较长些)被划分成防止该边最大误差e大于阈值所必须的最小分段数。这种划分是通过从第一顶点沿那侧边寻找最大可能偏离来进行的。
假如要划分的三角形如图3A所示,两边中长侧边是边14,边14在顶点P0和P1之间被划分。那么可以如下地求出最大偏离Δx:
式中e是该边的最大误差,如上所述进行计算,w1是顶点p1的w值,而W0是顶点P0的w值。
这公式给出边14上第一新顶点相对的P0的位置。然后使用P1值和新建立的顶点,如上所述可以求出下一个Δx。这给出下一个新顶点位置。继续该过程直至最大偏离Δx值大于沿三角形边的剩余距离,至此沿该边所有新顶点已建立。
一旦三角形边14上新顶点已建立,通过从边14上新建立的顶点向对边(图3A边18)作平行于底边16的新底边,在三角形中构成梯形(步骤815)。这种类型划分三角形方法的图形在图8B中表示。在梯形构成后,准确计算梯形顶点的u值(步骤817)。然后分别对每个梯形进行计算,在步骤819中选择第一梯形。
在步骤821,在考察的梯形内构造等腰三角形。先在原三角形非底边的侧边中较长的边开始构造这些三角形。运用图8B三角形说明这一点。例如,取梯形20,从边14与梯形20短平行底边相交的顶点向梯形20长底边上一点连接新边23构成等腰三角形22。这样选择这一点,使得三角形边23的长度等于与原三角形边14共线的梯形边的长度。因而,新构成的三角形22几何上是等腰三角形。此外,因为梯形20的长底边是等w值线,所以,三角形22也是等w三角形。
在构成三角形22以后,通过从边23和梯形20长底边交叉点到与梯形20短平行底边的交叉点连线构成另一等腰三角形。该新边长度与边23长度相等,因而构成另一个既是等腰又是等w三角形。继续这过程直至在梯形20内不再为几何上相同的等腰三角形留有余地。在最后一条新三角形边和梯形20长底边的交叉点至原三角形边18与梯形20短底边交叉点连线构成最后一条三角形边。这就又产生二个三角形,这二个三角形不是等腰三角形,尽管仍是等w三角形。
再次参考图8,一旦在考察的梯形内构成内三角形(步骤821),运用插值法求出内三角形新顶点的u值。因为梯形顶点的u值已计算,并且因为u值在等w线上线性变化,所以,沿梯形平行底边使用插值法得到每个新顶点的准确u值。这插值运算在图8A中画为步骤823。内三角形所有顶点的u值求得后,就可运用插值法求出三角形其余u值(步骤825)。因为梯形的非平行侧边足够短,足以防止误差e大于阈值,并且因为没有一条内三角形侧边大于梯形非平行侧边,所以,可以对这些内部u点使用插值法,有把握认为对这些点u的插值的误差不会大于阈值。
在步骤827,过程检查所有梯形的u值是否已求得。假如不是,过程移到下一梯形(步骤829),并且从步骤821开始重复。假如该三角形中没有梯形尚未处理,则判定是否有从原三角形中划分的另一个等w三角形尚未处理。假如是,过程移到下一个等w三角形(步骤833),并且从步骤813开始重复。
图7-8B的非递归方法不需要图3-6的递归方法中的重复操作。然而,两种方法中存在一些基本原理。所有方法依赖于这一点,即,插值求u(而不是直接数字计算)所引起的最大误差总是在三角形的其中一条边上。因此,一旦已知三角形已小到这样的尺寸,其三角形各边足够短,使其最大误差小于给定误差,则可实施上述使用插值法的方法。
至今已结合最佳实施例图示和说明本发明,本专业的技术人员应明白,可以在形式和细节上作出各种变化,而并不偏离所附的权利要求书所规定的本发明精神和范围。如上所述,此文结合纹理映射坐标u说明的技术也可以用于指定纹理映射坐标v值,并且同样适用于例如Gouraud着色处理和Phong浓淡处理的其他类型的非线性映射。对于Gouraud着色处理,将色值红(r)、绿(g)和兰(b)替换上述纹理映射实施例所用的u和v值,就可以正确地逼近色值r,g,b。同样,当使用Phong浓淡处理表面细节时,为了获得适当的正确近似,可以用正态值N代替u和v。
Claims (54)
1.将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以多边形为基础的图形表示的目标的透视投影多边形上的一种方法,其特征在于所述方法包含以下步骤:
a)将多边形划分为子多边形,每个子多边形有若干边和若干顶点,所述划分是这样进行的、使得给定赋于顶点的准确模型值的情况下,用线性插值法求任何一条子多边形边长度上模型值不会产生大于预定阈值的插值误差;
b)求子多边形顶点的准确模型值;和
c)用插值法求对应于非顶点目标点的模型值。
2.根据权利要求1的方法,其特征在于:所述多边形是三角形。
3.根据权利要求1的方法,其特征在于:对于给定子多边形,若干顶点包括具有目标座标(X0,Y0,W0)的第一顶点P0和具有目标坐标(X1,Y1,W1)的第二顶点P1,以及
求由顶点P0和顶点P1界定的子多边形的最大误差包括按以下公式求最大误差e: 式中α=min(w0,w1)/max(w0,w1)
4.根据权利要求1的方法,其特征在于:再划分多边形的步骤还包括这样再划分多边形:在最大插值误差大于阈值的第一条多边形上建立新顶点。
5.根据权利要求4的方法,其特征在于:所述新顶点基本上位于所述第一条边的最大插值误差点。
6.根据权利要求5的方法,其特征在于:所述第一条边由具有目标坐标(X0,Y0,W0)的第一顶点P0和具有目标坐标(X1,Y1,W1)的第二顶点P1界定,以及第一条边的最大误差点tmaxerror由下式求得:
7.根据权利要求4的方法,其特征在于:所述新顶点基本上位于第一条边的中点。
8.根据权利要求1的方法,其特征在于:所述多边形是三角形,以及再划分三角形的步骤包括这样将三角形再划分为四个三角形:在原始三角形的每条边的中点建立新顶点。
9.根据权利要求1的方法,其特征在于:所述插值法是线性插值法。
10.将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的图形表示的目标的透视投影三角形上的一种方法,其特征在于所述方法包含以下步骤:
a)求得所述三角形每个顶点的准确模型值;
b)根据位于那条边端点的顶点的模型值,求三角形每条边由于使用插值法引起的最大插值误差,以便将模型值赋于那条三角形边的所有目标点;
c)将每条边的最大误差与预定阈值比较;
d)如果所述三角形的任何边的最大误差大于所述阈值,则将三角形再划分为子三角形,并且对每个子三角形重复步骤(a),(b),(c)和(d);
e)用插值法求对应于非顶点目标点的模型值。
11.根据权利要求10的方法,其特征在于:对于在第一端点的具有目标坐标(X1,Y1,W1)的顶点P1和在第二端点的具有目标坐标(X0,Y0,W0)的顶点P2的边,所述边的最大误差是: 式中α=min(w0,w1)/max(w0,w1)
12.根据权利要求10的方法,其特征在于:再划分三角形的步骤包括基本上在三角形的边的最大插值误差点建立新顶点,以及
假如所述边具有在第一端的有齐次坐标W1的顶点P1,和在第二端的有齐次坐标W2的顶点P2,则所述边的最大插值误差点tmaxerror按下式求:
13.根据权利要求10的方法,其特征在于:再划分三角形的步骤包括基本上在待建立新顶点的三角形边的中点建立新顶点。
14.根据权利要求10的方法,其特征在于:再划分三角形的步骤包括以这样的方式将三角形再划分为四个三角形,即,在每条原三角形边的中点建立新顶点。
15.将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的图形表示的目标的透视投影三角形上的一种方法,所述三角形具有若干顶点和若干边,其特征在于所述方法包括如下步骤:
a)沿三角形边这样建立新顶点:把每条三角形边分为若干段,每段的长度是这样的:在给定的待赋于顶点的准确模型值的情况下,在任何一段长度上利用线性插值法求模型值不会产生大于阈值的误差;
b)用平行于原三角形边的线段连接新顶点,从而构成以线段交叉点为顶点的内部子三角形;
c)求子三角形每个顶点的准确模型值;
d)用插值法求对应于非顶点目标点的模型值。
16.根据权利要求15的方法,其特征在于还包括对于每条三角形边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤a~c。
17.将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的图形表示的目标的透视投影等W三角形上的一种方法,所述三角形有二条侧边和一底边,底边由具有相同齐次坐标值W的两个顶点界定,其特征在于所述方法包括如下步骤:
a)将三角形划分为若干梯形,每个梯形有四个顶点、平行于三角形底边的二条底边、和两条侧边,每条侧边与所述三角形的侧边之一共线,所述梯形的侧边具有这样的长度:在给定待赋于梯形顶点的准确模型值的情况下,对梯形侧边模型值施行插值法不会产生大干预定阈值的插值误差;
b)求每个梯形顶点的准确模型值;
c)将每个梯形内部分为若干个等W子三角形;和
d)利用插值法求三角形其余目标点的模型值。
18.根据权利要求17的方法,其特征在于:步骤(c)还包括在每个梯形内构成若干几何上的等腰子三角形。
19.根据权利要求17的方法,其特征在于:还包括对于所述三角形的每条边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤a~c。
20.根据权利要求17的方法,其特征在于:还包括通过将非等W三角形划分为二个等W三角形来建立所述等W三角形。
21.根据权利要求17的方法,其特征在于:步骤(d)包括首先利用插值法求等W子三角形顶点的模型值,然后利用插值法求所述三角形的其他剩余的目标点的模型值。
22.用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以多边形为基础的、用图形表示的目标的透视投影多边形上的计算机程序产品,其特征在于所述程序代码包括:
用来执行以下步骤的程序代码:(a)将多边形再划分为子多边形,每个子多边形有若干边和若干顶点,所述再划分是这样进行的,使得在给定待赋于顶点的准确的模型值的情况下,用线性插值法求任何一条子多边形侧边长度的模型值不会产生大于预定阈值的插值误差;
执行以下步骤的程序代码:(b)求子多边形顶点的准确模型值;
执行以下步骤的程序代码:(c)用插值法求对应于非顶点目标点的模型值。
23.根据权利要求22的计算机程序产品,其特征在于:执行步骤(a)的程序代码包括用来对所述多边形进行再划分,从而在最大插值误差大于阈值的第一侧边上建立新顶点的程序代码。
24.根据权利要求22的计算机程序产品,其特征在于:执行步骤(a)的程序代码还包括用来把所述新顶点基本上设置在所述第一侧边的中点的程序代码。
25.根据权利要求22的计算机程序产品,其特征在于:所述多边形是三角形,以及执行步骤(a)的程序代码包括用来这样将三角形再划分为四个三角形、使得在原始三角形每条边的中点建立新顶点的程序代码。
26.用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影三角形上的计算机程序产品,其特征在于所述程序代码包括:
用来执行以下步骤的程序代码:(a)求得三角形每个顶点的准确模型值;
用来执行以下步骤的程序代码:(b)根据位于所述边端点的顶点模型值,求每条三角形边由于使用插值法引起的最大插值误差,以便将模型值赋于所述三角形边上的目标点;
用来执行以下步骤的程序代码:(c)将每条边的所述最大误差与预定阈值比较;
用来执行以下步骤的程序代码:(d)将所述三角形再划分为子三角形,假如所述三角形任何边的所述最大误差大于阈值,则对每个子三角形重复步骤(a),(b),(c)和(d);和
用来执行以下步骤的程序代码:(e)用插值法求对应于非顶点目标点的模型值。
27.用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影三角形上的计算机程序产品,所述三角形有若干边和若干顶点,其特征在于所述程序代码包括:
用来执行以下步骤的程序代码:(a)沿三角形边这样建立新顶点,使得每条三角形边分为若干段,每段具有这样的长度:在给定待赋于顶点的准确模型值的情况下,在任何一段长度上利用线性插值法求模型值不会产生大于阈值的误差;
用来执行以下步骤的程序代码:(b)用平行于原始三角形边的线段连接新顶点,从而构成以线段交叉点为顶点的内部子三角形;
用来执行以下步骤的程序代码:(c)求子三角形每个顶点的准确的模型值;
用来执行以下步骤的程序代码:(d)用线性插值法求对应于每个非顶点目标点的模型值。
28.根据权利要求27的计算机程序产品,其特征在于:还包括对于每条三角形边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤(a)~(c)的程序代码。
29.用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影等W三角形的计算机程序产品,所述三角形有二条侧边和一底边,底边由具有相同齐次坐标值W的两个顶点界定,其特征在于所述程序代码包括:
用来执行以下步骤的程序代码:(a)将所述三角形划分为若干梯形,每个梯形有四个顶点、平行于三角形底边的二条底边、和两条侧边,每条侧边与所述三角形侧边之一共线,所述梯形侧边具有这样的长度:在给定待赋于梯形顶点的准确模型值的情况下,对所述梯形的侧边模型值施行插值法不会产生大于预定阈值的插值误差;
用来执行以下步骤的程序代码:(b)求每个梯形顶点的准确模型值;
用来执行以下步骤的程序代码:(c)将每个梯形内部再划分为若干等W子三角形;和
用来执行以下步骤的程序代码:(d)用插值法求所述三角形其余目标点的模型值。
30.根据权利要求29的计算机程序产品,其特征在于:还包括对于每条三角形边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤(a)~(c)的程序代码。
31.根据权利要求29的计算机程序产品,其特征在于:执行步骤(c)的程序代码还包括用来在每个梯形内构成若干几何上等腰子三角形的程序代码。
32.根据权利要求29的计算机程序产品,其特征在于:还包括用来通过将非等W三角形划分为两个等W三角形而建立所述等W三角形的程序代码。
33.一种计算机装置,它包括存储媒体,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以多边形为基础的、用图形表示的目标的透视投影多边形上的程序代码,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)将所述多边形再划分为子多边形,每个子多边形有若干边和若干顶点,所述再划分是这样进行的,在给定待赋于顶点的准确的模型值的情况下,用线性插值法求任何一条子多边形侧边长度的模型值不会产生大于预定阈值的插值误差;
执行以下步骤的程序代码:(b)求子多边形顶点的准确模型值;
执行以下步骤的程序代码:(c)用插值法求对应于非顶点目标点的模型值。
34.根据权利要求33的计算机装置,其特征在于:执行步骤(a)的程序代码包括这样再划分多边形、使得在最大插值误差大于阈值的第一条边上建立新顶点的程序代码。
35.根据权利要求33的计算机装置,其特征在于:执行步骤(a)的程序代码还包括用来把所述新顶点基本上设置在所述第一侧边的中点的程序代码。
36.根据权利要求33的计算机装置,其特征在于:所述多边形是三角形,和执行步骤(a)的程序代码还包括用来这样将所述三角形再划分为四个三角形、使得在每条原始三角形边的中点建立新顶点的程序代码。
37.一种计算机装置,它包括存储媒体,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影三角形上的程序代码,其特征在于存储媒体包括:
用来执行以下步骤的程序代码:(a)求得三角形每个顶点的准确模型值;
用来执行以下步骤的程序代码:(b)根据位于所述边端点的顶点模型值,求每条三角形边由于使用插值法引起的最大插值误差,以便将模型值赋于所述三角形边上的目标点;
用来执行以下步骤的程序代码:(c)将每条边的所述最大误差与预定阈值比较;
用来执行以下步骤的程序代码:(d)将所述三角形再划分为子三角形,假如所述三角形任何边的所述最大误差大于阈值,则对每个子三角形重复步骤(a),(b),(c)和(d);和
用来执行以下步骤的程序代码:(e)用插值法求对应于非顶点目标点的模型值。
38一种计算机装置,它包括存储媒体,所述存储媒体有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影三角形上的程序代码,所述三角形有若干边和若干顶点,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)沿三角形边这样建立新顶点,使得每条三角形边分为若干段,每段具有这样的长度:在给定待赋于顶点的准确模型值的情况下,在任何一段长度上利用线性插值法求模型值不会产生大于阈值的误差;
用来执行以下步骤的程序代码:(b)用平行于原始三角形边的线段连接新顶点,从而构成以线段交叉点为顶点的内部子三角形;
用来执行以下步骤的程序代码:(c)求子三角形每个顶点的准确的模型值;
用来执行以下步骤的程序代码:(d)用线性插值法求对应于每个非顶点目标点的模型值。
39.根据权利要求38的计算机装置,其特征在于:所述存储媒体还包括对于每条三角形边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤(a)~(c)的程序代码。
40.一种计算机装置,它包括存储媒体,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影等W三角形的程序代码,所述三角形有二条侧边和一底边,底边由具有相同齐次坐标值W的两个顶点界定,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)将所述三角形划分为若干梯形,每个梯形有四个顶点、平行于三角形底边的二条底边、和两条侧边,每条侧边与所述三角形侧边之一共线,所述梯形侧边具有这样的长度:在给定待赋于梯形顶点的准确模型值的情况下,对所述梯形的侧边模型值施行插值法不会产生大于预定阈值的插值误差;
用来执行以下步骤的程序代码:(b)求每个梯形顶点的准确模型值;
用来执行以下步骤的程序代码:(c)将每个梯形内部再划分为若干等W子三角形;和
用来执行以下步骤的程序代码:(d)用插值法求所述三角形其余目标点的模型值。
41.根据权利要求40的计算机装置,其特征在于:所述存储媒体还包括对于所述三角形每条边,假如将模型值赋于所述三角形所述边上目标点时使用插值法引起的任何插值误差不大于阈值,则省略步骤(a)~(c)的程序代码。
42.根据权利要求40的计算机装置,其特征在于:执行步骤(c)的程序代码还包括在每个梯形内构成若干几何上等子腰三角形的程序代码。
43.根据权利要求40的计算机装置,其特征在于:所述存储媒体还包括用来通过将非等W三角形划分为两个等W三角形而建立所述等W三角形的程序代码。
44.用来在主处理器和向用户显示图形图象的显示器之间交换图形数据的视频控制器装置,所述控制器包括与存储媒体通讯的图形处理器,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以多边形为基础的、用图形表示的目标的透视投影多边形上的程序代码,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)将多边形再划分为子多边形,每个子多边形有若干边和若干顶点,所述再划分是这样进行的:在给定待赋于顶点的准确的模型值的情况下,用线性插值法求任何一条子多边形边的长度的模型值不会产生大于预定阈值的插值误差;
用来执行以下步骤的程序代码:(b)求子多边形顶点的准确模型值;以及
用来执行以下步骤的程序代码:(c)用插值法求对应于非顶点目标点的模型值。
45.根据权利要求44的控制器,其特征在于:执行步骤(a)的程序代码包括用来对所述多边形进行再划分,从而在最大插值误差大于阈值的第一侧边上建立新顶点的程序代码。
46.根据权利要求44的控制器,其特征在于:执行步骤(a)的程序代码还包括用来把所述新顶点基本上设置在所述第一侧边的中点的程序代码。
47.根据权利要求44的控制器,其特征在于:所述多边形是三角形,以及执行步骤(a)的程序代码包括用来这样将三角形再划分为四个三角形、使得在每条原始三角形边的中点建立新顶点的程序代码。
48.用来在主处理器和向用户显示图形图象的显示器之间交换图形数据的视频控制器装置,所述控制器包括与存储媒体通讯的图形处理器,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影三角形上的程序代码,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)求得所述三角形每个顶点的准确模型值;
用来执行以下步骤的程序代码:(b)根据位于所述边端点的顶点模型值,求每条三角形边由于使用插值法引起的最大插值误差,以便将模型值赋于所述三角形边上的目标点;
用来执行以下步骤的程序代码:(c)将每条边的所述最大误差与预定阈值比较;
用来执行以下步骤的程序代码:(d)将所述三角形再划分为子三角形,假如所述三角形任何边的所述最大误差大于阈值,则对每个子三角形重复步骤(a),(b),(c)和(d);和
用来执行以下步骤的程序代码:(e)用插值法求对应于非顶点目标点的模型值。
49.用来在主处理器和向用户显示图形图象的显示器之间交换图形数据的视频控制器装置,所述控制器包括与存储媒体通讯的图形处理器,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影三角形上的程序代码,所述三角形有若干边和若干顶点,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)沿三角形边这样建立新顶点,使得每条三角形边分为若干段,每段具有这样的长度:在给定待赋于顶点的准确模型值的情况下,在任何一段长度上利用线性插值法求模型值不会产生大于阈值的误差;
用来执行以下步骤的程序代码:(b)用平行于原始三角形边的线段连接新顶点,从而构成以线段交叉点为顶点的内部子三角形;
用来执行以下步骤的程序代码:(c)求子三角形每个顶点的准确的模型值;以及
用来执行以下步骤的程序代码:(d)用线性插值法求对应于每个非顶点目标点的模型值。
50.根据权利要求49的控制器,其特征在于:所述存储媒体还包括对于所述三角形的每条边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤(a)-(c)的程序代码。
51.用来在主处理器和向用户显示图形图象的显示器之间交换图形数据的视频控制器装置,所述控制器包括与存储媒体通讯的图形处理器,所述存储媒体存储有用来将包含若干模型值的图形表面模型映射到目标坐标系统内由点定义的以三角形为基础的、用图形表示的目标的透视投影等W三角形的程序代码,所述三角形有二条侧边和一底边,所述底边由具有相同齐次坐标值W的两个顶点界定,其特征在于所述存储媒体包括:
用来执行以下步骤的程序代码:(a)将所述三角形划分为若干梯形,每个梯形有四个顶点、平行于三角形底边的二条底边、和两条侧边,每条侧边与所述三角形侧边之一共线,所述梯形侧边具有这样的长度,使得在给定待赋于梯形顶点的准确模型值的情况下,对所述梯形的侧边模型值施行插值法不会产生大于预定阈值的插值误差;
用来执行以下步骤的程序代码:(b)求每个梯形顶点的准确模型值;
用来执行以下步骤的程序代码:(c)将每个梯形内部再划分为若干等W子三角形;和
用来执行以下步骤的程序代码:(d)用插值法求所述三角形其余目标点的模型值。
52.根据权利要求51的控制器,其特征在于:所述存储媒体还包括对于每条三角形边,假如将模型值赋于三角形所述边上目标点时使用插值法引起的任何插值误差都不大于阈值,则省略步骤(a)~(c)的程序代码。
53.根据权利要求51的控制器,其特征在于:执行步骤(c)的程序代码还包括在每个梯形内构成若干几何上等腰子三角形的程序代码。
54.根据权利要求52的控制器,共特征在于:所述存储媒体还包括通过将非等W三角形划分为两个等W三角形而建立所述等W三角形的程序代码。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3811197P | 1997-02-19 | 1997-02-19 | |
US038111 | 1997-02-19 | ||
US819312 | 1997-03-18 | ||
US08/819,312 US5905500A (en) | 1997-02-19 | 1997-03-18 | Method and apparatus for adaptive nonlinear projective rendering |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1191352A true CN1191352A (zh) | 1998-08-26 |
CN1138219C CN1138219C (zh) | 2004-02-11 |
Family
ID=26714877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981052207A Expired - Fee Related CN1138219C (zh) | 1997-02-19 | 1998-02-18 | 自适应非线性投影绘制方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5905500A (zh) |
EP (1) | EP0860798A3 (zh) |
JP (1) | JPH10247253A (zh) |
KR (1) | KR19980071435A (zh) |
CN (1) | CN1138219C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1981306B (zh) * | 2004-05-03 | 2010-12-08 | 三叉微系统(远东)有限公司 | 用于渲染图形的图形管道 |
CN101290684B (zh) * | 2007-04-19 | 2012-07-18 | 深圳迈瑞生物医疗电子股份有限公司 | 三维超声图像的快速体绘制方法与装置 |
CN114113864A (zh) * | 2021-12-09 | 2022-03-01 | 西安交通大学 | 一种频响测量用单点采样优化方法及系统 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009188A (en) * | 1996-02-16 | 1999-12-28 | Microsoft Corporation | Method and system for digital plenoptic imaging |
US6023277A (en) * | 1996-07-03 | 2000-02-08 | Canon Kabushiki Kaisha | Display control apparatus and method |
US6208350B1 (en) * | 1997-11-04 | 2001-03-27 | Philips Electronics North America Corporation | Methods and apparatus for processing DVD video |
FR2772162B1 (fr) * | 1997-12-10 | 2000-02-25 | Ge Medical Syst Sa | Procede de segmentation semi-automatique pour l'estimation de volumes tridimensionnels |
JPH11203501A (ja) * | 1998-01-14 | 1999-07-30 | Sega Enterp Ltd | 画像処理装置及び画像処理方法 |
WO1999063489A1 (en) * | 1998-06-05 | 1999-12-09 | Evans & Sutherland Computer Corporation | Method and system for antialiased procedural solid texturing |
US6317133B1 (en) * | 1998-09-18 | 2001-11-13 | Ati Technologies, Inc. | Graphics processor with variable performance characteristics |
US6751354B2 (en) * | 1999-03-11 | 2004-06-15 | Fuji Xerox Co., Ltd | Methods and apparatuses for video segmentation, classification, and retrieval using image class statistical models |
JP3638568B2 (ja) * | 2001-06-08 | 2005-04-13 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法 |
FR2837597A1 (fr) * | 2002-03-25 | 2003-09-26 | Thomson Licensing Sa | Procede de modelisation d'une scene 3d |
US7286140B2 (en) * | 2002-07-26 | 2007-10-23 | Sun Microsystems, Inc. | Hardware acceleration of display data clipping |
KR100528343B1 (ko) * | 2003-07-14 | 2005-11-15 | 삼성전자주식회사 | 3차원 객체의 영상 기반 표현 및 편집 방법 및 장치 |
CN100476879C (zh) * | 2004-01-06 | 2009-04-08 | Nxp股份有限公司 | 用于再现图形对象的方法 |
US7601121B2 (en) * | 2004-07-12 | 2009-10-13 | Siemens Medical Solutions Usa, Inc. | Volume rendering quality adaptations for ultrasound imaging |
US7362325B2 (en) * | 2004-12-21 | 2008-04-22 | Qualcomm Incorporated | 2D/3D line rendering using 3D rasterization algorithms |
KR100703709B1 (ko) * | 2005-06-02 | 2007-04-06 | 삼성전자주식회사 | 그래픽스 처리장치와 처리방법, 및 그 기록 매체 |
US9259577B2 (en) | 2012-08-31 | 2016-02-16 | Greatbatch Ltd. | Method and system of quick neurostimulation electrode configuration and positioning |
US8761897B2 (en) | 2012-08-31 | 2014-06-24 | Greatbatch Ltd. | Method and system of graphical representation of lead connector block and implantable pulse generators on a clinician programmer |
US8812125B2 (en) | 2012-08-31 | 2014-08-19 | Greatbatch Ltd. | Systems and methods for the identification and association of medical devices |
US10668276B2 (en) | 2012-08-31 | 2020-06-02 | Cirtec Medical Corp. | Method and system of bracketing stimulation parameters on clinician programmers |
US9471753B2 (en) | 2012-08-31 | 2016-10-18 | Nuvectra Corporation | Programming and virtual reality representation of stimulation parameter Groups |
US9507912B2 (en) | 2012-08-31 | 2016-11-29 | Nuvectra Corporation | Method and system of simulating a pulse generator on a clinician programmer |
US8903496B2 (en) | 2012-08-31 | 2014-12-02 | Greatbatch Ltd. | Clinician programming system and method |
US9615788B2 (en) | 2012-08-31 | 2017-04-11 | Nuvectra Corporation | Method and system of producing 2D representations of 3D pain and stimulation maps and implant models on a clinician programmer |
US8868199B2 (en) | 2012-08-31 | 2014-10-21 | Greatbatch Ltd. | System and method of compressing medical maps for pulse generator or database storage |
US9594877B2 (en) | 2012-08-31 | 2017-03-14 | Nuvectra Corporation | Virtual reality representation of medical devices |
US9180302B2 (en) | 2012-08-31 | 2015-11-10 | Greatbatch Ltd. | Touch screen finger position indicator for a spinal cord stimulation programming device |
US8983616B2 (en) | 2012-09-05 | 2015-03-17 | Greatbatch Ltd. | Method and system for associating patient records with pulse generators |
US9375582B2 (en) | 2012-08-31 | 2016-06-28 | Nuvectra Corporation | Touch screen safety controls for clinician programmer |
US8757485B2 (en) | 2012-09-05 | 2014-06-24 | Greatbatch Ltd. | System and method for using clinician programmer and clinician programming data for inventory and manufacturing prediction and control |
US9767255B2 (en) | 2012-09-05 | 2017-09-19 | Nuvectra Corporation | Predefined input for clinician programmer data entry |
JP5940039B2 (ja) * | 2013-10-31 | 2016-06-29 | 京セラドキュメントソリューションズ株式会社 | 色変換テーブル作成装置、画像形成装置、色変換テーブル作成方法、及び色変換テーブル作成プログラム |
JP6910130B2 (ja) | 2015-11-06 | 2021-07-28 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 3dレンダリング方法及び3dレンダリング装置 |
KR101944932B1 (ko) * | 2017-08-03 | 2019-02-01 | 인천대학교 산학협력단 | 메쉬 품질 향상을 위한 그래픽 처리 장치 및 방법 |
CN110689783A (zh) * | 2019-11-20 | 2020-01-14 | 张庆生 | 一种图形组合用数学教具 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5097427A (en) * | 1988-07-06 | 1992-03-17 | Hewlett-Packard Company | Texture mapping for computer graphics display controller system |
JP3024145B2 (ja) * | 1989-07-12 | 2000-03-21 | 株式会社日立製作所 | テクスチャマッピング方法 |
US5255352A (en) * | 1989-08-03 | 1993-10-19 | Computer Design, Inc. | Mapping of two-dimensional surface detail on three-dimensional surfaces |
GB2240015A (en) * | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | Texture memory addressing |
US5307450A (en) * | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
JP2713323B2 (ja) * | 1992-03-02 | 1998-02-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 等値サーフェイスを効率的に生成し等値サーフェイス画像データ及び表面等値線画像データをディスプレイするための方法及び装置 |
US5469535A (en) * | 1992-05-04 | 1995-11-21 | Midway Manufacturing Company | Three-dimensional, texture mapping display system |
US5490240A (en) * | 1993-07-09 | 1996-02-06 | Silicon Graphics, Inc. | System and method of generating interactive computer graphic images incorporating three dimensional textures |
US5550960A (en) * | 1993-08-02 | 1996-08-27 | Sun Microsystems, Inc. | Method and apparatus for performing dynamic texture mapping for complex surfaces |
GB9406512D0 (en) * | 1994-03-31 | 1994-05-25 | Argonaut Software Limited | Texture mapping in 3-d computer graphics |
EP0680020B1 (en) * | 1994-04-28 | 2003-02-05 | Sun Microsystems, Inc. | Apparatus and method for direct calculation of clip region outcodes |
US5594846A (en) * | 1994-12-19 | 1997-01-14 | Sun Microsystems, Inc. | Perspective correction of texture in graphics by adaptive approximation |
US5649082A (en) * | 1995-03-20 | 1997-07-15 | Silicon Graphics, Inc. | Efficient method and apparatus for determining texture coordinates for lines and polygons |
-
1997
- 1997-03-18 US US08/819,312 patent/US5905500A/en not_active Expired - Lifetime
-
1998
- 1998-01-29 EP EP98101550A patent/EP0860798A3/en not_active Withdrawn
- 1998-02-17 KR KR1019980004857A patent/KR19980071435A/ko not_active Application Discontinuation
- 1998-02-18 CN CNB981052207A patent/CN1138219C/zh not_active Expired - Fee Related
- 1998-02-19 JP JP10037753A patent/JPH10247253A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1981306B (zh) * | 2004-05-03 | 2010-12-08 | 三叉微系统(远东)有限公司 | 用于渲染图形的图形管道 |
US8059133B2 (en) | 2004-05-03 | 2011-11-15 | Trident Microsystems (Far East) Ltd. | Graphics pipeline for rendering graphics |
CN101290684B (zh) * | 2007-04-19 | 2012-07-18 | 深圳迈瑞生物医疗电子股份有限公司 | 三维超声图像的快速体绘制方法与装置 |
CN114113864A (zh) * | 2021-12-09 | 2022-03-01 | 西安交通大学 | 一种频响测量用单点采样优化方法及系统 |
WO2023103828A1 (zh) * | 2021-12-09 | 2023-06-15 | 西安交通大学 | 一种频响测量用单点采样优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US5905500A (en) | 1999-05-18 |
EP0860798A2 (en) | 1998-08-26 |
JPH10247253A (ja) | 1998-09-14 |
KR19980071435A (ko) | 1998-10-26 |
CN1138219C (zh) | 2004-02-11 |
EP0860798A3 (en) | 2000-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1191352A (zh) | 自适应非线性投影绘制方法和装置 | |
US6867772B2 (en) | 3D computer modelling apparatus | |
Duchaineau et al. | ROAMing terrain: Real-time optimally adapting meshes | |
CN105184837B (zh) | 一种矢量多边形栅格化的方法及系统 | |
US7170516B2 (en) | Approximation of Catmull-Clark subdivision surfaces by Bezier patches | |
US6208997B1 (en) | Rapid production of optimal-quality reduced-resolution representations of very large databases | |
CN102272798B (zh) | 曲面细分时间随曲面细分量线性增长的镶嵌器 | |
US7639252B2 (en) | Unified tessellation circuit and method therefor | |
EP0430501A2 (en) | System and method for drawing antialiased polygons | |
KR20180107192A (ko) | 3차원 메쉬들의 직교-투사-기반 텍스처 아틀라스 패킹 | |
US9589375B2 (en) | Tile based rendering of smooth points using polygons | |
US20130016112A1 (en) | Methods and apparatus for multiple texture map storage and filtering including irregular texture maps | |
CN110751620B (zh) | 估算体积和重量的方法、电子设备及计算机可读存储介质 | |
CN112102460A (zh) | 3d打印切片方法、装置、设备和存储介质 | |
US8896598B2 (en) | System and associated methodology for three-dimensional rendering of data containing clipping shapes | |
CN113942230B (zh) | 针对双激光分割的3d打印控制系统及其分割方法 | |
Cheng et al. | A faster algorithm for computing straight skeletons | |
CN1643526A (zh) | 边界数据的内外判定方法及其程序 | |
Svensson et al. | Distance transforms in 3D using four different weights | |
CN115527000A (zh) | 一种用于无人机倾斜摄影模型批量单体化的方法及装置 | |
US11436796B2 (en) | Three-dimensional shape data processing apparatus and non-transitory computer readable medium | |
CN1618084A (zh) | 图像处理装置、图像处理方法、图像处理程序、记录媒体 | |
CN1225717C (zh) | 纹理映射方法 | |
CN117475398B (zh) | 一种基于体素采样的地面分割优化方法、装置 | |
KR20240009856A (ko) | 동적 비닝을 위한 시스템 및 방법 |
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: 20040211 Termination date: 20130218 |