1.本发明实施例涉及参数化建模技术领域,尤其涉及一种参数化建模中圆弧绘制方法及装置。
背景技术:2.web 3d参数化建模领域中,有两种圆弧的绘图方式,一种是“拱高弧”,一种是“端点-半径弧”。其中,“拱高弧”通过两个端点和拱高点进行绘制。这种绘制方式清晰明了,设计师一般倾向于利用“拱高弧”的方式绘制圆弧。“端点-半径弧”是通过两个端点和圆弧半径绘制圆弧,这种圆弧绘制方式参数较为清晰,从工厂的生产角度而言,“端点-半径弧”更具实用意义。
3.如果有一种圆弧绘制方式能够将“拱高弧”和“端点-半径弧”这两种圆弧绘制方式结合起来,则对于设计和生产过程将带来极大便利。
技术实现要素:4.本发明实施例提供一种参数化建模中圆弧绘制方法,包括:接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r';响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧;根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量ab的相对位置关系;根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
5.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,在所述接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作之前,所述方法还包括:接收对所述第一圆弧的所述第一端点a和所述第二端点b的定位,并确定所述第一端点a和所述第二端点b;根据光标的位置确定拱高点h;根据所述第一端点a、所述第二端点b及所述拱高点h确定所述第一圆弧半径r、确定第一圆心o、确定所述交叉方向及确定所述优劣弧信息;根据所述第一端点a、所述第二端点b及所述第一圆心o确定第一起始角度和第一终止角度;根据所述第一圆心o、所述第一圆弧半径r、所述第一起始角度、所述第一终止角度及所述交叉方向绘制所述第一圆弧。
6.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述方法还包括:响应于接收到所述第一圆弧的选中信息,展示所述第一圆弧的属性面板,在所述属性面板的圆弧端点和半径对应的编辑项显示所述第一端点a和所述第二端点b的坐标及所述第一圆弧半径r的数值;所述接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,包括:通过获取所述编辑项的编辑操作接收对所述当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作。
7.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述根据所述第一端点a、所述第二端点b及所述第一圆心o确定第一起始角度和第一终止角度,包括:计算所述第一圆心o指向所述第一端点a的第二向量oa和x轴正方向形成的第一夹角,将所述第一夹角作为所述第一起始角度;计算所述第一圆心o指向所述第二端点b的第三向量ob和x轴正方向形成的第二夹角,将所述第二夹角作为所述第一终止角度;其中,当前的绘制页面为xy平面。
8.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述确定所述优劣弧信息,包括:确定所述第一端点a和所述第二端点b构成的线段的中点c;计算所述中点c指向所述第一圆心o的第四向量co和中点c指向所述拱高点h的第五向量ch的点乘结果;若所述点乘结果为正,则所述第一圆弧为优弧;若所述点乘结果为负,则所述第一圆弧为劣弧。
9.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述确定所述交叉方向,包括:获取所述第一端点a指向所述第二端点b的所述第一向量ab和所述中点c指向所述拱高点h的第五向量ch的叉乘向量的方向;若所述叉乘向量沿z轴正方向,则所述交叉方向为正;若所述叉乘向量沿z轴负方向,则所述交叉方向为负;其中,所述交叉方向为正表示所述第一圆弧位于所述第一向量ab沿逆时针转动的方向上,所述交叉方向为负表示所述第一圆弧位于所述第一向量ab沿顺时针转动的方向上;当前的绘制页面为xy平面。
10.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述根据光标的位置确定拱高点h,包括:从所述光标的位置向所述第一端点a和所述第二端点b构成的线段的中垂线做投影,将投影点作为所述拱高点h。
11.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述绘制所述第二圆弧,包括:根据所述第三端点a'、所述第四端点b'、所述第二圆弧半径r'及所述优劣弧信息计算第二圆心o';根据所述第三端点a'、所述第四端点b'及所述第二圆心o'确定第二起始角度和第二终止角度;根据所述第二圆心o'、所述第二圆弧半径r'、所述第二起始角度、所述第二终止角度及所述交叉方向绘制所述第二圆弧。
12.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述根据所述第三端点a'、所述第四端点b'及所述第二圆心o'确定第二起始角度和第二终止角度,包括:计算所述第二圆心o'指向所述第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角,将所述第三夹角作为所述第二起始角度;计算所述第二圆心o'指向所述第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角,将所述第四夹角作为所述第二终止角度;其中,当前的绘制页面为xy平面。
13.本发明实施例还提供一种参数化建模中圆弧绘制装置,包括:修改信息获取模块,用于:接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r';四解圆弧获取模块,用于:响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧;两解圆弧获取模块,用于:根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量ab的相对位置关系;圆弧绘制模块,用于:根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
14.本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述参数化建模中圆弧绘制方法的步骤。
15.本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述参数化建模中圆弧绘制方法的步骤。
16.本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述参数化建模中圆弧绘制方法的步骤。
17.本发明实施例提供的参数化建模中圆弧绘制方法及装置,通过对于当前展示的第一圆弧的两个端点及半径进行至少一种参数的修改,得到四条圆弧,根据交叉方向筛选得到两条圆弧,进一步根据优劣弧信息得到唯一确定的圆弧并绘制,可实现基于包括两端点、半径、交叉方向、优劣弧信息的圆弧四要素在“拱高弧”方式绘制圆弧的基础上进一步通过“端点-半径弧”的方式调整圆弧,实现了绘制的方便性和参数的明确性的有机结合,可大大提高设计、生产的效率。
附图说明
18.为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明实施例提供的参数化建模中圆弧绘制方法的流程示意图;
20.图2是本发明实施例提供的参数化建模中圆弧绘制方法中优劣弧示意图;
21.图3是本发明实施例提供的参数化建模中圆弧绘制方法中第一圆弧和第二圆弧的示意图;
22.图4是本发明实施例提供的参数化建模中圆弧绘制方法中第一起始角度和第一终止角度的示意图;
23.图5是本发明实施例提供的参数化建模中圆弧绘制方法中优劣弧信息的获取过程示意图;
24.图6是本发明实施例提供的参数化建模中圆弧绘制方法中交叉方向的获取过程示意图;
25.图7是本发明实施例提供的参数化建模中圆弧绘制方法中第二起始角度和第二终止角度的示意图;
26.图8是本发明实施例提供的参数化建模中圆弧绘制方法中正向绘制四要素圆弧的流程示意图;
27.图9是本发明实施例提供的参数化建模中圆弧绘制方法中反向绘制四要素圆弧的流程示意图;
28.图10是本发明实施例提供的参数化建模中圆弧绘制方法中第一圆弧的示意图;
29.图11是本发明实施例提供的参数化建模中圆弧绘制方法中第一圆弧被选中的示意图;
30.图12是本发明实施例提供的参数化建模中圆弧绘制方法中对第一圆弧的半径进行修改之后得到的第二圆弧的示意图;
31.图13是本发明实施例提供的参数化建模中圆弧绘制方法中对第一圆弧的半径和端点进行修改之后得到的第二圆弧的示意图;
32.图14是本发明实施例提供的参数化建模中圆弧绘制装置的结构示意图;
33.图15是本发明实施例提供的电子设备的结构示意图。
具体实施方式
34.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.本发明实施例提供的参数化建模中圆弧绘制方法可以应用于3d参数化建模过程,包括但不限于用于家具、机械零件、建筑模型等的建模过程中的圆弧绘制。
36.图1是本发明实施例提供的参数化建模中圆弧绘制方法的流程示意图。如图1所示,所述方法包括:
37.步骤101、接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r'。
38.第一圆弧可以是在设计页面上通过鼠标操作、手写笔、触控等方式绘制的圆弧,如利用“拱高弧”的方式绘制的圆弧,也可以是对于设计页面上绘制的圆弧进行至少一次端点和/或半径的修改之后得到的圆弧。第一圆弧的端点和半径的参数已知或可以通过计算获知。比如,若是利用“拱高弧”的方式绘制的圆弧,根据两个端点和拱高点可以计算得到半径。也即,在设计页面初始绘制的圆弧的两个端点和半径可以通过计算获知。如果第一圆弧是对于设计页面上绘制的圆弧进行端点和/或半径的至少一次修改之后得到的圆弧,则第一圆弧的端点和半径则为更改之后的取值。将第一圆弧的两个端点分别记为第一端点a、第二端点b,将第一圆弧的半径记为第一圆弧半径r。
39.可以通过对第一圆弧的第一端点a、第二端点b及第一圆弧半径r中的至少一种参数进行修改,得到第三端点a'和第四端点b'及第二圆弧半径r'。其中,若第一端点没有更改,则第三端点和第一端点为同一点,即a=a',若第二端点没有更改,则第四端点和第二端点为同一点,即b=b',若第一圆弧半径没有更改,则第二圆弧半径和第一圆弧半径相同,即r=r'。得到第三端点a'和第四端点b'及第二圆弧半径r'后,可以进一步基于更新的端点和半径绘制圆弧,从而可以在“拱高弧”的方式绘制圆弧的基础上,进一步利用“端点-半径弧”的方式绘制圆弧。
40.步骤102、响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧。
41.绘制圆弧的前提条件是端点和半径的取值是合理的,即满足圆的基本方程,例如第三端点a'与第四端点b'之间的距离小于或等于第二圆弧半径r'的2倍。因此,接收到第三端点a'、第四端点b'及第二圆弧半径r'之后,首先判断第三端点a'、第四端点b'及第二圆弧半径r'是否满足圆的基本方程。如果第三端点a'、第四端点b'及第二圆弧半径r'不满足圆的基本方程,可以弹出数据不合理、需要重新编辑的提示信息。如果第三端点a'、第四端点
b'及第二圆弧半径r'满足圆的基本方程,则由于两个端点和半径可以确定四条圆弧,则根据第三端点a'、第四端点b'及第二圆弧半径r'得到四条圆弧。
42.图2是本发明实施例提供的参数化建模中圆弧绘制方法中优劣弧示意图。如图2所示,在第三端点a'指向第四端点b'的向量(a'b')的左侧(沿逆时针转动的方向上)具有优弧m、劣弧n各一条,在第三端点a'指向第四端点b'的向量(a'b')的右侧(沿顺时针转动的方向上)具有优弧p、劣弧q各一条。
43.步骤103、根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量ab的相对位置关系。
44.通过利用“拱高弧”的绘制方式得到初始绘制的圆弧后,需要获取圆弧四要素,即两个端点(要素一)、半径(要素二)、交叉方向(要素三)和优劣弧信息(要素四)。后续利用“端点-半径弧”的方式在此基础上通过修改端点和/或半径进行圆弧绘制,而交叉方向和优劣弧的信息不变。交叉方向的正负用于表示圆弧与两个端点构成的向量的相对位置关系,包括圆弧位于两个端点构成的向量的左侧还是右侧。优劣弧信息表示圆弧的形状,优弧指圆心位于弧与弦连接成的封闭图形之内;劣弧指圆心位于弧与弦连接成的封闭图形之外,即大于半圆的称为优弧,小于半圆的称为劣弧。交叉方向和优劣弧信息反映基本的设计需求,后续参数调整对于交叉方向和优劣弧信息是不做调整的。因此,本技术提供的实施例基于最初利用“拱高弧”绘制的圆弧,通过修改端点和/或半径进行圆弧的绘制调整,仍然遵循最初的交叉方向和优劣弧信息,使得设计师能够采用简便的“拱高弧”方式绘制圆弧,之后设计师或者工厂可以精细地修改圆弧的参数而不脱离原有圆弧的交叉方向和优劣弧信息。
45.因此,无论第一圆弧是利用“拱高弧”最初绘制的圆弧,还是通过对利用“拱高弧”最初绘制的圆弧进行至少一次端点和/或半径的调整之后得到的圆弧,其交叉方向和优劣弧信息和利用“拱高弧”最初绘制的圆弧相同。当前,进一步通过修改端点和/或半径对第一圆弧进行调整,交叉方向和优劣弧信息仍然不变。
46.由于交叉方向将圆弧限定于两个端点构成的向量的一侧。比如,交叉方向正时,圆弧位于两个端点构成的向量的左侧;交叉方向为负时,圆弧位于两个端点构成的向量的右侧。对于第一圆弧而言,则交叉方向为正时,第一圆弧位于第一端点a和第二端点b构成的第一向量ab的左侧,相应地,第二圆弧位于第三端点a'和第四端点b'构成的向量(a'b')的左侧;交叉方向为负时,第一圆弧位于第一端点a和第二端点b构成的第一向量ab的右侧,相应地,第二圆弧位于第三端点a'和第四端点b'构成的向量(a'b')的右侧。其中,圆弧位于向量的左侧可以是圆弧位于向量的正方向沿逆时针转动的方向上,圆弧位于向量的右侧可以是圆弧位于向量的正方向沿顺时针转动的方向上。
47.因此,根据交叉方向的正负,则可以将四解圆弧(根据第三端点a'、第四端点b'及第二圆弧半径r'得到的四条圆弧)进一步确定为两解圆弧,也即确定了第三端点a'和第四端点b'构成的向量a'b'的某侧的两条弧(一条优弧、一条劣弧)。
48.步骤104、根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
49.优劣弧信息表征了圆弧是优弧还是劣弧的信息,优劣弧信息在根据“端点-半径弧”的圆弧绘制方式调整圆弧时是不变的,因此,根据优劣弧信息,可以从上述确定的两解
圆弧(一条优弧、一条劣弧)中唯一地确定一条圆弧,这条唯一确定的圆弧即是通过对第一圆弧进行端点和/或半径的修改之后得到的第二圆弧,确定第二圆弧后,将第二圆弧绘制出来。
50.图3是本发明实施例提供的参数化建模中圆弧绘制方法中第一圆弧和第二圆弧的示意图。如图3所示,接收到对第一圆弧的第二端点b和第一圆弧半径r的修改操作,因此图中第一圆弧的第一端点a和第二圆弧的第三端点a'相同,第一圆弧的第二端点b和第二圆弧的第四端点b'不同,第一圆弧的第一圆弧半径r和第二圆弧的第二圆弧半径r'不同。
51.本发明实施例提供的参数化建模中圆弧绘制方法,通过对于当前展示的第一圆弧的两个端点及半径进行至少一种参数的修改,得到四条圆弧,根据交叉方向筛选得到两条圆弧,进一步根据优劣弧信息得到唯一确定的圆弧并绘制,可实现基于包括两端点、半径、交叉方向、优劣弧信息的圆弧四要素在“拱高弧”方式绘制圆弧的基础上进一步通过“端点-半径弧”的方式调整圆弧,实现了绘制的方便性和参数的明确性的有机结合,可大大提高设计、生产的效率。
52.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,在所述接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作之前,所述方法还包括:接收对所述第一圆弧的所述第一端点a和所述第二端点b的定位,并确定所述第一端点a和所述第二端点b;根据光标的位置确定拱高点h;根据所述第一端点a、所述第二端点b及所述拱高点h确定所述第一圆弧半径r、确定第一圆心o、确定所述交叉方向及确定所述优劣弧信息;根据所述第一端点a、所述第二端点b及所述第一圆心o确定第一起始角度和第一终止角度;根据所述第一圆心o、所述第一圆弧半径r、所述第一起始角度、所述第一终止角度及所述交叉方向绘制所述第一圆弧。
53.若第一圆弧为通过鼠标操作等(以下仅以鼠标操作为例)绘制的圆弧,则在接收当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作之前,需要确定圆弧四要素,并将第一圆弧进行绘制。
54.圆弧四要素中两个端点的信息,即第一端点a和第二端点b可以通过鼠标的点击操作获取,比如可以在设计页面设置“圆弧绘制”功能图标,响应到“圆弧绘制”功能图标的点击信息后,则监听鼠标在设计页面的点击操作,并可将点击的第一个位置作为第一端点a,将点击的第二个位置作为第二端点b。第一端点a和第二端点b确定后,根据光标的位置确定拱高点h。拱高点h为第一端点a和第二端点b构成的线段的中垂线和圆弧的交点。
55.根据第一端点a、第二端点b及拱高点h可以根据几何关系确定第一圆弧半径r及第一圆心o,由此得到第二要素(半径)。根据第一端点a、第二端点b及拱高点h进一步确定第三要素(交叉方向)和第四要素(优劣弧信息),由此得到圆弧四要素。
56.利用threejs等椭圆api绘制圆弧时,需要依据圆心、半径、起始角度、终止角度及交叉方向进行绘制。根据第一圆弧的第一端点a、第二端点b及第一圆心o确定第一起始角度和第一终止角度,第一起始角度即第一圆弧绘制的起始角度,第一终止角度即第一圆弧绘制的终止角度。根据第一圆心o、第一圆弧半径r、第一起始角度、第一终止角度及交叉方向绘制第一圆弧。
57.第一圆弧o、第一圆弧半径r、第一起始角度可以确定绘制圆弧的起始位置;第一圆弧o、第一圆弧半径r、第一终止角度可以确定绘制圆弧的终止位置。交叉方向可以确定圆弧
的绘制方向。若交叉方向为正,则根据第一圆心o、第一圆弧半径r,从第一起始角度沿逆时针方向绘制圆弧至第一终止角度,得到第一圆弧;若交叉方向为负,则根据第一圆心o、第一圆弧半径r从第一起始角度沿顺时针方向绘制圆弧至第一终止角度,得到第一圆弧。
58.本发明实施例提供的参数化建模中圆弧绘制方法,通过获取圆弧四要素并进行第一圆弧的绘制,为后续利用“端点-半径弧”的方式修改圆弧提供基础。
59.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述方法还包括:响应于接收到所述第一圆弧的选中信息,展示所述第一圆弧的属性面板,在所述属性面板的圆弧端点和半径对应的编辑项显示所述第一端点a和所述第二端点b的坐标及所述第一圆弧半径r的数值;所述接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,包括:通过获取所述编辑项的编辑操作接收对所述当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作。
60.设计页面上可能显示有多个圆弧,对哪个圆弧进行调整需要设置触发条件,比如通过圆弧的选中信息触发对相应圆弧的修改。对于圆弧的半径和/或端点的修改可以通过属性面板实现。属性面板上可以显示两个端点的横坐标和纵坐标以及半径的数值。并且,由于两个端点和半径均是可参数化的,即可以通过参数调整进行修改,因此,可以在属性面板上的圆弧端点和半径对应的编辑项显示当前选中的圆弧的端点和半径的数值。若圆弧选中之前,属性面板尚未显示,则弹出属性面板,并在对应的编辑项显示当前选中的圆弧的端点和半径的数值;若圆弧选中之前,属性面板已经显示,则将属性面板的编辑项更新为当前的选中的圆弧的端点和半径的数值。
61.因此,若监听到第一圆弧的选中信息,在属性面板的圆弧端点和半径对应的编辑项显示第一端点a和第二端点b的坐标及第一圆弧半径r的数值。
62.可以通过修改属性面板上的端点和半径对应的编辑项的数值来修改端点和/或半径。其中,可以通过修改端点的x坐标和y坐标的至少一种来修改端点坐标。因此,可以通过获取编辑项的编辑操作接收当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作。对于编辑项的编辑操作可以通过数字录入、公式录入等形式实现。
63.本发明实施例提供的参数化建模中圆弧绘制方法,通过设置属性面板修改圆弧端点和/或半径,提高了交互性能,方便于利用“端点-半径弧”的方式调整圆弧。
64.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述根据所述第一端点a、所述第二端点b及所述第一圆心o确定第一起始角度和第一终止角度,包括:计算所述第一圆心o指向所述第一端点a的第二向量oa和x轴正方向形成的第一夹角,将所述第一夹角作为所述第一起始角度;计算所述第一圆心o指向所述第二端点b的第三向量ob和x轴正方向形成的第二夹角,将所述第二夹角作为所述第一终止角度;其中,当前的绘制页面为xy平面。
65.当前的设计页面(也即绘制页面)为xy平面,设计有x轴正方向和y轴正方向。在根据第一端点a、第二端点b及第一圆心o确定第一起始角度和第一终止角度时,计算第一圆心o指向第一端点a的第二向量oa和x轴正方向形成的第一夹角,将第一夹角作为第一起始角度,计算第一圆心o指向第二端点b的第三向量ob和x轴正方向形成的第二夹角,将第二夹角作为第一终止角度。其中,第一圆心o指向第一端点a的第二向量oa和x轴正方向形成的第一
夹角可以是从x轴正方向沿逆时针转动到第二向量oa的方向所转过的角度,第一圆心o指向第二端点b的第三向量ob和x轴正方向形成的第二夹角可以是x轴正方向沿逆时针转动到第三向量ob的方向所转过的角度。
66.图4是本发明实施例提供的参数化建模中圆弧绘制方法中第一起始角度和第一终止角度的示意图。如图4所示,∠aox表示第一起始角度,∠box表示第一终止角度。
67.本发明实施例提供的参数化建模中圆弧绘制方法,通过计算第一圆心o指向第一端点a的第二向量oa和x轴正方向形成的第一夹角得到第一起始角度,计算第一圆心o指向第二端点b的第三向量ob和x轴正方向形成的第二夹角得到第一终止角度,为第一圆弧的绘制提供基础。
68.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述确定所述优劣弧信息,包括:确定所述第一端点a和所述第二端点b构成的线段的中点c;计算所述中点c指向所述第一圆心o的第四向量co和所述中点c指向所述拱高点h的第五向量ch的点乘结果;若所述点乘结果为正,则所述第一圆弧为优弧;若所述点乘结果为负,则所述第一圆弧为劣弧。
69.在确定优劣弧信息时,确定第一端点a和第二端点b构成的线段的中点c,计算中点c指向第一圆心o的第四向量co和中点c指向拱高点h的第五向量ch的点乘结果。点乘结果可正可负,若点乘结果为正,则第一圆弧为优弧;若点乘结果为负,则第一圆弧为劣弧。
70.图5是本发明实施例提供的参数化建模中圆弧绘制方法中优劣弧信息的获取过程示意图。如图5所示,第四向量co和第五向量ch均只在y轴上有值,x轴和z轴取值为0,且第四向量co和第五向量ch的方向相反,因此第四向量co和第五向量ch的点乘结果为负,第一圆弧为劣弧,与实际相符。
71.本发明实施例提供的参数化建模中圆弧绘制方法,通过计算第一端点a和第二端点b构成的线段的中点c指向第一圆心o的第四向量co和中点c指向拱高点h的第五向量ch的点乘结果,根据点乘结果的正负确定优劣弧信息,实现了优劣弧信息的简便快速获取。
72.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述确定所述交叉方向,包括:获取所述第一端点a指向所述第二端点b的所述第一向量ab和所述中点c指向所述拱高点h的第五向量ch的叉乘向量的方向;若所述叉乘向量沿z轴正方向,则所述交叉方向为正;若所述叉乘向量沿z轴负方向,则所述交叉方向为负;其中,所述交叉方向为正表示所述第一圆弧位于所述第一向量ab沿逆时针转动的方向上,所述交叉方向为负表示所述第一圆弧位于所述第一向量ab沿顺时针转动的方向上;当前的绘制页面为xy平面。
73.在确定交叉方向时,获取第一端点a指向第二端点b的第一向量ab与第一端点a和第二端点b构成的线段的中点c指向拱高点h的第五向量ch的叉乘向量的方向,若叉乘向量沿z轴正方向,则交叉方向为正;若叉乘向量沿z轴负方向,则交叉方向为负。z轴垂直与xy平面。
74.图6是本发明实施例提供的参数化建模中圆弧绘制方法中交叉方向的获取过程示意图。如图6所示,根据右手定则,第一向量ab和第五向量ch的叉乘向量沿z轴正方向,交叉向量为正,表示第一圆弧位于所述第一向量ab沿逆时针转动的方向上,与实际相符。
75.本发明实施例提供的参数化建模中圆弧绘制方法,通过获取第一端点a指向第二端点b的第一向量ab和中点c指向拱高点h的第五向量ch的叉乘向量的方向,根据叉乘向量
的方向与z轴正方向的关系确定交叉方向的正负,实现了交叉方向的简便快速获取。
76.本发明实施例提供的一种参数化建模中圆弧绘制方法,所述根据光标的位置确定拱高点h,包括:从所述光标的位置向所述第一端点a和第二端点所述b构成的线段的中垂线做投影,将投影点作为所述拱高点h。
77.在第一端点a和第二端点b确定后,光标移动的位置可以反映圆弧拱高的高低。由于光标很难精确移动到第一端点a和第二端点b构成的线段的中垂线上,因此,在根据光标的位置确定拱高点h时,从光标的位置向第一端点a和第二端点b构成的线段的中垂线做投影,将投影点作为拱高点h。
78.本发明实施例提供的参数化建模中圆弧绘制方法,通过从光标的位置向第一端点a和第二端点b构成的线段的中垂线做投影,将投影点作为拱高点h,实现了拱高点的简便快速获取。
79.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述绘制所述第二圆弧,包括:根据所述第三端点a'、所述第四端点b'、所述第二圆弧半径r'及所述优劣弧信息计算第二圆心o';根据所述第三端点a'、所述第四端点b'及所述第二圆心o'确定第二起始角度和第二终止角度;根据所述第二圆心o'、所述第二圆弧半径r'、所述第二起始角度、所述第二终止角度及所述交叉方向绘制所述第二圆弧。
80.在绘制第二圆弧时,根据第三端点a'、第四端点b'、第二圆弧半径r'及优劣弧信息通过几何关系可以计算得到第二圆弧的圆心即第二圆心o'。进一步根据第三端点a'、第四端点b'及第二圆心o'确定第二起始角度和第二终止角度。根据第二圆心o'、第二圆弧半径r'、第二起始角度、第二终止角度及交叉方向绘制第二圆弧。若交叉方向为正,则根据第二圆心o'、第二圆弧半径r',从第二起始角度沿逆时针方向绘制圆弧至第二终止角度,得到第二圆弧;若交叉方向为负,则根据第二圆心o'、第二圆弧半径r'从第二起始角度沿顺时针方向绘制圆弧至第二终止角度,得到第二圆弧。
81.本发明实施例提供的参数化建模中圆弧绘制方法,通过根据第三端点a'、第四端点b'、第二圆弧半径r'及优劣弧信息计算第二圆心o',根据第三端点a'、第四端点b'及第二圆心o'确定第二起始角度和第二终止角度,根据第二圆心o'、第二圆弧半径r'、第二起始角度、第二终止角度及交叉方向绘制第二圆弧,实现了调整端点和/或半径后的第二圆弧的快速绘制。
82.根据本发明实施例提供的一种参数化建模中圆弧绘制方法,所述根据所述第三端点a'、所述第四端点b'及所述第二圆心o'确定第二起始角度和第二终止角度,包括:计算所述第二圆心o'指向所述第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角,将所述第三夹角作为所述第二起始角度;计算所述第二圆心o'指向所述第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角,将所述第四夹角作为所述第二终止角度;其中,当前的绘制页面为xy平面。
83.在根据第三端点a'、第四端点b'及第二圆心o'确定第二起始角度和第二终止角度时,计算第二圆心o'指向第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角,将第三夹角作为第二起始角度,计算第二圆心o'指向第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角,将第四夹角作为第二终止角度。其中,第二圆心o'指向第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角可以是从x轴正方向沿逆时针转动到第六向量o'a'的
方向所转过的角度,第二圆心o'指向第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角可以是x轴正方向沿逆时针转动到第七向量o'b'的方向所转过的角度。
84.图7是本发明实施例提供的参数化建模中圆弧绘制方法中第二起始角度和第二终止角度的示意图。如图7所示,∠a'o'x表示第一起始角度,∠b'o'x表示第一终止角度。
85.本发明实施例提供的参数化建模中圆弧绘制方法,通过计算第二圆心o'指向第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角得到第二起始角度,计算第二圆心o'指向第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角得到第二终止角度,为第二圆弧的绘制提供基础。
86.图8是本发明实施例提供的参数化建模中圆弧绘制方法中正向绘制四要素圆弧的流程示意图。所谓正向绘制即如通过“拱高点”的方式利用鼠标在设计页面进行圆弧绘制,绘制过程还将得到圆弧四要素的信息。圆弧四要素包括两个端点、半径、交叉方向、优劣弧信息,正向绘制四要素圆弧的核心为生成圆弧四要素,下面结合图8具体描述生成四要素圆弧的步骤:
87.a、在设计工作页面中(以x-y平面为例)绘制a、b两个端点,得到要素一(两个端点);
88.b、移动鼠标的光标,以光标移动的点向ab线段的中垂线做投影得到的点,为实时的拱高点h;
89.c、通过a、b、h三点,可以计算出圆心o和半径r,得到要素二(半径);
90.d、ab两点的中点为c,ab构成的向量叉乘ch两点构成的向量,叉乘的结果为与ab、ch垂直的新向量n,其z分量或正或负,得到要素三(交叉方向的正负);其中,z分量为正,交叉方向为正;z分量为负,交叉方向为负;
91.e、起始角度为ab向量和oa向量的夹角,终止角度为ab向量和ob向量的夹角;
92.f、计算圆心o和拱高点h是否在ab向量的同侧,用向量co和向量ch进行点乘,点乘结果可正可负,为正,说明同向,即圆心o和拱高点h在向量ab的同侧,此时为优弧,反则为劣弧,得到要素四(优劣弧信息);
93.g、以上得到了圆心坐标,半径,起始角度,终止角度,可以用threejs的椭圆api绘制出预期的圆弧;其中,若交叉方向为正,则从起始角度沿逆时针画弧至终止角度;若交叉方向为负,需要翻转画弧方向,即则从起始角度沿顺时针画弧至终止角度。
94.图9是本发明实施例提供的参数化建模中圆弧绘制方法中反向绘制四要素圆弧的流程示意图。所谓反向绘制,即在改变圆弧端点和/或半径后,根据正向绘制的圆弧的四要素中的交叉方向和优劣弧信息确定唯一的圆弧并绘制,也就是参数化后(圆弧端点和半径可以被参数化)如何唯一确定圆弧,这是设计四要素圆弧算法的核心,下面结合图9具体描述流程图中通过四要素信息反向求解圆弧的步骤:
95.a、用户(设计师)点击选中当前展示的圆弧(已包含圆弧四要素),会弹出属性面板,可以对a、b两个端点或者半径r进行编辑,可以录入数字或者公式,结束编辑后校验编辑的数据是否合理,即能否满足圆的基本方程;
96.b、如果编辑的数据不合理,提示用户重新编辑,如果编辑数据合理,则计算得到四段弧线,即ab向量左侧优弧、劣弧各一条,ab向量右侧同样优弧、劣弧各一条,为四解圆弧;
97.c、通过要素三的交叉方向的正负,正,则圆弧位于ab向量的左侧(ab向量逆时针转
动的方向上),负则圆弧位于ab向量的右侧(ab向量顺时针转动的方向上),可以将四解圆弧进一步确定为两解圆弧,也就是确定了ab向量某侧的两条弧(一条优弧、一条劣弧),同时,计算ab向量和oa向量的夹角,ab向量和ob向量的夹角,确定了起始角度和终止角度;根据优劣弧信息确定圆心o的位置;
98.d、进一步通过要素四的优劣弧信息,可以将两解圆弧确定为唯一的圆弧;
99.e、和正向绘制一样,以上得到了圆心坐标,半径,起始角度,终止角度,根据交叉方向用threejs的椭圆api绘制出参数化的圆弧。
100.本发明实施例提供的参数化建模中圆弧绘制方法,主要包括生成四要素圆弧和由圆弧四要素确定圆弧的唯一解的步骤,其中:
101.1、生成四要素圆弧:两个端点为要素一,即初始绘制的两个点为两个端点,可以被参数化;半径为要素二,由两个端点和拱高点形成三点圆,进而确定半径,也可以被参数化;交叉方向为要素三,交叉方向取正或者负两种,绘制的圆弧如果在两个端点组成的向量的左侧,则交叉方向为正,反则为负;优劣弧信息为要素四,即初始绘制弧线的超过半圆弧则为优弧,反则为劣弧。通过绘制实时生成圆弧四要素。
102.2、由圆弧四要素确定圆弧的唯一解:实际建模过程,只关心两个端点和半径的参数化,确定了两个端点和半径,可以推导出四条圆弧,即两个端点组成的向量左侧存在优弧和劣弧各一条,其右侧也存在优弧和劣弧各一条,一共四条,也就是说“两个端点和半径”求解圆弧存在四解问题。通过交叉方向的正负可以确定弧线在两个端点向量的左侧还是右侧,可以将四解问题缩小至两解问题。最后通过优劣弧信息将两解问题进一步缩小至确定的唯一解。
103.图10是本发明实施例提供的参数化建模中圆弧绘制方法中第一圆弧的示意图。第一圆弧可以是利用“拱高弧”的方式初始绘制的圆弧,也可以是在此基础上通过端点和/或半径修改得到的圆弧。
104.图11是本发明实施例提供的参数化建模中圆弧绘制方法中第一圆弧被选中的示意图。如图11所示,弹出属性面板以供对端点和半径进行编辑。
105.图12是本发明实施例提供的参数化建模中圆弧绘制方法中对第一圆弧的半径进行修改之后得到的第二圆弧的示意图。可以对于图11弹出的属性面板中的半径修改后,点击“应用”,绘制图12所示的第二圆弧。
106.图13是本发明实施例提供的参数化建模中圆弧绘制方法中对第一圆弧的半径和端点进行修改之后得到的第二圆弧的示意图。可以对图11弹出的属性面板中的半径和端点修改后,点击“应用”,绘制得到图13所示的第二圆弧,也可以选中图12中的圆弧,进一步调整半径后,点击“应用”,绘制得到图13所示的第二圆弧。
107.本发明实施例提供的参数化建模中圆弧绘制方法,解决了参数化两个端点和圆弧半径后,如何反推3d绘制场景中的唯一确定的圆弧的问题;实现了绘制过程使用“拱高弧”,编辑属性面板使用“端点-半径弧”的四要素圆弧算法。
108.下面对本发明实施例提供的参数化建模中圆弧绘制装置进行描述,下文描述的参数化建模中圆弧绘制装置与上文描述的参数化建模中圆弧绘制方法可相互对应参照。
109.图14是本发明实施例提供的参数化建模中圆弧绘制装置的结构示意图。如图14所示,所述装置包括修改信息获取模块10、四解圆弧获取模块20、两解圆弧获取模块30及圆弧
绘制模块40,其中:修改信息获取模块10用于:接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r';四解圆弧获取模块20用于:响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧;两解圆弧获取模块30用于:根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量ab的相对位置关系;圆弧绘制模块40用于:根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
110.本发明实施例提供的参数化建模中圆弧绘制装置,通过对于当前展示的第一圆弧的两个端点及半径进行至少一种参数的修改,得到四条圆弧,根据交叉方向筛选得到两条圆弧,进一步根据优劣弧信息得到唯一确定的圆弧并绘制,可实现基于包括两端点、半径、交叉方向、优劣弧信息的圆弧四要素在“拱高弧”方式绘制圆弧的基础上进一步通过“端点-半径弧”的方式调整圆弧,实现了绘制的方便性和参数的明确性的有机结合,可大大提高设计、生产的效率。
111.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,所述装置还包括四要素圆弧绘制模块,用于:接收对所述第一圆弧的第一端点a和所述第二端点b的定位,并确定所述第一端点a和所述第二端点b;根据光标的位置确定拱高点h;根据所述第一端点a、所述第二端点b及所述拱高点h确定第一圆弧半径r、确定第一圆心o、确定所述交叉方向及确定所述优劣弧信息;根据所述第一端点a、所述第二端点b及所述第一圆心o确定第一起始角度和第一终止角度;根据所述第一圆心o、所述第一圆弧半径r、所述第一起始角度、所述第一终止角度及所述交叉方向绘制所述第一圆弧。
112.本发明实施例提供的参数化建模中圆弧绘制装置,通过获取圆弧四要素并进行第一圆弧的绘制,为后续利用“端点-半径弧”的方式修改圆弧提供基础。
113.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,圆弧绘制模块40还用于:响应于接收到所述第一圆弧的选中信息,展示所述第一圆弧的属性面板,在所述属性面板的圆弧端点和半径对应的编辑项显示所述第一端点a和所述第二端点b的坐标及所述第一圆弧半径r的数值;所述接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,包括:通过获取所述编辑项的编辑操作接收对所述当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作。
114.本发明实施例提供的参数化建模中圆弧绘制装置,通过设置属性面板修改圆弧端点和/或半径,提高了交互性能,方便于利用“端点-半径弧”的方式调整圆弧。
115.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,四要素圆弧绘制模块在用于根据所述第一端点a、所述第二端点b及所述第一圆心o确定第一起始角度和第一终止角度,具体用于:计算所述第一圆心o指向所述第一端点a的第二向量oa和x轴正方向形成的第一夹角,将所述第一夹角作为所述第一起始角度;计算所述第一圆心o指向所述第二端点b的第三向量ob和x轴正方向形成的第二夹角,将所述第二夹角作为所述第一终止角度;其中,当前的绘制页面为xy平面。
116.本发明实施例提供的参数化建模中圆弧绘制装置,通过计算第一圆心o指向第一
端点a的第二向量oa和x轴正方向形成的第一夹角得到第一起始角度,计算第一圆心o指向第二端点b的第三向量ob和x轴正方向形成的第二夹角得到第一终止角度,为第一圆弧的绘制提供基础。
117.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,四要素圆弧绘制模块在用于确定所述优劣弧信息时,具体用于:确定所述第一端点a和所述第二端点b构成的线段的中点c;计算所述中点c指向所述第一圆心o的第四向量co和所述中点c指向所述拱高点h的第五向量ch的点乘结果;若所述点乘结果为正,则所述第一圆弧为优弧;若所述点乘结果为负,则所述第一圆弧为劣弧。
118.本发明实施例提供的参数化建模中圆弧绘制装置,通过计算第一端点a和第二端点b构成的线段的中点c指向第一圆心o的第四向量co和中点c指向拱高点h的第五向量ch的点乘结果,根据点乘结果的正负确定优劣弧信息,实现了优劣弧信息的简便快速获取。
119.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,四要素圆弧绘制模块在用于确定所述交叉方向时,具体用于:获取所述第一端点a指向所述第二端点b的所述第一向量ab和所述中点c指向所述拱高点h的第五向量ch的叉乘向量的方向;若所述叉乘向量沿z轴正方向,则所述交叉方向为正;若所述叉乘向量沿z轴负方向,则所述交叉方向为负;其中,所述交叉方向为正表示所述第一圆弧位于所述第一向量ab沿逆时针转动的方向上,所述交叉方向为负表示所述第一圆弧位于所述第一向量ab沿顺时针转动的方向上;其中,当前的绘制页面为xy平面。
120.本发明实施例提供的参数化建模中圆弧绘制装置,通过根据第一端点a指向第二端点b的第一向量ab和中点c指向拱高点h的第五向量ch的叉乘向量的方向,根据叉乘向量的方向与z轴正方向的关系确定交叉方向的正负,实现了交叉方向的简便快速获取。
121.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,四要素圆弧绘制模块在用于根据光标的位置确定拱高点h时,具体用于:从所述光标的位置向所述第一端点a和所述第二端点b构成的线段的中垂线做投影,将投影点作为所述拱高点h。
122.本发明实施例提供的参数化建模中圆弧绘制装置,通过从光标的位置向第一端点a和第二端点b构成的线段的中垂线做投影,将投影点作为拱高点h,实现了拱高点的简便快速获取。
123.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,圆弧绘制模块40在用于绘制所述第二圆弧时,具体用于:根据所述第三端点a'、所述第四端点b'、所述第二圆弧半径r'及所述优劣弧信息计算第二圆心o';根据所述第三端点a'、所述第四端点b'及所述第二圆心o'确定第二起始角度和第二终止角度;根据所述第二圆心o'、所述第二圆弧半径r'、所述第二起始角度、所述第二终止角度及所述交叉方向绘制所述第二圆弧。
124.本发明实施例提供的参数化建模中圆弧绘制装置,通过根据第三端点a'、第四端点b'、第二圆弧半径r'及优劣弧信息计算第二圆心o',根据第三端点a'、第四端点b'及第二圆心o'确定第二起始角度和第二终止角度,根据第二圆心o'、第二圆弧半径r'、第二起始角度、第二终止角度及交叉方向绘制第二圆弧,实现了调整端点和/或半径后的第二圆弧的快速绘制。
125.根据本发明实施例提供的一种参数化建模中圆弧绘制装置,圆弧绘制模块40在用于根据所述第三端点a'、所述第四端点b'及所述第二圆心o'确定第二起始角度和第二终止
角度时,具体用于:计算所述第二圆心o'指向所述第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角,将所述第三夹角作为所述第二起始角度;计算所述第二圆心o'指向所述第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角,将所述第四夹角作为所述第二终止角度;其中,当前的绘制页面为xy平面。
126.本发明实施例提供的参数化建模中圆弧绘制装置,通过计算第二圆心o'指向第三端点a'的第六向量o'a'和x轴正方向形成的第三夹角得到第二起始角度,计算第二圆心o'指向第四端点b'的第七向量o'b'和x轴正方向形成的第四夹角得到第二终止角度,为第二圆弧的绘制提供基础。
127.图15是本发明实施例提供的电子设备的结构示意图,如图15所示,该电子设备可以包括:处理器(processor)910、通信接口(communications interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行参数化建模中圆弧绘制方法,该方法包括:接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r';响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧;根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量(ab)的相对位置关系;根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
128.此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
129.另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的参数化建模中圆弧绘制方法,该方法包括:接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r';响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧;根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量(ab)的相对位置关系;根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
130.又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的参数化建模中圆弧
绘制方法,该方法包括:接收对当前展示的第一圆弧的第一端点a、第二端点b及第一圆弧半径r中至少一种参数的修改操作,得到第三端点a'和第四端点b'及第二圆弧半径r';响应于所述修改操作,且所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'满足圆的基本方程,根据所述第三端点a'、所述第四端点b'及所述第二圆弧半径r'得到四条圆弧;根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点a和所述第二端点b构成的第一向量(ab)的相对位置关系;根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。
131.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
132.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
133.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:1.一种参数化建模中圆弧绘制方法,其特征在于,包括:接收对当前展示的第一圆弧的第一端点(a)、第二端点(b)及第一圆弧半径(r)中至少一种参数的修改操作,得到第三端点(a')和第四端点(b')及第二圆弧半径(r');响应于所述修改操作,且所述第三端点(a')、所述第四端点(b')及所述第二圆弧半径(r')满足圆的基本方程,根据所述第三端点(a')、所述第四端点(b')及所述第二圆弧半径(r')得到四条圆弧;根据所述第一圆弧的交叉方向从所述四条圆弧中筛选得到两条圆弧;其中,所述交叉方向用于表征所述第一圆弧与所述第一端点(a)和所述第二端点(b)构成的第一向量(ab)的相对位置关系;根据所述第一圆弧的优劣弧信息从所述两条圆弧中确定第二圆弧,绘制所述第二圆弧。2.根据权利要求1所述的参数化建模中圆弧绘制方法,其特征在于,在所述接收对当前展示的第一圆弧的第一端点(a)、第二端点(b)及第一圆弧半径(r)中至少一种参数的修改操作之前,所述方法还包括:接收对所述第一圆弧的所述第一端点(a)和所述第二端点(b)的定位,并确定所述第一端点(a)和所述第二端点(b);根据光标的位置确定拱高点(h);根据所述第一端点(a)、所述第二端点(b)及所述拱高点(h)确定所述第一圆弧半径(r)、确定第一圆心(o)、确定所述交叉方向及确定所述优劣弧信息;根据所述第一端点(a)、所述第二端点(b)及所述第一圆心(o)确定第一起始角度和第一终止角度;根据所述第一圆心(o)、所述第一圆弧半径(r)、所述第一起始角度、所述第一终止角度及所述交叉方向绘制所述第一圆弧。3.根据权利要求1所述的参数化建模中圆弧绘制方法,其特征在于,所述方法还包括:响应于接收到所述第一圆弧的选中信息,展示所述第一圆弧的属性面板,在所述属性面板的圆弧端点和半径对应的编辑项显示所述第一端点(a)和所述第二端点(b)的坐标及所述第一圆弧半径(r)的数值;所述接收对当前展示的第一圆弧的第一端点(a)、第二端点(b)及第一圆弧半径(r)中至少一种参数的修改操作,包括:通过获取所述编辑项的编辑操作接收对所述当前展示的第一圆弧的第一端点(a)、第二端点(b)及第一圆弧半径(r)中至少一种参数的修改操作。4.根据权利要求2所述的参数化建模中圆弧绘制方法,其特征在于,所述根据所述第一端点(a)、所述第二端点(b)及所述第一圆心(o)确定第一起始角度和第一终止角度,包括:计算所述第一圆心(o)指向所述第一端点(a)的第二向量(oa)和x轴正方向形成的第一夹角,将所述第一夹角作为所述第一起始角度;计算所述第一圆心(o)指向所述第二端点(b)的第三向量(ob)和x轴正方向形成的第二夹角,将所述第二夹角作为所述第一终止角度;其中,当前的绘制页面为xy平面。5.根据权利要求2所述的参数化建模中圆弧绘制方法,其特征在于,所述确定所述优劣弧信息,包括:
确定所述第一端点(a)和所述第二端点(b)构成的线段的中点(c);计算所述中点(c)指向所述第一圆心(o)的第四向量(co)和所述中点(c)指向所述拱高点(h)的第五向量(ch)的点乘结果;若所述点乘结果为正,则所述第一圆弧为优弧;若所述点乘结果为负,则所述第一圆弧为劣弧。6.根据权利要求5所述的参数化建模中圆弧绘制方法,其特征在于,所述确定所述交叉方向,包括:获取所述第一端点(a)指向所述第二端点(b)的所述第一向量(ab)和所述中点(c)指向所述拱高点(h)的所述第五向量(ch)的叉乘向量的方向;若所述叉乘向量沿z轴正方向,则所述交叉方向为正;若所述叉乘向量沿z轴负方向,则所述交叉方向为负;其中,所述交叉方向为正表示所述第一圆弧位于所述第一向量(ab)沿逆时针转动的方向上,所述交叉方向为负表示所述第一圆弧位于所述第一向量(ab)沿顺时针转动的方向上;当前的绘制页面为xy平面。7.根据权利要求2所述的参数化建模中圆弧绘制方法,其特征在于,所述根据光标的位置确定拱高点(h),包括:从所述光标的位置向所述第一端点(a)和所述第二端点(b)构成的线段的中垂线做投影,将投影点作为所述拱高点(h)。8.根据权利要求1所述的参数化建模中圆弧绘制方法,其特征在于,所述绘制所述第二圆弧,包括:根据所述第三端点(a')、所述第四端点(b')、所述第二圆弧半径(r')及所述优劣弧信息计算第二圆心(o');根据所述第三端点(a')、所述第四端点(b')及所述第二圆心(o')确定第二起始角度和第二终止角度;根据所述第二圆心(o')、所述第二圆弧半径(r')、所述第二起始角度、所述第二终止角度及所述交叉方向绘制所述第二圆弧。9.根据权利要求8所述的参数化建模中圆弧绘制方法,其特征在于,所述根据所述第三端点(a')、所述第四端点(b')及所述第二圆心(o')确定第二起始角度和第二终止角度,包括:计算所述第二圆心(o')指向所述第三端点(a')的第六向量(o'a')和x轴正方向形成的第三夹角,将所述第三夹角作为所述第二起始角度;计算所述第二圆心(o')指向所述第四端点(b')的第七向量(o'b')和x轴正方向形成的第四夹角,将所述第四夹角作为所述第二终止角度;其中,当前的绘制页面为xy平面。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述参数化建模中圆弧绘制方法的步骤。
技术总结本发明实施例提供一种参数化建模中圆弧绘制方法及装置,该方法包括:接收对当前展示的第一圆弧的第一端点(A)、第二端点(B)及第一圆弧半径(R)中至少一种参数的修改操作,得到第三端点(A')和第四端点(B')及第二圆弧半径(R');根据第三端点(A')、第四端点(B')及第二圆弧半径(R')得到四条圆弧;根据第一圆弧的交叉方向从四条圆弧中筛选得到两条圆弧;根据第一圆弧的优劣弧信息从两条圆弧中确定第二圆弧,绘制第二圆弧。本发明实施例基于预设圆弧四要素在“拱高弧”方式绘制圆弧的基础上进一步通过“端点-半径弧”的方式调整圆弧,实现了绘制的方便性和参数的明确性的有机结合,可大大提高设计、生产的效率。生产的效率。生产的效率。
技术研发人员:吴雁江
受保护的技术使用者:贝壳找房网(北京)信息技术有限公司
技术研发日:2022.03.25
技术公布日:2022/7/5