CN1106621C - 绘制三次曲线的方法和设备 - Google Patents
绘制三次曲线的方法和设备 Download PDFInfo
- Publication number
- CN1106621C CN1106621C CN98122411.3A CN98122411A CN1106621C CN 1106621 C CN1106621 C CN 1106621C CN 98122411 A CN98122411 A CN 98122411A CN 1106621 C CN1106621 C CN 1106621C
- Authority
- CN
- China
- Prior art keywords
- group
- control points
- control point
- curve
- control
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000009877 rendering Methods 0.000 title description 2
- 230000000007 visual effect Effects 0.000 claims description 9
- 230000008774 maternal effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 4
- 230000003044 adaptive effect Effects 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000407 epitaxy Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
用于绘制三次曲线的方法和设备被揭示。通过利用两个独立的运算单元在一个判优程序的帮助下并行地处理三次贝齐尔曲线的四个控制点,三次贝齐尔曲线被快速地分解为小段分段,以在监视器显示该三次曲线或输出给打印机。从输入器件得到一组三次贝齐尔曲线的控制点数据并且用作垂直划分单元和水平外延单元的初始输入数据并行地产生四组控制点。判优程序根据此四组控制点作出两个决定。第一、是否有哪些组控制点满足绘制曲线的条件,哪些组被传送给段产生器以产生绘制曲线的点,第二,决定哪一组控制点是用作并行水平外延运算的下一个反馈输入数据。最后,判优程序还控制绘制过程的结束。本方法和设备适用于以高的绘制曲线速率和效率按照贝齐尔曲线的几何性质的平行的处理过程。
Description
本发明涉及绘制三次曲线的方法和设备,更具体地,涉及用于绘制三次贝齐尔(Bezier)曲线的方法和设备,此类曲线由两个独立的工作单元快速地分解成许许多多的小段,此二工作单元在判优器的协助下平行地处理三次贝齐尔曲线的四个控制点的输入数据,分段在显示器上显示或输出给打印机。
在计算机辅助设计或者在为显示具有轮廓字形的字符的计算机图解领域,绘制三次曲线常常是必需的;关于三次曲线的贝齐尔曲线的近似逼近是最广泛地使用的方法之一。
在计算机系统中产生贝齐尔曲线有两种基本的方法:第一种是自适应细分法(Adaptive Subdivision)及第二种是向前差分法(ForWard Difference)。
正如在“分段多项式曲面的计算机生成和显示的理论进展”一文中所演示的(IEEE Trans.on pattern Analysis and MachineIntelligence,Jan 1980.)贝齐尔曲线的自适应细分原理如下式所示: 我们能够指出
(I)Bn[P;u]=Bn[P0 0,P1 1,...,Pn n;2u]
(II)Bn[P;u]=Bn[Pn n,Pn n-1,...,Pn 0;2u-1]
参看图2,有四个初始的控制点P00,P01,P02,和P03,根据它们,导出三个对应的中间点P11,P12,和P13。接着根据上述的三个点得出二个中间点P22和P23。最后,点P22和P23的中间点P33是在上面方程中的参数U等于0.5的点。从控制点P00,P11,P22,和P33的组以及控制点P33,P23,P13和P03的组,能够分别产生原始曲线的第一和第二半段。如果参数U的间隔从0.0变化到1.0,则第一个半段是相关于参数U从0.0到0.5而第二半段则与参数U从0.5到1.0相关。
如果两个新的控制点组继续被分,能够得到许多具有相等间距的新的控制点。按照贝齐尔曲线的绝对收敛性质,随着分段变得非常小时,新的控制点能够进一步地逼近原始曲线。
用图3所示的二进制树能最好地说明二进制近似算法。由四个控制点组成的控制点基本组C可以产生两个控制点子组LC和RC,它们进一步可以产生作为二进制树的最终输出的LLC,RLC,LRC,和RRC。因此,上述的自适应细分法非常接近传统的二进制树中的深度优先截线法(Method of Depth-First Transversal):右边子组的控制点被存储在堆栈存储器中而左边子组的控制点被用作在本次划分过程结束时下一次划分的源数据。如果待划分的控制点子集满足收敛的要求,也即该子集的四个控制点在相同的直线内,此子集被用于绘制曲线并且停止被进一步划分,并且先前推入堆栈的右边的子集被用作下一个划分过程的源数据。重复上面所述的过程直到无可用的数据。
自适应细分法有四个优点。第一,输入和输出数据在格式上是一致的,即源数据和输出数据两者都是控制点。假如存在着多重的贝齐尔产生器,则通过适当的串行连接能够并行地完成所期望的曲线。第二,只需要使用加法器和移位器的简单运算并且易于通过硬件电路和微型编程来完成,第三,根据收敛条件来确定划分到那一级是必需的,好的输出能够从任何具有精密变分的曲线来得到。第四,如果曲线横过可观察窗口,顶部-底部的划分过程能够筛去那些不必要的超出可视窗口的运算。
但是,自适应细分法有一些缺点,首先,必须有一组快速堆栈存储器用来暂时地存储控制点和推出所存数据。其次,在二进制树中的每个节点在该二进制树被用来完成跟踪运算时都必须被处理。但是,只有最后的节点是需要的而那些中间节点的运算是不必要的。
关于向前差分,使用了差分的原理。定义向前差分为Δf(t)=f(t+δ)-f(t),此处δ>0。当fn=f(tn)且tn=n·δ时,fn+1=fn+Δfn。此外,Δfn+1=Δfn+Δ2fn,Δ2fn+1=Δ2fn+Δ3fn。假定一个多项式f(t)=a+bt+ct2+dt3,
Δf(t)=3dt2δ+t(3dδ2+2cδ)+dδ3+cδ2+bδ。
Δ2f(t)=Δ(Δf(t))=6dδ2t+6dδ3+2cδ2。
Δ3f(t)=Δ(Δ2f(t))=6dδ3。
我们能够计算初始条件:f0=a,
Δf0=dδ3+cδ2+bδ,Δ2f0=6dδ3+2cδ2,Δ3f0=6dδ3。相继的数据能如下导出:fi+1=fi+Δfi,Δfi+1=Δfi+Δ2fi,Δ2fi+1=Δ2fI+Δ3fo。
向前差分法有两个优点,第一,通过使用三个加法器,为快速地产生所希望的用于绘制曲线的点,只需要一个步骤。第二,不仅贝齐尔曲线而且任何类型的三次曲线也能被绘制。
向前差分法仍然有三个缺点,第一,必须将具有几何参量的贝齐尔曲线通过一个浮点乘法运算的预处理转换成一个三次多项式。第二,差分的值必须被确定且是非常难确定的,特别是在那些曲率变化很大以致于很难获得好的输出数据的地方,这是最最严重的缺点。第三,虽然出现的部份计算超出了可视窗口,但这对于完成该计算仍是必需的,因为计算必须逐点地完成。
为了解决上述的缺点,一篇题为“用于绘制曲线和曲面的自适应向前差分”的文章(Compufer Graphics,July 1987)提出一种改进的自适应向前差分方法(AFD)。首先,将控制点取作参数的贝齐尔曲线根据AFD转换为如下的多项式:
f(t)=a0A0(t)+a1A1(t)+a2A2(t)+a3A3(t)
其中ak(t)=((t-k+1)/k)*Ak-1(t)且A0(t)=1
这即是,当t=0时AFD的算法包括:
A0(t)=1,A1(t)=t,A2(t)=(1/2)(t)(t-1)和 当t=t+1时,AFD的算法包括:
A0(t+1)=1=A0(t),A1(t+1)=A0(t)+A1(t),A2(t+1)=A1(t)+A2(t)以及A3(t+1)=A2(t)+A3(t)
新的算法被代入多项式,得到:
f(t+1)=(a0+a1)A0(t)+(a1+a2)A1(t)+(a2+a3)A2(t)+a3A3(t),此式表明了与老的算法的关系。
因此,E、L、R、和P代表AFD算法矩阵A的运算矩阵,分别对应于f(t+1),f(f/2),f(t/2+1),和f(2t)。此处
A=[A0(t),A1(t),A2(t),A3(t)]
理论上,自适应向前差分法具有在向前差分时快速运算的优点并且能在每一步中适应划分级。作为例子参考图4,自适应向前差分不仅有像自适应细分法中那样的L和R运算,或者像向前差分法中那样的唯一的E运算,并且有L,R,E和P四种运算。
但是,确定划分级的方法是可争论的,因为它没有严格到足以根据当前的和早先的点之间的距离来确定收敛。参考图5,第一点P0和最末点P3之间的距离是零但曲线是不收敛的。因此,如果收敛条件是宽松的则绘制曲线的速度快,而如果该条件是严格的则速度将变慢且它将变成一道难关。
总起来讲,在现有技术中的自适应细分法和自适应向前差分法有如下的缺点:
(1)自适应细分需要堆栈存储器件,因而系统的运算效率由于在堆栈访问中太多的处理而大大降低,并且划分的效能也不佳。
(2)自适应向前差分需要将贝齐尔曲线的参数公式转换成AFD算法公式,这要花费很多时间去完成浮点运算。
(3)自适应向前差分的输出是格式化的点而不是一组控制点因而贝齐尔曲线的许多特性没有被利用。例如贝齐尔曲线的凸包性质被用来确定曲线是否超出视窗并迅速跳过不必要的计算。进一步讲,曲线的切线能用控制点确定。在计算光源和目标物之间的角度时,这是关于画影线处理的最希望的信息。
本发明的目的是提供一种在计算机系统中绘制三次曲线的方法,以克服上述的问题。计算机系统包括存储器件,显示器件,以及诸如键盘或鼠标之类的输入器件。方法包括:
步骤1(输入):由用户输入包含贝齐尔曲线中四个控制点的控制点组;
步骤2(垂直划分):该控制点组被分成两组控制点组,包括左和右控制点子组;
步骤3(水平外延):从四个控制点以适当的算法推导出该控制点组的相邻和母系组;
步骤4(输出):如果控制点的组满足直线收敛条件,第一点和最末点被用作在监视器显示的或输出给打印机的终端的点;
步骤5(路径选择):原则上,相邻的组被用作下一个过程的源数据;如果控制点组是收敛的,母系组则被选择为下一过程的源数据;如果子系组之一是收敛的,该子系组被选择为下一过程的源数据;以及
步骤6(终点):检验所期望的三次曲线是否被完成,如没有完成则返回到步骤2。
本发明的另一个目的是提供一个在包含有存储器件,显示器件,以及诸如键盘或鼠标的输入器件的计算机系统中绘制三次曲线的设备,包括:
一个可视窗口坐标寄存器,它用来存储可视窗口的左上和右下位置的坐标,作为决定曲线是否为可视的参考;
一个输入控制点寄存器,存储输入控制点;
一个输出控制点寄存器,存储输出控制点;
一个LR运算器,其籍助于简单的加法和移位运算,并行地分三个运算层产生左和右的控制点的子系组;
一个EP运算器,籍助于简单的加法和移位处理并行地分三个运算层产生控制点的相邻组和母系组;
一个路径选择器,其包括一个收敛分析器,一个可视性测定器件和一个终端计数器,根据从LR和EP运算器导出的控制点决定反馈输入和输出;以及
一个段产生器,按照显示器件的驱动程序以贝齐尔曲线的第一和最末控制点作为端点产生所期望线的点数据。
用户可以将贝齐尔曲线的控制点数据输入进输入控制点寄存器和可视窗坐标寄存器并且触发本发明中的设备的其余部件。从任何一组控制点出发通过LR和EP运算器能够获得右、左、相邻、和母系控制点。路径选择器检验该四类点的收敛性和与可视窗口的关系决定下一次操作有关的反馈输入。在最佳条件下,母系控制点是不收敛的,而左和右控制点是收敛的。则左和右控制点被直接传送给输出控制点寄存器。在输出控制点寄存器接收到有效的控制点后,这些数据被传输给段产生器,段产生器将借助于一个传统的数字微分分析器(DDA)分别以第一点和最末点作为起始和终止点产生所期望段的点数据。如果堆栈是空的,传统的自适应细分法将停止绘制操作。但是本发明需要设计一组终端计数器以使得在计数器中的值相对于路径选择器是自适应的,并且当计数器中的值小于零时绘制操作将停止。
本发明的其它特点和优点在下面的参考附图的说明之后将会变得明明白白。
图1表示本发明中的一个优选实施例的系统方块图。
图2显示说明贝齐尔曲线的划分原则的示意图
图3显示说明重复划分的LR运算的二进制树结构。
图4显示利用二制制树结构的自适应向前差分的L、R、E和P运算。
图5表示贝齐尔曲线的特殊情况。
图6表示本发明中的优选实施例的LR运算器的内部结构。
图7表示本发明中的优选实施例的EP运算器的内部结构。
图8显示本发明中的优选实施例的路径选择器的流程图。
图9图示本发明中的优选实施例的路径选择器的一个模拟分析。
图10图示本发明中的优选实施例的控制点的收敛性的确定过程。
图11表示在本发明中的优选实施例的可视窗中的获取过程。
参考图1,系统方块图包括作为输入器件的键盘10和鼠标12,用于用户输入曲线的控制点数据,以及存储来自输入器件的坐标数据的存储器件15。还有CPU13(中央处理单元)被用于将可视窗的坐标数据和存储在存储器件中的控制点的坐标数据传送给数据总线30。可视窗坐标寄存器55和输入控制点寄存器50分别接收上述的坐标数据和控制点数据。一旦控制点数据进入输入控制点寄存器50,贝齐尔曲线的产生过程即被触发。LR运算器80将输入控制点数据组以图6所示的并行方式转变成左和右子系组控制点,图6表示其内部结构。EP运算器85被用于将输入控制点并行地转变成相邻和母系组,就像表示内部结构的图7所示那样。路径选择器90被用于分析来自LR和EP运算器的控制点数据,以便确定是否生成输出数据,如何反馈,以及最后的终点,就像表示控制过程的流程图的图8所示那样。多路转换器70控制两个运算器的输入源使得LP和EP运算器将只接收来自输入控制点寄存器50的第一个输入数据除外的路径选择器的反馈数据。输出控制点寄存器60存储曲线的输出数据。段产生器40进一步处理输出数据并以直线的方式模拟贝齐尔曲线,输出数据被划分并且收敛于一条线。显示驱动器20和显示器件25被用来显示与段产生器40相一致的最终结果。
路径选择器的流程图显示在图8中。终端计数器在步骤S801中被复位为零。步骤S802根据存储在输入控制点寄存器中的数据得到用于运算的第一组输入数据。在步骤S805中,输入C被传送给LR和EP运算器以获得L、R、E、和P四个组,它们是下一步反馈输入数据的待选择的控制点,其优先顺序为P、L、R和E。在此时刻,步骤S806检验输入C是否完全地超出可视窗;如果是,步骤S807检验终止条件(在终端计数器中的值为零)如果它被满足,则过程中的所有运算将停止。如果输入C完全超出视窗但是终止条件不被满足,存在着两种保持完整的二进制树结构的结果。假定控制点的母系组已经被用作正在处理中的控制点。首先,如果当前控制点组是母系组的左子组并且母系组的组P也超出视窗,当前控制点数据C在步骤S810中被母系组的组P所代替。并且接着在步骤S811中终端计数器中的值被除以2,第二,如果步骤S809得出当前控制点组是控制点的母系组的右子组或者组P不完全超出视窗、则在步骤S813中控制点的相邻组E取代C并在步骤S814中将终端计数器中的值减1。然后经由步骤S812返回至步骤S803着手下一运算。
如果至少控制点组C的部分是在可视窗内,步骤S815检验组C是否收敛以及是否为母系组的左子组;如果是,运算移向母系组。步骤S818和S819表示此向前过程。如果组C是最末的,步骤S820输出组C并且终止正在进行中的所有运算。
在步骤S850之后,步骤S851被用于检验L和R且存在着三种情况。第一种,如果L和R是收敛的,则在步骤S859中控制点的相邻组E将代替当前的控制点的组C且在步骤S860中终端计数器中的值将被减1;步骤S861并行地输出组L和组R。当第二种情况,如果组L是收敛的而组R不是,则在步骤S853中控制点组R将代替当前组C;步骤S854输出组L且步骤S855将计数器的值乘以2。第三种情况,如果组L不收敛,组L在步骤857中代替当前组C并且步骤S858将计数器的值乘2后加1。
图9用于说明路径选择的模拟程序其中绘制曲线的每个过程与二进制树结构相对应。在图9中,运算器LR划分运算的秩序是节点900,节点910和节点920。系统将输出921和922的数据并且走向节点930因为相对于由节点920导出的节点921和922的控制点是收敛的。系统将输出931和932的数据并走向节点940,因为相对于由节点930导出的节点931和节点932的控制点是收敛的。但是关于节点940的控制点是收敛的于是系统将进一步走向节点950。从节点950的观点出发,关于节点940的控制点是收敛的且系统输出关于节点940的数据,但是节点960是不收敛的因此系统将进一步走向节点960。因此节点961和962是收敛的,系统将筛去节点961和962的控制点数据。
上述的流程图和模拟结果的说明有四点将被详细描述:
第一,关于运算器LR和EP的内部结构和运算;第二,如何确定控制点的收敛性;第三如何确定曲线是否在可视窗内;第四,本发明中的设备用于绘制三次曲线的效率。
1.运算器LR和EP的内部结构和运算:LR运算器采用如图6所示的传统的自适应细分法的设计。每个小园代表一个产生(A+B)/2的运算单元,此处A和B是两个输入数据,三次运算以后,初始的控制点(P00,P01,P02和P03)被分成左子系组(P00,P11,P22和P33)及右子系组(P03,P13,P23和P33)。
EP运算器是本发明中所提供的,如图7所示,它类似于LR运算器。每个小园代表产生2B-A的运算单元,这里A和B是两个输入数据。三次运算以后,初始的控制点(P00,P01,P02和P03)被分成为母系组(P00,P11,P22和P33)和相邻组(P03,P13,P23和P33)。
正如大家熟知的,LR运算器对于贝齐尔曲线的划分过程如下所示:
假定
则
(I)Bn[P;u]=Bn[P0 0,P1 1,...,Pn n;2u]
(II)Bn[P;u]=Bn[Pn n,Pn n-1,...,Pn 0;2u-1]
式中,Pi k=(Pi-1 k-1+Pi k-1)/2,k=1,2,..,n
Pi,k=0
本发明提供如下的关于EP操作器的算法(它能用归纳法来证明):
假定
则
(I)Bn[P;u]=Bn[P0 0,P1 1,...,Pn n;u/2]
(II)Bn[P;u]=Bn[Pn 0,Pn 1,...,Pn n;u-1]
本发明不仅能产生三次曲线而且还有二次曲线或者更高次的曲线。而且,为了更清楚地说明本发明,图6和图7均用了6个运算器。如果希望用硬件电路完成运算,通过增加适当的反馈电路,运算器的数目可以降为3个。
2.如何确定控制点的收敛性:
如图10所示,为确定由组C(P100,P200,P300和P400)所定义的贝齐尔曲线是收敛于一条线,一般的方法是从P200和P300分别作两条垂直于P100和P400之间线段的线。如果这两条线段的长度小于阈值,则控制点被认为是收敛的。
为了节省计算时间或者为了便于完成硬件电路,如下的更简单的方法常常被使用:只有两个矢量V250(V200减V100)和V350(V300减V200)被计算并且如果这两个矢量的X或Y分量小于阈值,控制点被认为是收敛的。
3.如果确定曲线是在可视窗之内:本发明优于向前差分法的优点是极容易确定当前控制点超出可视窗和以动态的方法适应划分级。
在图11中,由控制点(P00,P01,P02和P03)所限定的贝齐尔曲线完全超出由(B300和B400)所限定的可视窗。如果得到四个控制点的最大坐标值这就容易确定曲线超出可视窗。
4.本发明中的设备用来绘制三次曲线的效率:超过自适应细分的传统方法的优点是:第一,不再更多需要存储堆栈,节省了访问时间;第二,二进制树中两个终端结点必需被处理而不是自适应细分法中的所有结点。对于一个完整的二进制树,如果终端结点为N,则总共有2N-1的结点。
这里有三个优点超过自适应向前差分法。第一,自适应向前差分法需要诸如乘法和除法浮点运算,把基于控制点的贝齐尔曲线变换到AFD算法。第二,自适应向前差分不能跳过曲线在可视窗外的情况时的那些不必要的计算。第三,本发明只需要在英特8086处理器中的12个加和减过程(36个钟周期)和12个移位过程(42个钟周期)去完成L,R,E,和P操作而自适应向前差分则需要14个加和减过程(42个钟周期)和41个移位过程(82个钟周期)。
本发明有三个主要的优点:
(1)在本发明中不需要存储堆栈器件并且通过硬件和微编程降低成本
(2)控制点被直接用作输入数据,不需要用于预处理过程的浮点运算。四个运算L,R,E和P的平均效率优于自适应向前差分。
(3)本发明中的中间数据是控制点且能利用贝齐尔曲线的性质,比如确定被检测曲线超出了可视窗,动态地适应划分和外延级,筛出不必要的计算。
虽然在上面的说明中只显示和描述了本发明的优选实施例,要求来自本发明领域中的任何修改或组合受到保护。
Claims (2)
1.一种绘制三次曲线的方法,所述方法包括:
a.利用一个LR运算器从包含在所述三次曲线的贝齐尔曲线中的四个控制点的一个控制点组产生一个左子系组和一个右子系组,所述左和右子系组各具有四个控制点;
b.利用一个EP运算器从所述控制点组推导出一个相邻组和一个母系组,所述相邻组和母系组各具有四个控制点;
c.如果所述控制点组的四个控制点满足一个预定的直线的收敛条件,采用所述控制点组的第一和最末控制点显示或输出一个线段;
d.如果所述贝齐尔曲线是完整的,终止所述贝齐尔曲线的绘制;并且
e.如果所述贝齐尔曲线不是完整的,则返回至步骤a,以采用所述母系组、所述相邻组、所述右子系组、或所述左子系组来替代所述控制点组以继续下一个循环,
其中,如果所述左和右子系组两者均不满足所述预定的直线的收敛条件,则所述相邻组被用作所述下一循环的控制点组;如果所述控制点组是收敛的,则所述母系组被用作所述下一循环的控制点组;如果左子系组的四个控制点满足所述预定的直线的收敛条件并且右子系组的四个控制点不满足所述预定的直线的收敛条件,则所述右子系组被用作所述下一循环的控制点组;并且如果左子系组的四个控制点不满足所述预定的直线的收敛条件并且右子系组的四个控制点满足所述预定的直线的收敛条件,则所述左子系组被用作所述下一循环的控制点组。
2.一种用于绘制三次曲线的设备,所述设备包括:
一个用于存储可视窗的左上和右下位置坐标的可视窗坐标寄存器,所述左上和右下位置坐标被用来作为确定曲线是否可视的参考;
一个可操作地用于存储输入控制点的输入控制点寄存器;
一个可操作地用于存储输出控制点的输出控制点寄存器;
一个LR运算器,可操作地利用加法从所述输入控制点产生左和右子系组;
一个EP运算器,可操作地利用加法和移位从所述输入控制点产生相邻和母系组;
一个路径选择器,包括一个收敛性分析器、一个可视性测定器件、和一个终端计数器,所述路径选择器可操作地从由所述LR和EP运算器所产生的所述左和右子系组和所述相邻和母系组中确定反馈的输入和输出;以及
一个段产生器,可操作地采用贝齐尔曲线的第一和最末的控制点按照所述显示器的驱动程序产生在所期望的线中的点数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10151104A JPH11345344A (ja) | 1998-06-01 | 1998-06-01 | 3次曲線を与える方法及び装置 |
JP151104/1998 | 1998-06-01 | ||
JP151104/98 | 1998-06-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1237739A CN1237739A (zh) | 1999-12-08 |
CN1106621C true CN1106621C (zh) | 2003-04-23 |
Family
ID=15511443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98122411.3A Expired - Fee Related CN1106621C (zh) | 1998-06-01 | 1998-11-18 | 绘制三次曲线的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6295072B1 (zh) |
JP (1) | JPH11345344A (zh) |
CN (1) | CN1106621C (zh) |
MY (1) | MY116776A (zh) |
SG (1) | SG71156A1 (zh) |
TW (1) | TW376489B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19901934C2 (de) * | 1999-01-19 | 2001-07-19 | Heidelberger Druckmasch Ag | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind |
US20050156930A1 (en) * | 2004-01-20 | 2005-07-21 | Matsushita Electric Industrial Co., Ltd. | Rendering device and rendering method |
US8068103B2 (en) * | 2004-06-24 | 2011-11-29 | Apple Inc. | User-interface design |
US7116327B2 (en) * | 2004-08-31 | 2006-10-03 | A{grave over (g)}fa Corporation | Methods for generating control points for cubic bezier curves |
US20070239696A1 (en) * | 2006-03-28 | 2007-10-11 | Microsoft Corporation | Interactive relational graphic solutions |
US7930902B2 (en) * | 2006-06-26 | 2011-04-26 | Emhart Glass S.A. | Mechanism for conveying an article |
US7952580B1 (en) | 2007-08-31 | 2011-05-31 | Adobe Systems Incorporated | Classification of exterior and interior triangles for artwork rendering |
US8068106B1 (en) | 2007-08-31 | 2011-11-29 | Adobe Systems Incorporated | Rendering cubic Bézier curves as quadratic curves using a GPU |
US7928984B1 (en) | 2007-08-31 | 2011-04-19 | Adobe Systems Incorporated | Efficient data packaging for rendering bézier curves on a GPU |
US8044955B1 (en) | 2007-08-31 | 2011-10-25 | Adobe Systems Incorporated | Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering |
US7868887B1 (en) | 2007-10-18 | 2011-01-11 | Adobe Systems Incorporated | Rendering rational quadratic Bézier curves on a GPU |
CN101796546B (zh) * | 2007-10-30 | 2012-12-12 | 国立大学法人横滨国立大学 | 插补处理方法以及插补处理装置 |
US8248419B2 (en) * | 2009-04-21 | 2012-08-21 | Sony Corporation Entertainment Inc. | Generation of cubic Bezier control points in computer graphics systems |
US20110285736A1 (en) | 2010-05-21 | 2011-11-24 | Kilgard Mark J | Decomposing cubic bèzier segments for tessellation-free stencil filling |
JPWO2012140910A1 (ja) * | 2011-04-15 | 2014-07-28 | パナソニック株式会社 | 曲線描画装置、曲線描画方法、曲線描画プログラム及び集積回路 |
US20130018636A1 (en) * | 2011-07-14 | 2013-01-17 | Microsoft Corporation | Quadratic approximate offset curves for quadratic curve segments |
CN102999930B (zh) * | 2011-09-15 | 2015-11-25 | 汉王科技股份有限公司 | 一种电子笔迹线条描绘方法及装置 |
CN103390283B (zh) * | 2012-05-09 | 2017-10-31 | 腾讯科技(深圳)有限公司 | 绘制平行曲线的方法和设备 |
KR101980200B1 (ko) | 2012-07-12 | 2019-05-20 | 삼성전자주식회사 | 베이지어 커브에 대한 타일 비닝을 수행하는 그래픽 처리 장치 및 방법 |
CN102903134B (zh) * | 2012-09-13 | 2016-05-04 | 烽火通信科技股份有限公司 | 快速绘制多次曲线的方法 |
US9965446B1 (en) * | 2013-07-19 | 2018-05-08 | Amazon Technologies, Inc. | Formatting a content item having a scalable object |
US10347016B2 (en) * | 2016-01-12 | 2019-07-09 | Monotype Imaging Inc. | Converting font contour curves |
US10936792B2 (en) | 2017-12-21 | 2021-03-02 | Monotype Imaging Inc. | Harmonizing font contours |
CN110347357B (zh) * | 2019-07-15 | 2020-12-04 | 北大方正集团有限公司 | 打印处理方法和装置 |
CN113379873B (zh) * | 2021-08-11 | 2021-11-09 | 北京赛目科技有限公司 | 一种道路曲线确定方法、装置、电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8300872A (nl) * | 1983-03-10 | 1984-10-01 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het tot een gekleurde afbeelding verwerken van in een hierarchische datastruktuur gedefinieerde objekt-elementen. |
JPH0458378A (ja) | 1990-06-28 | 1992-02-25 | Mitsubishi Heavy Ind Ltd | ベジエ曲線を分割して展開する方法 |
JP3327622B2 (ja) | 1992-04-29 | 2002-09-24 | キヤノン株式会社 | ベジェスプラインから2次多項式フラグメントへの変換 |
US5363479A (en) | 1992-07-02 | 1994-11-08 | Microsoft Corporation | System and method for rendering bezier splines |
JP3287685B2 (ja) | 1994-02-02 | 2002-06-04 | キヤノン株式会社 | データ変換装置及び方法 |
US5638503A (en) | 1994-07-07 | 1997-06-10 | Adobe Systems, Inc. | Method and apparatus for generating bitmaps from outlines containing bezier curves |
US5995109A (en) * | 1997-04-08 | 1999-11-30 | Lsi Logic Corporation | Method for rendering high order rational surface patches |
-
1998
- 1998-06-01 JP JP10151104A patent/JPH11345344A/ja active Pending
- 1998-09-21 US US09/157,422 patent/US6295072B1/en not_active Expired - Fee Related
- 1998-09-22 SG SG1998003804A patent/SG71156A1/en unknown
- 1998-09-23 TW TW087115833A patent/TW376489B/zh active
- 1998-09-25 MY MYPI98004425A patent/MY116776A/en unknown
- 1998-11-18 CN CN98122411.3A patent/CN1106621C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
SG71156A1 (en) | 2000-03-21 |
TW376489B (en) | 1999-12-11 |
CN1237739A (zh) | 1999-12-08 |
MY116776A (en) | 2004-03-31 |
US6295072B1 (en) | 2001-09-25 |
JPH11345344A (ja) | 1999-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1106621C (zh) | 绘制三次曲线的方法和设备 | |
Valueva et al. | Application of the residue number system to reduce hardware costs of the convolutional neural network implementation | |
JP3318914B2 (ja) | ベツィエスプラインをレンダリングするためのシステムおよび方法 | |
Zuiderveld et al. | Acceleration of ray-casting using 3-D distance transforms | |
KR100278565B1 (ko) | 그래픽 데이터 계산 수행 방법 및 그에 이용되는 데이터 프로세서 | |
JP2501580B2 (ja) | 曲線イメ−ジの可視表示発生装置 | |
Han et al. | Flow field reduction via reconstructing vector data from 3-D streamlines using deep learning | |
KR20050121263A (ko) | 화소용 커버리지 마스크 결정 | |
EP2887305B1 (en) | Resizing an image | |
JP2021516382A (ja) | 機械学習のための画像変換 | |
CN1085866C (zh) | 能改变字符大小的字符串输出方法与装置 | |
JPH03127282A (ja) | ディジタル・イメージのランド変換装置および方法 | |
CN114995782A (zh) | 数据处理方法、装置、设备和可读存储介质 | |
CN115423688A (zh) | 量子线路图及基于双线性插值的量子彩色图像缩放方法 | |
JPH01124077A (ja) | 画素生成方法及びシステム | |
CN106683041A (zh) | 一种基于neqr表达式的量子图像错切方法 | |
JP2670875B2 (ja) | 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法 | |
KR20190023846A (ko) | 콘텐츠 기반 이미지 리사이징 방법 및 장치 | |
CN1115639C (zh) | 数据转换装置和方法 | |
JP3066596B2 (ja) | アドレス変換装置 | |
Chen | Multiple Segment Line Scan‐conversion | |
CN1258883C (zh) | 将一个数的二进制表示变换成一个带符号的二进制表示的方法 | |
KR900002631B1 (ko) | 화상데이터의 처리방법 및 장치 | |
US7151862B2 (en) | Image processing apparatus and method, storage medium, and program | |
US9218647B2 (en) | Image processing apparatus, image processing method, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |