CN117911575A - 折线计算优化方法、装置、计算机设备及存储介质 - Google Patents
折线计算优化方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117911575A CN117911575A CN202410318443.9A CN202410318443A CN117911575A CN 117911575 A CN117911575 A CN 117911575A CN 202410318443 A CN202410318443 A CN 202410318443A CN 117911575 A CN117911575 A CN 117911575A
- Authority
- CN
- China
- Prior art keywords
- point
- coordinate set
- dimensional graph
- preset
- polyline
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000005457 optimization Methods 0.000 title claims abstract description 37
- 238000004364 calculation method Methods 0.000 title claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims description 154
- 239000013598 vector Substances 0.000 claims description 149
- 230000009466 transformation Effects 0.000 claims description 69
- 238000013519 translation Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种折线计算优化方法、装置、计算机设备及存储介质,方法包括:创建二维图形,其中,二维图形由至少三个顶点构成的封闭图形;基于二维图形,确定二维图形对应的三维图形的顶点坐标集合;获取预设折线,其中,预设折线由至少两个点相互连接构成;基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。本申请可避免产生大量额外顶点,降低性能消耗,提升折线计算效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种折线计算优化方法、装置、计算机设备及存储介质。
背景技术
随着科学技术的发展,现推出各种软件,以满足用户的工作需求,提升用户体验度。
目前,用户主要使用Three.js进行Web端的3D开发,通过Three.js内置的3D折线绘制折线或曲线。
但是,采用上述方法绘制折线或曲线会产生大量额外顶点,导致性能消耗大。
发明内容
本申请的主要目的在于提供一种折线计算优化方法、装置、计算机设备及存储介质,可避免产生大量额外顶点,降低性能消耗,提升折线计算效率。
为了实现上述目的,第一方面,本申请提供了一种折线计算优化方法,包括:
创建二维图形,其中,二维图形由至少三个顶点构成的封闭图形;
基于二维图形,确定二维图形对应的三维图形的顶点坐标集合;
获取预设折线,其中,预设折线由至少两个点相互连接构成;
基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。
在一实施例方式中,基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,包括:
获取预设折线上的第一个点和下一个点的坐标;
基于预设折线上的第一个点和下一个点的坐标,以及三维图形的顶点坐标集合,计算第一个点对应的坐标集合;
计算所有点中除第一个点之外的每个点的坐标集合;
将第一个点对应的坐标集合和所有点中除第一个点之外的每个点的坐标集合进行汇总,得到预设折线上的所有点中的每个点对应的坐标集合。
在一实施例方式中,基于预设折线上的第一个点和下一个点的坐标,以及三维图形的顶点坐标集合,计算第一个点对应的坐标集合,包括:
基于预设折线上的第一个点和下一个点的坐标,计算预设折线上的第一条线段的方向向量;
基于第一条线段的方向向量和法向向量,确定方向向量和法向向量间的旋转轴和夹角,其中,法向向量垂直于三维图形的顶点坐标集合所在的平面;
基于方向向量和法向向量间的旋转轴和夹角,确定第一旋转矩阵;
基于预设折线中的第一个点,构造第一平移变换矩阵;
基于第一旋转矩阵、第一平移变换矩阵和三维图形的顶点坐标集合,确定第一个点对应的坐标集合。
在一实施例方式中,计算所有点中除第一个点之外的每个点的坐标集合,包括:
判断下一个点是否为最后一个点;
若是,按照预设函数计算下一个点对应的坐标集合;
若不是,基于拉伸变换矩阵计算下一个点对应的坐标集合;
继续执行判断下一个点是否为最后一个点的步骤,直至下一个点为最后一个点。
在一实施例方式中,基于拉伸变换矩阵计算下一个点对应的坐标集合,包括:
获取第二平移变换矩阵、第二旋转矩阵和第一拉伸变换矩阵,其中,第二平移变换矩阵基于预设折线上的第二个点确定,第二旋转矩阵基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角确定,第一拉伸变换矩阵基于单位向量、第一旋转矩阵以及二维坐标系中的纵轴确定;
基于第二平移变换矩阵、第二旋转矩阵、第一拉伸变换矩阵、第一旋转矩阵和第一个点对应的坐标集合,计算下一个点对应的坐标集合。
在一实施例方式中,获取第二旋转矩阵,包括:
基于下一个点和下一个点的下一个点的坐标,计算预设折线上的第二条线段的方向向量;
基于第一条线段的方向向量和第二条线段的方向向量,确定第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角;
基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角,确定第二旋转矩阵,第二旋转矩阵对应的旋转角度小于第一条线段的方向向量和第二条线段的方向向量间的夹角。
在一实施例方式中,获取第二平移变换矩阵,包括:
基于预设折线中的第二个点,构造第二平移变换矩阵。
在一实施例方式中,获取第一拉伸变换矩阵,包括:
基于单位向量和第一旋转矩阵的逆矩阵,确定目标方向向量;
确定将二维坐标系中的纵轴旋转到目标方向向量的第三旋转矩阵;
基于第三旋转矩阵、第三旋转矩阵的逆矩阵和拉伸倍数对应的矩阵,确定第一拉伸变换矩阵,拉伸倍数用于表征第一个点对应的坐标集合绕旋转轴旋转的角度。
在一实施例方式中,基于二维图形,确定二维图形对应的三维图形的顶点坐标集合,包括:
将二维图形扩展至世界坐标系,得到三维图形;
将三维图形的所有顶点的坐标进行汇总,得到三维图形的顶点坐标集合。
第二方面,本申请实施例提供了一种折线计算优化装置,包括:
创建模块,用于创建二维图形,其中,二维图形由至少三个顶点构成的封闭图形;
第一集合确定模块,用于基于二维图形,确定二维图形对应的三维图形的顶点坐标集合;
获取模块,用于获取预设折线,其中,预设折线由至少两个点相互连接构成;
目标集合确定模块,用于基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。
第三方面,本申请实施例提供了一种设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上任一方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上任一方法的步骤。
本申请实施例提供了一种折线计算优化方法、装置、计算机设备及存储介质,包括:先创建二维图形,其中,二维图形由至少三个顶点构成的封闭图形,然后基于二维图形,确定二维图形对应的三维图形的顶点坐标集合,再获取预设折线,其中,预设折线由至少两个点相互连接构成,最后基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。本申请可避免产生大量额外顶点,降低性能消耗,提升折线计算效率。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例提供的一种折线计算优化方法的流程示意图;
图2是本申请实施例提供的一种二维图形的示意图;
图3是本申请实施例提供的一种三维图形的示意图;
图4是本申请实施例提供的一种预设折线的示意图;
图5是本申请实施例提供的一种预设折线的方向向量的示意图;
图6是本申请实施例提供的一种图形延旋转轴旋转的正视图;
图7是本申请实施例提供的一种图形延旋转轴旋转的右视图;
图8是本申请实施例提供的另一种图形延旋转轴旋转的正视图;
图9是本申请实施例提供的另一种图形延旋转轴旋转的正视图;
图10是本申请实施例提供的一种折线对比图的示意图;
图11是本申请实施例提供的一种折线计算优化装置的结构示意图;
图12是本申请实施例提供的计算机设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
应当理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,在本申请中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本申请中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
本申请所涉及的数据可以为经测试人员授权或者经过各方充分授权的数据,对数据的采集、传播、使用等,均符合相关国家和地区的相关法律法规和标准的要求,本申请实施方式/实施例可以互相组合。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
接下来,将结合附图通过具体实施例来说明本申请方案。
请参阅图1,图1为本申请实施例提供的一种折线计算优化方法的流程示意图。本申请实施例提供的方法可以由折线计算优化装置执行,该折线计算优化装置可以是任意一种可执行本申请方法实施例所公开的技术方案的电子设备,例如可以是平板电脑、掌上电脑、笔记本电脑等,在此不做限定。可选地,本申请方法实施例还可以通过处理器执行计算机程序代码的方式实现。
如图1所示,上述折线计算优化方法包括以下步骤:
步骤S101:创建二维图形。
其中,二维图形由至少三个顶点构成的封闭图形,如三角形、四边形、五边形等。
在二维坐标系下创建二维图形,该二维图形的几何中心点为x-y坐标轴的坐标原点 (0,0),设此二维图形有t个顶点,则对应的顶点坐标可表示为(x1,y1)、(x2,y2)、(x3,y3)...、(xt,yt),其中,t为大于3的整数,如4、8等。
如图2所示,以二维图形为矩形为例,在二维坐标系下创建矩形,矩形的几何中心坐标为原点 (0,0),矩形的四个顶点坐标分别为 (-2,3) 、 (2,3)、 (2,-3)和(-2,-3)。
步骤S102:基于二维图形,确定二维图形对应的三维图形的顶点坐标集合。
创建二维图形后,需将二维图形扩展至世界坐标系,得到三维图形,然后将三维图形的所有顶点的坐标进行汇总,得到三维图形的顶点坐标集合。
将二维图形扩展至世界坐标系x-y-z中,此处二维图形在世界坐标系x-y-z的x-y平面中,二维图形的几何中心在世界坐标系x-y-z的原点 (0,0,0)。设二维图形有t个顶点,其对应的顶点坐标为(x1,y1)、(x2,y2)、(x3,y3)...、(xt,yt),则二维图形扩展到世界坐标系x-y-z中,得到的三维图形的顶点坐标为(x1,y1,0)、(x2,y2,0)、(x3,y3,0)...、(xt,yt,0)。
如图3所示,将图2所示的矩形扩展至世界坐标系x-y-z中,此处矩形在世界坐标系x-y-z的x-y平面中,矩形的几何中心在世界坐标系x-y-z的原点 (0,0,0),且矩形对应的三维图形的四个顶点坐标分别为 (-2,3,0) 、 (2,3,0)、 (2,-3,0)和(-2,-3,0)。
当将二维图像扩展至世界坐标系后形成的三维图形的所有顶点坐标进行汇总,可得到三维图形的顶点坐标集合S0。
例如,将图3所示的三维图形的四个顶点坐标进行汇总,则获取到的顶点坐标集合S0可表示为{(-2,3,0) 、 (2,3,0)、 (2,-3,0)、(-2,-3,0)}。
步骤S103:获取预设折线。
其中,预设折线由至少两个点相互连接构成。
例如,空间中有 n 个不重叠的点,从第一个点开始依次连接后面的点,即第一个点连接第二个点,第二个点连接第三个点,直至第n-1个点连接第n个点,则从第一个点开始经过n个点所形成的折线可以理解为预设折线。其中,n为大于等于2的整数。
示例性地,本申请中的预设折线可以是基于引线键合(wire bonding)得到的折线。例如,用户可以指定wirebonding的起点和/或终点,也可以选择 bonding类型,基于上述设定,电子设备可以确定wirebonding中间的转折情况,从而得到折线路径,也即上述预设折线。
需要说明的是,本申请实施例中预设折线上的所有点应该理解为预设折线上的端点和转折点,其中,上述端点可以包括预设折线的起点和终点,预设折线相邻的两个折线段的交点可以理解为上述转折点。示例性地,空间中不重叠的4个点(点A、点B、点C以及点D)依次连接为折线H,其中,点A和点D可以理解为上述端点,点B和点C可以理解为上述转折点。
特别的,在两个点相互连接构成预设折线的情况下,预设折线上的所有点应该理解预设折线的端点。
可选地,预设折线上的n个点中的第一个点可以称为起始端点,第一个点与最后一个点之间的所有点可以称为预设折线中的转折点,最后一个点可以称为末端断点。也就是说,预设折线上相邻的两个点构成一个线段,相邻的两个线段的交点为转折点。
步骤S104:基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。
通过上述步骤获取到三维图形的顶点坐标集合和预设折线后,则可基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,需先获取预设折线上的第一个点和下一个点的坐标,然后基于预设折线上的第一个点和下一个点的坐标,以及三维图形的顶点坐标集合,计算第一个点对应的坐标集合,再计算所有点中除第一个点之外的每个点的坐标集合,进而将第一个点对应的坐标集合和所有点中除第一个点之外的每个点的坐标集合进行汇总,得到预设折线上的所有点中的每个点对应的坐标集合。
其中,基于预设折线上的第一个点和下一个点的坐标,以及三维图形的顶点坐标集合,计算第一个点对应的坐标集合,需先基于预设折线上的第一个点和下一个点的坐标,计算预设折线上的第一条线段的方向向量。
具体的,设预设折线包括n个点,其中,第一个点的坐标为(a1,b1,c1),下一个点的坐标为(a2,b2,c2),其中,下一个点是相对于第一个点而言,因此,此处的下一个点也就是第二个点的坐标(a2,b2,c2)。
例如,如图4所示,预设折线包括3个点,3个点坐标分别为第一个点的坐标(0,0,0)、第二个点的坐标(0,3,3)和第三个点的坐标(3,3,3)。
当获取到预设折线的第一个点的坐标和第二个点的坐标后,可通过第一个点与第二个点的连接,则构成预设折线中的第一条线段,然后基于第一个点的坐标和第二个点的坐标可计算出第一条线段的方向向量v1(如图5所示),其中,v1=(a2-a1,b2-b1,c2-c1)。
由于三维图形的顶点坐标集合S0所在平面的法向向量为z=(0,0,1),则基于第一条线段的方向向量和法向向量,确定方向向量和法向向量间的旋转轴和夹角,其中,法向向量垂直于三维图形的顶点坐标集合所在的平面。
具体的,通过第一条线段的方向向量v1与三维图形的顶点坐标集合S0所在平面的法向向量z点乘,可计算出方向向量v1和法向向量z间的夹角α0,以及通过第一条线段的方向向量v1与三维图形的顶点坐标集合S0所在平面的法向向量z叉乘,可计算出方向向量v1和法向向量z间的旋转轴u0。
之后,基于方向向量和法向向量间的旋转轴和夹角,确定第一旋转矩阵。
具体的,计算出方向向量和法向向量间的旋转轴u0和夹角α0后,可获得将法向向量z旋转至方向向量v1时的四元数Q0,然后由四元数Q0则可得到对应的第一旋转矩阵M0。
然后,再基于预设折线中的第一个点,构造第一平移变换矩阵。
具体的,第一平移变换矩阵T0如下所示:
其中,(a1,b1,c1)为预设折线中的第一个点的坐标。
最后可基于上述获取到的第一旋转矩阵、第一平移变换矩阵和三维图形的顶点坐标集合,确定第一个点对应的坐标集合。
具体的,通过对三维图形的顶点坐标集合S0中的所有点应用第一旋转矩阵M0,也就是说,将三维图形进行旋转,以使其横截面的法向向量z和方向向量v1保持同一方向。
因此,第一个点对应的坐标集合S1通过下述公式表示:
其中,T0表示第一平移变换矩阵,S0表示三维图形的顶点坐标集合,M0表示第一旋转矩阵。
当计算出第一个点对应的坐标集合S1后,还需计算所有点中除第一个点之外的每个点的坐标集合,具体地,判断下一个点是否为最后一个点,若是,按照预设函数计算下一个点对应的坐标集合;若不是,基于拉伸变换矩阵计算下一个点对应的坐标集合;继续执行判断下一个点是否为最后一个点的步骤,直至下一个点为最后一个点。
通过上述实施例计算出第一个点对应的坐标集合S1后,需判断第一个点的下一个点,也就是第二个点是否为预设折线上的最后一个点,若第二个点不是预设折线上的最后一个点,则基于拉伸变换矩阵计算下一个点对应的坐标集合。
其中,基于拉伸变换矩阵计算下一个点对应的坐标集合,需先获取第二平移变换矩阵、第二旋转矩阵和第一拉伸变换矩阵,然后基于第二平移变换矩阵、第二旋转矩阵、第一拉伸变换矩阵、第一旋转矩阵和第一个点对应的坐标集合,计算下一个点对应的坐标集合,其中,第二平移变换矩阵基于预设折线上的第二个点确定,第二旋转矩阵基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角确定,第一拉伸变换矩阵基于单位向量、第一旋转矩阵以及二维坐标系中的纵轴确定。
其中,获取第二旋转矩阵,包括:基于下一个点和下一个点的下一个点的坐标,计算预设折线上的第二条线段的方向向量;基于第一条线段的方向向量和第二条线段的方向向量,确定第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角;基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角,确定第二旋转矩阵,其中,第二旋转矩阵对应的旋转角度小于第一条线段的方向向量和第二条线段的方向向量间的夹角。
在一些实施例中,第二旋转矩阵对应的旋转角度等于第一条线段的方向向量和第二条线段的方向向量间的夹角的一半,例如可以是后文中的α1/2。
在上个实施例中已经计算出第一条线段的方向向量v1,然后可通过第二个点的坐标(a2,b2,c2)和第二个点的下一个坐标(a3,b3,c3)计算第二条线段的方向向量v2=(a3-a2,b3-b2,c3-c2)。
之后,如图6所示,可通过第一条线段的方向向量v1与第二条线段的方向向量v2点乘,可计算出方向向量v1和方向向量v2间的夹角α1,以及通过第一条线段的方向向量v1与第二条线段的方向向量v2叉乘,可计算出方向向量v1和方向向量v2间的旋转轴u1。
最后,基于方向向量v1和方向向量v2间的旋转轴u1和夹角α1,确定第二旋转矩阵。
具体的,如图7所示,计算出方向向量v1和方向向量v2间的旋转轴u1和夹角α1后,只需旋转α1/2的角度,则可得到方向向量v1绕旋转轴u1旋转α1/2角度时的四元数Q1,然后由四元数Q1则可得到对应的第二旋转矩阵M1。
其中,获取第一拉伸变换矩阵,包括:基于单位向量和第一旋转矩阵的逆矩阵,确定目标方向向量,其中,单位向量用于表征第一条线段的方向向量与第二条线段的方向向量间的旋转轴向量;确定将二维坐标系中的纵轴旋转到目标方向向量的第三旋转矩阵;基于第三旋转矩阵、第三旋转矩阵的逆矩阵和拉伸倍数对应的矩阵,确定第一拉伸变换矩阵,拉伸倍数用于表征第一个点对应的坐标集合绕旋转轴旋转的角度。
由于任意二维图形沿着平行于该二维图形的某一线段旋转θ角度,旋转后的二维图形对旋转前图形所在平面进行投影,投影图形相比原图形进行了拉伸。
又因预设折线的每条线段粗细不能改变,也就是说,预设折线处的图形在方向向量v1和方向向量v2两个方向向量法平面的投影保持一致。且因设定的预设折线处图形是由方向向量v1的法平面的图形绕旋转轴u1旋转α1/2的角度,因此,若让投影图形保持不变,则需要对头像图形进行反向拉伸,也就是计算第一拉伸变换矩阵。
由于旋转轴u1垂直于方向向量v1和方向向量v2,而第一个点对应的坐标集合S1的法向量就是方向向量v1,则可以证明旋转轴u1在第一个点对应的坐标集合S1所在的平面上。
设拉伸方向l1也在第一个点对应的坐标集合S1所在的平面上且垂直于旋转轴u1,而且当第一个点对应的坐标集合S1绕旋转轴u1旋转α1/2角度时,其在第一个点对应的坐标集合S1所在的平面投影面相比原图形的拉伸倍数为原来的cos(2/α1),为了让投影图形保持不变,则需要沿着拉伸方向l1拉伸为原来的1/cos(2/α1)倍。
由于拉伸方向l1可能是任意方向,因此,需先设法让拉伸方向l1对应的向量旋转变换成x轴方向向量,然后进行沿x轴的拉伸变换,之后再逆向旋转回去,就完成了沿着拉伸方向l1方向的拉伸变换。
因此,计算第一拉伸变换矩阵之前,需先确定目标方向向量u'。
目标方向向量u'通过以下公式表示:
u'=M0¯ 1 *u1
其中,M0¯ 1表示第一旋转矩阵M0的逆矩阵,方向向量v1和方向向量v2间的旋转轴。
确定目标方向向量u'后,还需确定将二维坐标系中的纵轴旋转到目标方向向量的第三旋转矩阵Mγ。
由于旋转轴u1和第一个点对应的坐标集合S1共面,且M0¯ 1是将第一个点对应的坐标集合S1逆旋转回三维图形的顶点坐标集合S0,因此,目标方向向量u'一定在三维图形的顶点坐标集合S0平面上,又因三维图形的顶点坐标集合S0本身是世界坐标系的x-y平面,所以目标方向向量u'也被变换到了x-y平面上。
如图8所示,此时计算目标方向向量u'和y轴方向向量y=(0,1,0)的夹角γ,设将y旋转到目标方向向量u'用到的第三旋转矩阵为Mγ,其逆变换,也就是旋转回来时的旋转矩阵为Mγ¯ 1,此时,拉伸变为原来的1/cos(2/α1)倍。
获取到第三旋转矩阵为Mγ第三旋转矩阵的逆矩阵为Mγ¯ 1后,则可知沿着l1方向的拉伸矩阵变换,即第一拉伸变换矩阵W1表示如下:
其中,获取第二平移变换矩阵,主要是基于预设折线中的第二个点,构造第二平移变换矩阵,其中,第二平移变换矩阵T1通过如下公式表示:
其中,(a2,b2,c2)为预设折线中的第二个点的坐标。
通过上述方式计算出第一拉伸变换矩阵W1、第二平移变换矩阵T1、第二旋转矩阵M1、第一旋转矩阵M0、三维图形的顶点坐标集合S0后,则可确定下一个点对应的坐标集合S2,下一个点对应的坐标集合S2通过如下公式表示:
需要说明的是,由于每次变换总是从三维图形的顶点坐标集合S0开始,因此,第一旋转矩阵M0表示的是由初始所在平面,旋转到第一个线段法平面所对应的旋转矩阵,而第一旋转矩阵M1表示由第一个线段的法平面旋转α1/2角度后所对应的旋转矩阵,因此,需要乘两次第一旋转矩阵M1才表示从第一个线段法平面旋转到第二个线段的法平面。同理,在从上一个线段的法平面旋转到下一个线段的法平面时,都需要乘以两次旋转矩阵。
基于上述原理,则以后的点对应的坐标集合S3、S4...Sm通过如下公式表示:
Sm=Tm-1*Mm-1*Mm-2...M2*M2*M1*M1*M0*Wm-1*S0
其中,M2表示第二旋转矩阵,M3表示第三旋转矩阵,Mm-2表示第m-2旋转矩阵,Mm-1表示第m-1旋转矩阵,W2表示第二拉伸变换矩阵,W3表示第三拉伸变换矩阵,T2表示第三平移变换矩阵,T3表示第四平移变换矩阵。
如图9所示,基于上述原理,在通过旋转后右侧平面所构成的点的集合则为S3。
如果第二个点是预设折线上的最后一个点,则调取预设函数,并通过调取的预设函数计算第二个点对应的坐标集合。
设预设折线仅包括两个点,即第一个点和第二个点,则第二个点为预设折线上的最后一个点,此时需调取预设函数Sn计算第二个点对应的坐标集合S2。其中,预设函数Sn通过下述公式表示:
当n=2时,则可知S2=T1*M1*M1*M0*S0。
在其他方案中,Web端可以使用Three.js在3D空间中绘制空间折线,具体可以采用以下两种方式:
方式一,可以使用用于绘制线段基础材质的THREE.LineBasicMaterial和几何体方法THREE.BufferGeometry().setFromPoints( points )绘制折线。但是,该方式是根据给定的点绘制出线,绘制出的线是纯粹2D 折线,没有实际意义的横截面形状。并且在放大缩小镜头时,线宽也不会发生改变。
方式二,可以使用用于绘制管状几何体的THREE.TubeGeometry和绘制自定义曲线路径的THREE.CatmullRomCurve3来绘制折线,使用该方式绘制折现时可以绘制出连接所有点坐标的折线,还可以绘制出连接所有点,同时拟合而成的平滑的曲线。但是,在使用THREE.TubeGeometry时必须需要设置tubularSegments参数,tubularSegments参数可以理解为折线的步进长度,tubularSegments参数的设置会导致消耗性能大。并且,该方式无法任意指定横截面形状,横截面只能是圆或近似圆的多边形。
另外,该方式在绘制折线时有着巨大的性能浪费。因为折线是由一段一段的线段连接而成,而每一段线段,假设横截面是一个n边形,那么每段线段就可以看作一个n棱柱,基于THREE.TubeGeometry方式绘制折线会把n棱柱切成m段,总计就会产生2*n*(m+1)个顶点,性能开销大。
而本申请实施例提供的折线计算优化方法,包括:先创建二维图形,其中,二维图形由至少三个顶点构成的封闭图形,然后基于二维图形,确定二维图形对应的三维图形的顶点坐标集合,再获取预设折线,其中,预设折线由至少两个点相互连接构成,最后基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。本申请相对现有技术中直接采用Three.js中的绘制工具绘制的折线更加直观,可直接看到折线的横截面形状,且在绘制过程中可避免产生大量额外顶点,降低性能消耗,提升折线计算效率。
为便于对比理解,示例性地请参阅图10,图10是本申请实施例提供的一种对比图。图10中的(a)可以理解为采用上述方式二生成的空间折线,图10中的(b)可以理解为采用本申请实施例提供的折线计算优化方法生成的空间折线,可见,本申请实施例提供的折线计算优化方法可以降低性能消耗,提升折线计算效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以下为本申请的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
图11示出了本申请实施例提供的一种折线计算优化装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,一种折线计算优化装置包括创建模块1101、第一集合确定模块1102、获取模块1103和目标集合确定模块1104,具体如下:
创建模块1101,用于创建二维图形,其中,二维图形由至少三个顶点构成的封闭图形;
第一集合确定模块1102,用于基于二维图形,确定二维图形对应的三维图形的顶点坐标集合;
获取模块1103,用于获取预设折线,其中,预设折线由至少两个点相互连接构成;
目标集合确定模块1104,用于基于三维图形的顶点坐标集合和预设折线上的所有点,确定预设折线上的所有点中的每个点对应的坐标集合,以基于预设折线上的所有点中的每个点对应的坐标集合生成三维折线。
在一实施例方式中,目标集合确定模块1104还用于获取预设折线上的第一个点和下一个点的坐标;
基于预设折线上的第一个点和下一个点的坐标,以及三维图形的顶点坐标集合,计算第一个点对应的坐标集合;
计算所有点中除第一个点之外的每个点的坐标集合;
将第一个点对应的坐标集合和所有点中除第一个点之外的每个点的坐标集合进行汇总,得到预设折线上的所有点中的每个点对应的坐标集合。
在一实施例方式中,目标集合确定模块1104还用于基于预设折线上的第一个点和下一个点的坐标,计算预设折线上的第一条线段的方向向量;
基于第一条线段的方向向量和法向向量,确定方向向量和法向向量间的旋转轴和夹角,其中,法向向量垂直于三维图形的顶点坐标集合所在的平面;
基于方向向量和法向向量间的旋转轴和夹角,确定第一旋转矩阵;
基于预设折线中的第一个点,构造第一平移变换矩阵;
基于第一旋转矩阵、第一平移变换矩阵和三维图形的顶点坐标集合,确定第一个点对应的坐标集合。
在一实施例方式中,目标集合确定模块1104还用于判断下一个点是否为最后一个点;
若是,按照预设函数计算下一个点对应的坐标集合;
若不是,基于拉伸变换矩阵计算下一个点对应的坐标集合;
继续执行判断下一个点是否为最后一个点的步骤,直至下一个点为最后一个点。
在一实施例方式中,目标集合确定模块1104还用于获取第二平移变换矩阵、第二旋转矩阵和第一拉伸变换矩阵,其中,第二平移变换矩阵基于预设折线上的第二个点确定,第二旋转矩阵基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角确定,第一拉伸变换矩阵基于单位向量、第一旋转矩阵以及二维坐标系中的纵轴确定;
基于第二平移变换矩阵、第二旋转矩阵、第一拉伸变换矩阵、第一旋转矩阵和第一个点对应的坐标集合,计算下一个点对应的坐标集合。
在一实施例方式中,目标集合确定模块1104还用于基于下一个点和下一个点的下一个点的坐标,计算预设折线上的第二条线段的方向向量;
基于第一条线段的方向向量和第二条线段的方向向量,确定第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角;
基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角,确定第二旋转矩阵,第二旋转矩阵对应的旋转角度小于第一条线段的方向向量和第二条线段的方向向量间的夹角。
在一实施例方式中,目标集合确定模块1104还用于基于预设折线中的第二个点,构造第二平移变换矩阵。
在一实施例方式中,目标集合确定模块1104还用于基于单位向量和第一旋转矩阵的逆矩阵,确定目标方向向量;
确定将二维坐标系中的纵轴旋转到目标方向向量的第三旋转矩阵;
基于第三旋转矩阵、第三旋转矩阵的逆矩阵和拉伸倍数对应的矩阵,确定第一拉伸变换矩阵,拉伸倍数用于表征第一个点对应的坐标集合绕旋转轴旋转的角度。
在一实施例方式中,第一集合确定模块1102还用于将二维图形扩展至世界坐标系,得到三维图形;
将三维图形的所有顶点的坐标进行汇总,得到三维图形的顶点坐标集合。
本申请的图12提供了一种计算机设备的示意图。如图12所示,该实施例的计算机设备12包括:处理器1201、存储器1202以及存储在存储器1202中并可在处理器1201上运行的计算机程序1203。处理器1201执行计算机程序1203时实现上述各个折线计算优化方法实施例中的步骤,例如图1所示的步骤101至步骤104。或者,处理器1201执行计算机程序1203时实现上述各个折线计算优化装置实施例中各模块/单元的功能,例如图11所示模块/单元1101至1104的功能。
本申请还提供一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时用于实现上述的各种实施方式提供的折线计算优化方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的折线计算优化方法。
在上述设备的实施例中,应理解,处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种折线计算优化方法,其特征在于,包括:
创建二维图形,其中,所述二维图形由至少三个顶点构成的封闭图形;
基于所述二维图形,确定所述二维图形对应的三维图形的顶点坐标集合;
获取预设折线,其中,所述预设折线由至少两个点相互连接构成;
基于所述三维图形的顶点坐标集合和所述预设折线上的所有点,确定所述预设折线上的所有点中的每个点对应的坐标集合,以基于所述预设折线上的所有点中的每个点对应的坐标集合生成三维折线。
2.如权利要求1所述折线计算优化方法,其特征在于,所述基于所述三维图形的顶点坐标集合和所述预设折线上的所有点,确定所述预设折线上的所有点中的每个点对应的坐标集合,包括:
获取所述预设折线上的第一个点和下一个点的坐标;
基于所述预设折线上的第一个点和下一个点的坐标,以及所述三维图形的顶点坐标集合,计算所述第一个点对应的坐标集合;
计算所述所有点中除所述第一个点之外的每个点的坐标集合;
将所述第一个点对应的坐标集合和所述所有点中除所述第一个点之外的每个点的坐标集合进行汇总,得到所述预设折线上的所有点中的每个点对应的坐标集合。
3.如权利要求2所述折线计算优化方法,其特征在于,所述基于所述预设折线上的第一个点和下一个点的坐标,以及所述三维图形的顶点坐标集合,计算所述第一个点对应的坐标集合,包括:
基于所述预设折线上的第一个点和下一个点的坐标,计算所述预设折线上的第一条线段的方向向量;
基于所述第一条线段的方向向量和法向向量,确定所述方向向量和所述法向向量间的旋转轴和夹角,其中,所述法向向量垂直于所述三维图形的顶点坐标集合所在的平面;
基于所述方向向量和所述法向向量间的旋转轴和夹角,确定第一旋转矩阵;
基于所述预设折线中的第一个点,构造第一平移变换矩阵;
基于所述第一旋转矩阵、第一平移变换矩阵和所述三维图形的顶点坐标集合,确定所述第一个点对应的坐标集合。
4.如权利要求3所述折线计算优化方法,其特征在于,所述计算所述所有点中除所述第一个点之外的每个点的坐标集合,包括:
判断所述下一个点是否为最后一个点;
若是,按照预设函数计算所述下一个点对应的坐标集合;
若不是,基于拉伸变换矩阵计算所述下一个点对应的坐标集合;
继续执行判断所述下一个点是否为最后一个点的步骤,直至所述下一个点为最后一个点。
5.如权利要求4所述折线计算优化方法,其特征在于,所述基于拉伸变换矩阵计算所述下一个点对应的坐标集合,包括:
获取第二平移变换矩阵、第二旋转矩阵和第一拉伸变换矩阵,其中,所述第二平移变换矩阵基于所述预设折线上的第二个点确定,所述第二旋转矩阵基于第一条线段的方向向量和第二条线段的方向向量间的旋转轴和夹角确定,所述第一拉伸变换矩阵基于单位向量、第一旋转矩阵以及二维坐标系中的纵轴确定;
基于所述第二平移变换矩阵、所述第二旋转矩阵、所述第一拉伸变换矩阵、所述第一旋转矩阵和所述第一个点对应的坐标集合,计算所述下一个点对应的坐标集合。
6.如权利要求4所述折线计算优化方法,其特征在于,所述获取第二旋转矩阵,包括:
基于所述下一个点和所述下一个点的下一个点的坐标,计算所述预设折线上的第二条线段的方向向量;
基于所述第一条线段的方向向量和所述第二条线段的方向向量,确定所述第一条线段的方向向量和所述第二条线段的方向向量间的旋转轴和夹角;
基于所述第一条线段的方向向量和所述第二条线段的方向向量间的旋转轴和夹角,确定第二旋转矩阵,所述第二旋转矩阵对应的旋转角度小于所述第一条线段的方向向量和所述第二条线段的方向向量间的夹角。
7.如权利要求4所述折线计算优化方法,其特征在于,所述获取第二平移变换矩阵,包括:
基于所述预设折线中的第二个点,构造所述第二平移变换矩阵。
8.如权利要求4所述折线计算优化方法,其特征在于,所述获取第一拉伸变换矩阵,包括:
基于单位向量和所述第一旋转矩阵的逆矩阵,确定目标方向向量;
确定将二维坐标系中的纵轴旋转到所述目标方向向量的第三旋转矩阵;
基于所述第三旋转矩阵、所述第三旋转矩阵的逆矩阵和拉伸倍数对应的矩阵,确定所述第一拉伸变换矩阵,所述拉伸倍数用于表征所述第一个点对应的坐标集合绕旋转轴旋转的角度。
9.如权利要求1所述折线计算优化方法,其特征在于,所述基于所述二维图形,确定所述二维图形对应的三维图形的顶点坐标集合,包括:
将所述二维图形扩展至世界坐标系,得到所述三维图形;
将所述三维图形的所有顶点的坐标进行汇总,得到所述三维图形的顶点坐标集合。
10.一种折线计算优化装置,其特征在于,包括:
创建模块,用于创建二维图形,其中,所述二维图形由至少三个顶点构成的封闭图形;
第一集合确定模块,用于基于所述二维图形,确定所述二维图形对应的三维图形的顶点坐标集合;
获取模块,用于获取预设折线,其中,所述预设折线由至少两个点相互连接构成;
目标集合确定模块,用于基于所述三维图形的顶点坐标集合和所述预设折线上的所有点,确定所述预设折线上的所有点中的每个点对应的坐标集合,以基于所述预设折线上的所有点中的每个点对应的坐标集合生成三维折线。
11.一种计算机设备,其特征在于,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如权利要求1至10中任一项所述折线计算优化方法。
12.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,实现权利要求1至10中任一项所述折线计算优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410318443.9A CN117911575B (zh) | 2024-03-20 | 2024-03-20 | 折线计算优化方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410318443.9A CN117911575B (zh) | 2024-03-20 | 2024-03-20 | 折线计算优化方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117911575A true CN117911575A (zh) | 2024-04-19 |
CN117911575B CN117911575B (zh) | 2024-07-23 |
Family
ID=90683994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410318443.9A Active CN117911575B (zh) | 2024-03-20 | 2024-03-20 | 折线计算优化方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117911575B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576469A (zh) * | 2009-09-25 | 2012-07-11 | 兰得马克制图公司 | 在三维的地下环境中绘制图形对象 |
CN104915993A (zh) * | 2015-06-29 | 2015-09-16 | 北京东方艾迪普科技发展有限公司 | 一种三维拉伸建模的方法和设备 |
US20190266781A1 (en) * | 2018-02-23 | 2019-08-29 | Ephere Inc. | Method of rendering computer graphics curves |
CN113591168A (zh) * | 2021-06-28 | 2021-11-02 | 山东大学 | 一种基于点间距离的三维拉伸体分析与生成方法及系统 |
-
2024
- 2024-03-20 CN CN202410318443.9A patent/CN117911575B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576469A (zh) * | 2009-09-25 | 2012-07-11 | 兰得马克制图公司 | 在三维的地下环境中绘制图形对象 |
CN104915993A (zh) * | 2015-06-29 | 2015-09-16 | 北京东方艾迪普科技发展有限公司 | 一种三维拉伸建模的方法和设备 |
US20190266781A1 (en) * | 2018-02-23 | 2019-08-29 | Ephere Inc. | Method of rendering computer graphics curves |
CN113591168A (zh) * | 2021-06-28 | 2021-11-02 | 山东大学 | 一种基于点间距离的三维拉伸体分析与生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
林大钧, 马永有, 展益彬: "基于图像矢量化的三维模型重建", 东华大学学报(自然科学版), vol. 31, no. 04, 30 August 2005 (2005-08-30), pages 82 - 84 * |
Also Published As
Publication number | Publication date |
---|---|
CN117911575B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747721B2 (en) | Technique for filling holes in a three-dimensional model | |
CN112785674B (zh) | 纹理贴图的生成方法、渲染方法、装置、设备及存储介质 | |
US8698808B2 (en) | Conversion of dashed strokes into quadratic Bèzier segment sequences | |
US6664960B2 (en) | Apparatus for processing non-planar video graphics primitives and associated method of operation | |
US8207972B2 (en) | Quick pixel rendering processing | |
Wareham et al. | Applications of conformal geometric algebra in computer vision and graphics | |
US7589720B2 (en) | Mesh editing with gradient field manipulation and user interactive tools for object merging | |
EP3255612B1 (en) | System and method for tessellation in an improved graphics pipeline | |
JP4230456B2 (ja) | 3次元画像処理 | |
Surazhsky et al. | Controllable morphing of compatible planar triangulations | |
US9595080B2 (en) | Implementing and interpolating rotations from a computing input device | |
US9024969B2 (en) | Method and device for performing user-defined clipping in object space | |
JP2006106705A (ja) | アウトラインフォントのレンダリング | |
JP2001052194A (ja) | 曲面の再構成 | |
US10452788B2 (en) | Modeling a three-dimensional object having multiple materials | |
CN115147579B (zh) | 一种扩展图块边界的分块渲染模式图形处理方法及系统 | |
Bénard et al. | Computing smooth surface contours with accurate topology | |
US20200026516A1 (en) | Systems and Methods For Rendering Vector Data On Static And Dynamic-Surfaces Using Screen Space Decals And A Depth Texture | |
JP2006503355A5 (zh) | ||
US20070171219A1 (en) | System and method of early rejection after transformation in a GPU | |
CN107341841B (zh) | 一种渐变动画的生成方法及计算设备 | |
Suárez et al. | Anisotropic convolution surfaces | |
US9275487B1 (en) | System and method for performing non-affine deformations | |
CN117911575B (zh) | 折线计算优化方法、装置、计算机设备及存储介质 | |
US20230038647A1 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |