CN110047137B - 抛物面的绘制方法、装置、设备及存储介质 - Google Patents

抛物面的绘制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110047137B
CN110047137B CN201910331621.0A CN201910331621A CN110047137B CN 110047137 B CN110047137 B CN 110047137B CN 201910331621 A CN201910331621 A CN 201910331621A CN 110047137 B CN110047137 B CN 110047137B
Authority
CN
China
Prior art keywords
parameter
paraboloid
equation data
data corresponding
variable
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.)
Active
Application number
CN201910331621.0A
Other languages
English (en)
Other versions
CN110047137A (zh
Inventor
王防修
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Polytechnic University
Original Assignee
Wuhan Polytechnic University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Polytechnic University filed Critical Wuhan Polytechnic University
Priority to CN201910331621.0A priority Critical patent/CN110047137B/zh
Publication of CN110047137A publication Critical patent/CN110047137A/zh
Application granted granted Critical
Publication of CN110047137B publication Critical patent/CN110047137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明属于数学计算技术领域,公开了一种抛物面的绘制方法、装置、设备及存储介质。该方法包括:获取待绘制的抛物面对应的抛物面方程数据;根据抛物面方程数据,确定抛物面对应的抛物面模型;对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与抛物面模型进行比较;若抛物面模型与预设抛物面模型相同,则从抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数;根据第一绘图参数,确定抛物面对应的抛物面类型;根据抛物面类型,查找抛物面对应的绘图坐标模型;根据第一绘图参数、第二绘图参数和绘图坐标模型,绘制抛物面。通过上述方式,解决了现有技术中抛物面绘制要求高、难度大的技术问题。

Description

抛物面的绘制方法、装置、设备及存储介质
技术领域
本发明涉及数学计算技术领域,尤其涉及一种抛物面的绘制方法、装置、设备及存储介质。
背景技术
随着数学算法的发展,数学算法在越来越多的领域有着举足轻重的地位。抛物面是学好多重积分算法的前提和基础,所以在学习过程中绘制各种抛物面非常重要。
目前还没有一种绘图装置能够实现对不同类型抛物面,如椭圆抛物面、双曲抛物面的绘制。因而用户在绘制上述几种类型的抛物面时,需要自己先确定待绘制的抛物面是哪种类型,然后选择专门绘制这种抛物面的绘图装置进行绘制。
虽然这种方式可以实现对不同抛物面的绘制,但是对于没有掌握各种抛物面的特征、绘图原理,以及相应绘图软件的编程语句的初学者,在拿到一个抛物面方程时,往往无法准确的确定当前抛物面方程对应的抛物面究竟是哪一类型,因此根本无法快速、精准的绘制出需要的抛物面。
所以,亟需提供一种能够绘制不同类型抛物面的绘制方案,以使任意用户均可快速、准确的绘制各种类型的抛物面。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种抛物面的绘制方法、装置、设备及存储介质,旨在解决现有技术中抛物面绘制要求高、难度大的技术问题。
为实现上述目的,本发明提供了一种抛物面的绘制方法,所述方法包括以下步骤:
获取待绘制的抛物面对应的抛物面方程数据;
根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型;
对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与所述抛物面模型进行比较;
若所述抛物面模型与所述预设抛物面模型相同,则从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数,所述第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数;
根据所述第一绘图参数,确定所述抛物面对应的抛物面类型;
根据所述抛物面类型,查找所述抛物面对应的绘图坐标模型;
根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面。
优选地,所述根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型的步骤,包括:
从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据;
按照预设的变量转换规则,将各空间坐标系参数对应的方程数据中的第一绘图参数和第二绘图参数替换为预设符号;
按照预设排列规则,对进行预设符合替换后的各方程数据进行排列,得到所述抛物面对应的抛物面模型。
优选地,所述从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的步骤之前,所述方法还包括:
将所述抛物面方程数据转化为字符串,并过滤所述字符串中的非法字符,得到第一字符串;
其中,所述从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的步骤,包括:
从所述第一字符串中分离出所述空间坐标系参数对应的方程数据。
优选地,所述从所述第一字符串中分离出所述空间坐标系参数对应的方程数据的步骤,包括:
确定所述空间坐标系参数在所述第一字符串中的第一位置信息;
以所述第一位置信息为起点,向左遍历所述第一字符串,将遍历到的左侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述左侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向左遍历,并确定所述左侧当前字符在所述第一字符串中的第二位置信息;
以所述第一位置信息为起点,向右遍历所述第一字符串,将遍历到的右侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述右侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向右遍历,并确定所述右侧当前字符在所述第一字符串中的第三位置信息;
从所述第一字符串中截取所述第二位置信息与所述第三位置信息之间的字符,及所述第二位置信息对应的字符,得到所述空间坐标系参数对应的方程数据。
优选地,所述从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数的步骤,包括:
根据所述抛物面模型和所述抛物面方程数据,确定所述抛物面模型与所述抛物面方程数据之间的对应关系;
根据所述对应关系,从所述第一字符串中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数。
优选地,所述空间坐标系参数为空间坐标系中的参数x、参数y和参数z,所述第一绘图参数包括与所述参数x做乘法运算的第一变量和第二变量、与所述参数y做乘法运算的第三变量和第四变量,以及与所述参数z做乘法运算的第五变量和第六变量;
所述根据所述第一绘图参数,确定所述抛物面对应的抛物面类型的步骤,包括:
对所述第一变量、所述第二变量、所述第五变量和所述第六变量做乘法运行,得到第一乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第二乘积;对所述第一变量、所述第二变量、所述第三变量和所述第四变量做乘法运行,得到第三乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第四乘积;
确定所述参数x对应的方程数据、所述参数y对应的方程数据和所述参数z对应的方程数据的阶数;
若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数z对应的z轴为旋转轴的椭圆抛物面类型;
若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;
若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数y对应的y轴为旋转轴的椭圆抛物面类型;
若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;
若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数x对应的x轴为旋转轴的椭圆抛物面类型;
若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
优选地,所述根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面的步骤,包括:
根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,确定绘图坐标;
根据所述绘图坐标模型,确定初始绘制语句;
根据所述绘图坐标和所述初始绘制语句,生成所述抛物面对应的目标绘制语句;
根据所述目标绘制语句,绘制所述抛物面。
此外,为实现上述目的,本发明还提出一种抛物面的绘制装置,所述装置包括:
获取模块,用获取待绘制的抛物面对应的抛物面方程数据;
第一确定模块,用于根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型;
比较模块,用于对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与所述抛物面模型进行比较;
提取模块,用于在所述抛物面模型与所述预设抛物面模型相同时,从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数,所述第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数;
第二确定模块,用于根据所述第一绘图参数,确定所述抛物面对应的抛物面类型;
查找模块,用于根据所述抛物面类型,查找所述抛物面对应的绘图坐标模型;
绘制模块,用于根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面。
此外,为实现上述目的,本发明还提出一种抛物面的绘制设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的抛物面的绘制程序,所述抛物面的绘制程序配置为实现如上文所述的抛物面的绘制方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有抛物面的绘制程序,所述抛物面的绘制程序被处理器执行时实现如上文所述的抛物面的绘制方法的步骤。
本发明提供的抛物面的绘制方案,在绘制抛物面时,用户无需考虑待绘制的抛物面对应的抛物面类型,而是直接触发抛物面的绘制操作,由终端设备获取待绘制的抛物面对应的抛物面方程数据,然后由终端设备根据获取到的抛物面方程数据确定待绘制的抛物面对应的抛物面模型,并将确定的抛物面模型与预设抛物面模型作比较,只有在确定待绘制的抛物面对应的抛物面模型与预设抛物面模型相同时,才从获取到的抛物面方程数据中提取绘制抛物面时需要的第一绘图参数和第二绘图参数,并根据提取到的第一绘图参数确定待绘制的抛物面对应的抛物面类型,同时根据确定的抛物面类型查找待绘制的抛物面对应的绘图坐标模型,最终根据提取到的第一绘图参数、第二绘图参数和查找到的绘图坐标模型,便可以自动绘制出用户需要的抛物面。
由于整个绘制过程,用户只需要提供待绘制的抛物面对应的抛物面方程数据,无需学习和掌握抛物面的绘图原理,也无需自己编写抛物面对应的编程语句,因而大大简化了用户操作,使得任意用户均可快速、准确的绘制各种类型的抛物面。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的抛物面的绘制设备的结构示意图;
图2为本发明抛物面的绘制方法第一实施例的流程示意图;
图3为本发明抛物面的绘制方法第一实施例中步骤S20的具体实现流程示意图;
图4为本发明抛物面的绘制方法第二实施例的流程示意图;
图5为本发明抛物面的绘制装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的抛物面的绘制设备结构示意图。
如图1所示,该抛物面的绘制设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对抛物面的绘制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及抛物面的绘制程序。
在图1所示的抛物面的绘制设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明抛物面的绘制设备中的处理器1001、存储器1005可以设置在抛物面的绘制设备中,所述抛物面的绘制设备通过处理器1001调用存储器1005中存储的抛物面的绘制程序,并执行本发明实施例提供的抛物面的绘制方法。
本发明实施例提供了一种抛物面的绘制方法,参照图2,图2为本发明一种抛物面的绘制方法第一实施例的流程示意图。
本实施例中,所述抛物面的绘制方法包括以下步骤:
步骤S10,获取待绘制的抛物面对应的抛物面方程数据。
可理解的是,所述抛物面方程数据可以来自于用户手动输入或者是***内部输出的等待进一步处理的数据。本实施例中,所述抛物面方程数据来自于用户输入,所述抛物面方程数据为需要绘制的抛物面对应的抛物面方程。
步骤S20,根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型。
应当理解的是,在实际应用中,绘制任意抛物面时,均是根据空间坐标系参数,及与空间坐标系参数存在关联性的绘图参数绘制的。
而空间坐标系参数主要包括空间坐标系中的参数x、参数y和参数z。因此,本实施例中所说的抛物面模型,具体是指将所述抛物面方程数据中包含的空间坐标系中的任意坐标参数,如参数x、参数y,或者参数z对应的变量值进行符号变化得到的不携带具体数值的抛物面方程。
为了便于理解上述步骤S20中的操作,本实施例给出一种具体的实现方式,详见图3:
子步骤S201,从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据。
为了便于理解,以下结合实例进行说明:
假设,用户输入的抛物面方程数据为:
Figure BDA0002037240120000081
在从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据时,需要先将与参数x、参数y和参数z相关的信息,以及变量参数均调整到“=”的左侧,右侧用“0”表示,然后再进行分类操作。
相应地,按照上述操作,对上述抛物面方程数据中的参数进行位置调整后,得到的抛物面方程数据为:
Figure BDA0002037240120000082
最终,从进行位置调整后的抛物面方程数据中分离出的方程数据分别为:
参数x对应的方程数据:
Figure BDA0002037240120000083
参数y对应的方程数据:
Figure BDA0002037240120000084
参数z对应的方程数据:
Figure BDA0002037240120000085
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
子步骤S202,按照预设的变量转换规则,将各空间坐标系参数对应的方程数据中的第一绘图参数和第二绘图参数替换为预设符号。
需要说明的是,上述所说的第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数。
为了便于说明,本实施例给出一种具体的变量转换规则,大致如下:
在从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据时,需要进行变量转换为:将与参数x做减法运算的变量值用变量x0表示,将与参数x做乘法运算,且位于参数x之前的变量值用变量a1表示,将与参数x做乘法运算,且位于参数x之后的变量值用变量a2表示;将与参数y做减法运算的变量值用变量y0表示,将与参数y做乘法运算,且位于参数y之前的变量值用变量b1表示,将与参数y做乘法运算,且位于参数y之后的变量值用变量b2表示;将与参数z做减法运算的变量值用变量z0表示,将与参数z做乘法运算,且位于参数z之前的变量值用变量c1表示,将与参数z做乘法运算,且位于参数z之后的变量值用变量c2表示。
以上述变量转换规则为例,对参数x对应的方程数据
Figure BDA0002037240120000091
进行参数替换后,得到的方程数据为“a1(x-x0)2a2”;对参数y对应的方程数据
Figure BDA0002037240120000092
进行参数替换后,得到的方程数据为“b1(y-y0)b2”;对参数z对应的方程数据
Figure BDA0002037240120000093
进行参数替换后,得到的方程数据为“c1(z-z0)2c2”。
子步骤S203,按照预设排列规则,对进行预设符合替换后的各方程数据进行排列,得到所述抛物面对应的抛物面模型。
具体的说,本实施例中所说的预设排列规则,可以根据预先构建的抛物面模型库中存储的预设抛物面模型的格式进行规定。
比如说,在所述抛物面模型库中存储的预设抛物面模型仅有三种,且具体格式为:
(1)a1(x-x0)2a2+b1(y-y0)2b2+c1(z-z0)c2=0;
(2)a1(x-x0)2a2+c1(z-z0)2c2+b1(y-y0)b2=0;
(3)b1(y-y0)2b2+c1(z-z0)2c2+a1(x-x0)a2=0。
设置的排列规则可以为:
(1)在所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶时,按照先参数x对应的方程数据,再参数y对应的方程数据,最后参数z对应的方程数据的顺序进行排列,并用“+”将上述三个空间坐标系参数对应的方程数据串联起来;
(2)在所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶时,按照先参数x对应的方程数据,再参数z对应的方程数据,最后参数y对应的方程数据的顺序进行排列,并用“+”将上述三个空间坐标系参数对应的方程数据串联起来;
(3)在所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶时,按照先参数y对应的方程数据,再参数z对应的方程数据,最后参数x对应的方程数据的顺序进行排列,并用“+”将上述三个空间坐标系参数对应的方程数据串联起来。
相应地,根据所述抛物面方程数据
Figure BDA0002037240120000101
最终确定的所述待绘制的抛物面对应的抛物面模型为:a1(x-x0)2a2+c1(z-z0)2c2+b1(y-y0)b2=0。
应当理解的是,以上给出的仅为一种根据抛物面方程数据,确定抛物面对应的抛物面模型的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
步骤S30,对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与所述抛物面模型进行比较。
具体的说,由于本实施例中提供的抛物面的绘制方案主要针对的是椭圆抛物面类型和双曲抛物面类型的抛物面。
通过观察发现,这2种类型的抛物面具有一个共性,即任意一个抛物面方程中,存在任意两个空间坐标系参数对应的方程数据的阶数是2,剩余的一个空间坐标系参数对应的方程数据的阶数是1。也就是说,这2种抛物面可以用同一个抛物面模型表示。故,最终确定的预设抛物面模型只要是由“a1(x-x0)2a2”、“b1(y-y0)2b2”和“c1(z-z0)c2”,或者“a1(x-x0)2a2”、“c1(z-z0)2c2”和“b1(y-y0)b2”,或者“b1(y-y0)2b2”、“c1(z-z0)2c2”和“a1(x-x0)a2”构成的即可,对上述各个方程数据的顺序不做限制。
相应地,上述将遍历到的当前预设抛物面模型与所述抛物面模型进行比较的操作,具体可以是分别遍历确定的抛物面模型和所述当前预设抛物面模型,然后将遍历到的两个抛物面模型的当前变量进行比较,若通过比较,确定的所述抛物面模型和所述当前预设抛物面模型中的每一个变量均一致,则确定所述抛物面模型与所述当前预设抛物面模型相同。
步骤S40,若所述抛物面模型与所述预设抛物面模型相同,则从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数。
具体的说,在本实施例中,所述第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数。
此外,为了便于理解,步骤S40中所说的从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数的操作,本实施例给出一种具体的实现方式,大致如下:
(1)根据所述抛物面模型和所述抛物面方程数据,确定所述抛物面模型与所述抛物面方程数据之间的对应关系。
仍以抛物面方程数据为
Figure BDA0002037240120000111
为例,在确定的抛物面模型为“a1(x-x0)2a2+c1(z-z0)2c2+b1(y-y0)b2=0”时,所述抛物面模型和所述抛物面方程数据之间的对应关系为:a1对应“-2”,a2对应
Figure BDA0002037240120000112
b1对应“5”,b2对应
Figure BDA0002037240120000113
c1对应“3”,c2对应
Figure BDA0002037240120000114
x0对应“1”,y0对应“-1”和z0对应“-2”。
(2)根据所述对应关系,从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数。
相应地,根据上述对应关系,从抛物面方程数据
Figure BDA0002037240120000115
中提取的所述第一绘图参数为:a1=-2,
Figure BDA0002037240120000116
b1=5,
Figure BDA0002037240120000117
c1=3,
Figure BDA0002037240120000118
第二绘图参数为:x0=1,y0=-1和z0=-2。
应当理解的是,以上给出的仅为一种从所述抛物面方程数据中提取第一绘图参数和第二绘图参数的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,在本实施例中仅给出在所述抛物面模型与所述预设抛物面模型相同时需要执行的操作,关于在所述抛物面模型与所述预设抛物面模型不相同的情况,在实际应用中,本领域的技术人员可以根据需要设置相应的处理流程,比如在用户操作界面显示输入的抛物面方程数据有误,以提示用户进行修改,具体的实现方式,此处不做限制。
步骤S50,根据所述第一绘图参数,确定所述抛物面对应的抛物面类型。
具体的说,由于本实施例中所说的空间坐标系参数为空间坐标系中的参数x、参数y和参数z。
故,本实施例中所说的第一绘图参数,即为与所述参数x做乘法运算的第一变量a1和第二变量a2、与所述参数y做乘法运算的第三变量b1和第四变量b2,以及与所述参数z做乘法运算的第五变量c1和第六变量c2
相应地,上述根据所述第一绘图参数,确定所述抛物面对应的抛物面类型的操作,大致如下:
首先,对所述第一变量a1、所述第二变量a2、所述第五变量c1和所述第六变量c2做乘法运行,得到第一乘积a1×a2×c1×c2;对所述第三变量b1、所述第四变量b2、所述第五变量c1和所述第六变量c2做乘法运行,得到第二乘积b1×b2×c1×c2;对所述第一变量a1、所述第二变量a2、所述第三变量b1和所述第四变量b2做乘法运行,得到第三乘积a1×a2×b1×b2;对所述第三变量b1、所述第四变量b2、所述第五变量c1和所述第六变量c2做乘法运行,得到第四乘积b1×b2×c1×c2
然后,确定所述参数x对应的方程数据、所述参数y对应的方程数据和所述参数z对应的方程数据的阶数。
具体的说,在实际应用中,一个抛物面方程数据中包括的所述参数x对应的方程数据、所述参数y对应的方程数据和所述参数z对应的方程数据中,需要有任意两个参数对应的方程数据为二阶,任意一个参数对应的方程数据为一阶。
比如,所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶。
相应地,在所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶时,存在的两种抛物面类型,具体如下:
在所述第一乘积a1×a2×c1×c2和所述第二乘积b1×b2×c1×c2均小于0时,确定所述抛物面对应的抛物面类型为以所述参数z对应的z轴为旋转轴的椭圆抛物面类型;
在所述第一乘积a1×a2×c1×c2和所述第二乘积b1×b2×c1×c2中的任意一个乘积大于0,另一个小于0时,确定所述抛物面对应的抛物面类型为双曲抛物面类型。
还比如,所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶。
相应地,在所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,存在的两种抛物面类型,具体如下:
在所述第三乘积a1×a2×b1×b2和所述第四乘积b1×b2×c1×c2均小于0时,确定所述抛物面对应的抛物面类型为以所述参数y对应的y轴为旋转轴的椭圆抛物面类型;
在所述第三乘积a1×a2×b1×b2和所述第四乘积b1×b2×c1×c2中的任意一个乘积大于0,另一个小于0时,确定所述抛物面对应的抛物面类型为双曲抛物面类型。
还比如,所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶。
相应地,在所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶时,存在的两种抛物面类型,具体如下:
在所述第三乘积a1×a2×b1×b2和所述第一乘积a1×a2×c1×c2均小于0时,确定所述抛物面对应的抛物面类型为以所述参数x对应的x轴为旋转轴的椭圆抛物面类型;
在所述第三乘积a1×a2×b1×b2和所述第一乘积a1×a2×c1×c2中的任意一个乘积大于0,另一个小于0时,确定所述抛物面对应的抛物面类型为双曲抛物面类型。
步骤S60,根据所述抛物面类型,查找所述抛物面对应的绘图坐标模型。
具体的说,由于待绘制的抛物面对应的抛物面类型可能是以x轴为旋转轴的椭圆抛物面类型、以y轴为旋转轴的椭圆抛物面类型、以z轴为旋转轴的椭圆抛物面类型,以及满足步骤S50中给出情况的6种双曲抛物面类型中的任意一种,因而对应的绘图坐标模型也会有所不同,为了便于理解,以下给出了上述各种抛物面类型的抛物面对应的绘图坐标模型:
(1)在所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶时,存在的绘图坐标模型有:
(1-1)如果a1×a2×c1×c2<0,b1×b2×c1×c2<0,则确定所述抛物面对应的抛物面类型为以所述参数z对应的z轴为旋转轴的椭圆抛物面类型。
相应地,所述以z轴为旋转轴的椭圆抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000141
(1-2)如果a1×a2×c1×c2<0,b1×b2×c1×c2>0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
相应地,所述双曲抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000142
(1-3)如果a1×a2×c1×c2>0,b1×b2×c1×c2<0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
相应地,所述双曲抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000143
(2)在所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶时,存在的绘图坐标模型有:
(2-1)如果a1×a2×b1×b2<0,b1×b2×c1×c2<0,则确定所述抛物面对应的抛物面类型为以所述参数y对应的y轴为旋转轴的椭圆抛物面类型。
相应地,所述以y轴为旋转轴的椭圆抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000151
(2-2)如果a1×a2×b1×b2<0,b1×b2×c1×c2>0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
相应地,所述双曲抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000152
(2-3)如果a1×a2×b1×b2>0,b1×b2×c1×c2<0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
相应地,所述双曲抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000153
(3)在所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶时,存在的绘图坐标模型有:
(3-1)如果a1×a2×b1×b2<0,a1×a2×c1×c2<0,则确定所述抛物面对应的抛物面类型为以所述参数x对应的x轴为旋转轴的椭圆抛物面类型。
相应地,所述以x轴为旋转轴的椭圆抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000161
(3-2)如果a1×a2×b1×b2<0,a1×a2×c1×c2>0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
相应地,所述双曲抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000162
(3-3)如果a1×a2×b1×b2>0,a1×a2×c1×c2<0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
相应地,所述双曲抛物面类型对应的绘图坐标模型为:
Figure BDA0002037240120000163
步骤S70,根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面。
具体的说,本实施例中提供的抛物面的绘制方法,是基于MATLAB软件绘制的,即在实际应用中,绘制所述抛物面的操作是由MATLAB软件根据DRAW语句完成的。
故,在根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面时,具体是先根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,确定绘图坐标;然后,根据所述绘图坐标模型,确定初始绘制语句;接着,根据所述绘图坐标和所述初始绘制语句,生成所述抛物面对应的目标绘制语句;最后,根据所述目标绘制语句,绘制所述抛物面。
需要说明的是,上述所说的绘图坐标的生成过程,具体是通过将所述绘图坐标模型中的变量符号用相应的第一绘图参数和第二绘图参数代替获得的。
所述初始绘制语句即预先编辑好的各种抛物面模型对应的DRAW语句模板。
相应地,所述目标绘制语句即为MATLAB软件能够识别的DRAW语句,具体是通过将参数x对应的绘图坐标,参数y对应的绘图坐标,参数z对应的绘图坐标带入对应的DRAW语句模板得到。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的抛物面的绘制方法,在绘制抛物面时,用户无需考虑待绘制的抛物面对应的抛物面类型,而是直接触发抛物面的绘制操作,由终端设备获取待绘制的抛物面对应的抛物面方程数据,然后由终端设备根据获取到的抛物面方程数据确定待绘制的抛物面对应的抛物面模型,并将确定的抛物面模型与预设抛物面模型作比较,只有在确定待绘制的抛物面对应的抛物面模型与预设抛物面模型相同时,才从获取到的抛物面方程数据中提取绘制抛物面时需要的第一绘图参数和第二绘图参数,并根据提取到的第一绘图参数确定待绘制的抛物面对应的抛物面类型,同时根据确定的抛物面类型查找待绘制的抛物面对应的绘图坐标模型,最终根据提取到的第一绘图参数、第二绘图参数和查找到的绘图坐标模型,便可以自动绘制出用户需要的抛物面。
由于整个绘制过程,用户只需要提供待绘制的抛物面对应的抛物面方程数据,无需学习和掌握抛物面的绘图原理,也无需自己编写抛物面对应的编程语句,因而大大简化了用户操作,使得任意用户均可快速、准确的绘制各种类型的抛物面。
参考图4,图4为本发明一种抛物面的绘制方法第二实施例的流程示意图。
基于上述第一实施例,本实施例抛物面的绘制方法在所述子步骤S201之前,还包括:
子步骤S200,将所述抛物面方程数据转化为字符串,并过滤所述字符串中的非法字符,得到第一字符串。
应当理解的是,由于在实际应用中,计算机设备在处理用户输入的数据时,其内部通常会将用户输入的数据转换为字符串格式,然后再根据业务需求在字符串的基础上进行相应处理。
故,在本实施例中,在执行所述子步骤S201中的操作之前,需要先执行子步骤S200中的操作。
此外,为了方便上述操作的执行,在实际应用中,可以预先设置非法字符表,并在非法字符表中记录非法字符。这样,在对所述字符串进行非法字符过滤操作时,直接遍历所述字符串,并将遍历到的当前字符与所述非法字符表中的非法字符进行比较,若遍历到的所述当前字符与所述非法字符相同,则将遍历到的所述当前字符从所述字符串中删除即可。
为了便于理解,以下结合实例进行说明:
假设,用户输入的抛物面方程数据为:
Figure BDA0002037240120000181
预设的非法字符表B中记录了的非法字符为:B={“。”、“!”、“、”、“?”}。
则通过字符串转化处理,上述抛物面方程数据对应的字符串S={5(y+1)/6=-3(z+2)2/5+2(x-1)2/7。}。
接着,分别对字符串S和非法字符表B进行遍历,并将从字符串S中遍历出的字符与从非法字符表B中遍历出的字符进行比较,最终确定字符串S中的字符“。”为非法字符。
最终,将字符串S中的字符“。”过滤掉,得到的第一字符串SP={5(y+1)/6=-3(z+2)2/5+2(x-1)2/7}。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,由于在执行子步骤S201之前,对所述抛物面方程数据进行了字符串转化处理,以及过滤非法字符的操作,因而子步骤S201中的内容需要适应性的调整为子步骤S201'中的内容:从所述第一字符串中分离出所述空间坐标系参数对应的方程数据。
相应地,所述从所述第一字符串中分离出所述空间坐标系参数对应的方程数据的操作,大致可以分为以下几个步骤实现:
(1)确定所述空间坐标系参数在所述第一字符串中的第一位置信息。
比如说,空间坐标系参数分别是:参数x、参数y、参数z。
相应地,用xp表示参数x在所述第一字符串中的第一位置信息,用yp表示参数y在所述第一字符串中的第一位置信息,zp表示参数z在所述第一字符串中的第一位置信息。
(2)以所述第一位置信息为起点,向左遍历所述第一字符串,将遍历到的左侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述左侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向左遍历,并确定所述左侧当前字符在所述第一字符串中的第二位置信息。
(3)以所述第一位置信息为起点,向右遍历所述第一字符串,将遍历到的右侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述右侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向右遍历,并确定所述右侧当前字符在所述第一字符串中的第三位置信息。
(4)从所述第一字符串中截取所述第二位置信息与所述第三位置信息之间的字符,及所述第二位置信息对应的字符,得到所述空间坐标系参数对应的方程数据。
应当理解的是,由于不同格式的抛物面方程数据中,不同空间坐标系参数在该抛物面方程数据对应的第一字符串中的位置会有所差异,因而在从所述第一字符串中分离出不同空间坐标系参数对应的方程数据时,在停止遍历字符表中设置的预设字符也会有所差异。
为了便于理解,本实施例以从所述第一字符串中分离出参数x对应的方程数据为例,进行具体说明:
首先,从第一字符串S中找到参数x的第一位置xp
然后,令L=R=xp,L为预设的第二位置信息,R为预设的第三位置信息;
接着,重复执行L=L-1的操作,直到L=1,或sL='-',或sL='+',或sL='='为止,并将当前位置信息赋值给L;
接着,重复执行R=R+1的操作,直到sR='Λ',或sR='-',或sR='+',或sR='=',或R=n为止,并将当前位置信息赋值给R;
最后,从第一字符串S中截取L(重新赋值后的)和R(重新赋值后的)之间的字符,得到参数x对应的方程数据sx={sL+1...sR-1}。
以第一字符串SP={5(y+1)/6=-3(z+2)2/5+2(x-1)2/7}为例,在执行各空间坐标系参数对应的方程数据的分类操作时,先将与参数x、参数y和参数z相关的信息,以及变量参数均调整到“=”的左侧,右侧用“0”表示,然后再进行分类操作。
相应地,按照上述操作,对上述第一字符串SP中的参数进行位置调整后,新得到的第一字符串SP={3(z+2)2/5-2(x-1)2/7+5(y+1)/6=0}。
最终,按照上述方式分离出的参数x对应的方程数据为:-2(x-1)2/7;分离出的参数y对应的方程数据为:5(y+1)/6;分离出的参数z对应的方程数据为:3(z+2)2/5。
应当理解的是,以上给出的仅为一种从第一字符串中提取参数x对应的方程数据的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,关于从第一字符串中提取参数y对应的方程数据和参数z对应的方程数据的方式,可以参照上述从第一字符串中提取参数x对应的方程数据的过程,此处不再赘述。
此外,上述所说的sL表示第二位置信息L对应的字符,sR表示第三位置信息R对应的字符,n表示所述第一字符串中最后一个字符的位置信息。
通过上述描述不难发现,本实施例中提供的抛物面的绘制方法,在执行从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的操作之前,通过根据预设的关系对应表将抛物面方程数据转化为字符串,并过滤掉字符串中的非法字符,得到第一字符串,然后根据预设的提取方式,从第一字符串中分离出各空间坐标系参数对应的方程数据,从而有效地保障了提取的绘图参数的准确性,使得后期绘制的抛物面更加符合用户需求。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有抛物面的绘制程序,所述抛物面的绘制程序被处理器执行时实现如上文所述的抛物面的绘制方法的步骤。
参照图5,图5为本发明抛物面的绘制装置第一实施例的结构框图。
如图5所示,本发明实施例提出的抛物面的绘制装置包括:获取模块5001、第一确定模块5002、比较模块5003、提取模块5004、第二确定模块5005、查找模块5006和绘制模块5007。
其中,所述获取模块5001,用获取待绘制的抛物面对应的抛物面方程数据;所述第一确定模块5002,用于根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型;所述比较模块5003,用于对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与所述抛物面模型进行比较;所述提取模块5004,用于在所述抛物面模型与所述预设抛物面模型相同时,从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数;所述第二确定模块5005,用于根据所述第一绘图参数,确定所述抛物面对应的抛物面类型;所述查找模块5006,用于根据所述抛物面类型,查找所述抛物面对应的绘图坐标模型;所述绘制模块5007,用于根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面。
值得一提的是,在本实施例中,上述所说的第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数。
此外,关于所述第一确定模块5002根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型的操作,大致可以分为以下几个步骤:
首先,从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据;
然后,按照预设的变量转换规则,将各空间坐标系参数对应的方程数据中的第一绘图参数和第二绘图参数替换为预设符号;
最后,按照预设排列规则,对进行预设符合替换后的各方程数据进行排列,得到所述抛物面对应的抛物面模型。
应当理解的是,以上给出的仅为一种根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型的具体实现方式,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行合理设置,此处不做限制。
此外,关于所述提取模块5004从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数的操作,大致可以分为以下几个步骤:
首先,根据所述抛物面模型和所述抛物面方程数据,确定所述抛物面模型与所述抛物面方程数据之间的对应关系;
然后,根据所述对应关系,从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数。
应当理解的是,以上给出的仅为一种从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数的具体实现方式,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行合理设置,此处不做限制。
此外,值得一提的是,在本实施例中,所述空间坐标系参数可以为空间坐标系中的参数x、参数y和参数z。
相应地,所述第一绘图参数包括与所述参数x做乘法运算的第一变量和第二变量、与所述参数y做乘法运算的第三变量和第四变量,以及与所述参数z做乘法运算的第五变量和第六变量。
相应地,所述第二确定模块5005根据所述第一绘图参数,确定所述抛物面对应的抛物面类型的操作,大致可以分为以下几个步骤:
首先,对所述第一变量、所述第二变量、所述第五变量和所述第六变量做乘法运行,得到第一乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第二乘积;对所述第一变量、所述第二变量、所述第三变量和所述第四变量做乘法运行,得到第三乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第四乘积;
然后,确定所述参数x对应的方程数据、所述参数y对应的方程数据和所述参数z对应的方程数据的阶数;
接着,若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数z对应的z轴为旋转轴的椭圆抛物面类型;若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数y对应的y轴为旋转轴的椭圆抛物面类型;若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数x对应的x轴为旋转轴的椭圆抛物面类型;若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
应当理解的是,以上给出的仅为一种根据所述第一绘图参数,确定所述抛物面对应的抛物面类型的具体实现方式,对本发明的技术方案并不构成任何限定,在实际应用中,本领域的技术人员可以根据需要进行合理设置,此处不做限制。
此外,值得一提的是,由于本实施例中提供的抛物面的绘制装置,在绘制抛物面时,是基于MATLAB(一种绘图软件,称为软件工厂,或矩阵实验室)软件绘制的,故所述绘制模块5007根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面时,需要细化为如下几个子步骤实现:
首先,根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,确定绘图坐标;
然后,根据所述绘图坐标模型,确定初始绘制语句;
接着,根据所述绘图坐标和所述初始绘制语句,生成所述抛物面对应的目标绘制语句;
最后,根据所述目标绘制语句,绘制所述抛物面。
需要说明的是,上述所说的初始绘制语句即为MATLAB软件能够识别的DRAW语句。该绘制语句中主要携带有空间坐标系中的参数x、参数y和参数z。
此外,应当理解的是,由于不同抛物面对应的抛物面类型不同,不同的抛物面类型又对应不同的绘图坐标模型,因而不同的抛物面对应的DRAW语句的格式也不相同。
相应地,根据所述绘图坐标和所述初始绘制语句,生成所述抛物面对应的目标绘制语句的过程,即为将所述绘图坐标中表示参数x、参数y和参数z的数据代入所述初始绘制语句中相应位置,进而得到绘制所述抛物面的目标绘制语句。
关于椭圆抛物面类型和双曲抛物面类型等类型的抛物面对应的DRAW语句此处不再赘述,在实际应用中,本领域的技术人员可以根据MATLAB软件的使用文档,自行查找,此处不再赘述。
此外,应当理解的是,以上给出的仅为一种根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的抛物面的绘制装置,在绘制抛物面时,用户无需考虑待绘制的抛物面对应的抛物面类型,而是直接触发抛物面的绘制操作,由终端设备获取待绘制的抛物面对应的抛物面方程数据,然后由终端设备根据获取到的抛物面方程数据确定待绘制的抛物面对应的抛物面模型,并将确定的抛物面模型与预设抛物面模型作比较,只有在确定待绘制的抛物面对应的抛物面模型与预设抛物面模型相同时,才从获取到的抛物面方程数据中提取绘制抛物面时需要的第一绘图参数和第二绘图参数,并根据提取到的第一绘图参数确定待绘制的抛物面对应的抛物面类型,同时根据确定的抛物面类型查找待绘制的抛物面对应的绘图坐标模型,最终根据提取到的第一绘图参数、第二绘图参数和查找到的绘图坐标模型,便可以自动绘制出用户需要的抛物面。
由于整个绘制过程,用户只需要提供待绘制的抛物面对应的抛物面方程数据,无需学习和掌握抛物面的绘图原理,也无需自己编写抛物面对应的编程语句,因而大大简化了用户操作,使得任意用户均可快速、准确的绘制各种类型的抛物面。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的抛物面的绘制方法,此处不再赘述。
基于上述抛物面的绘制装置的第一实施例,提出本发明抛物面的绘制装置第二实施例。
在本实施例中,所述抛物面的绘制装置还包括:转化模块。
具体的说,所述转化模块,用于将所述抛物面方程数据转化为字符串,并过滤所述字符串中的非法字符,得到第一字符串。
相应地,所述第一确定模块在从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的时候,实质是从所述第一字符串中分离出所述空间坐标系参数对应的方程数据。
所述提取模块从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数的操作需要适应性的调整为:
首先,根据所述抛物面模型和所述抛物面方程数据,确定所述抛物面模型与所述抛物面方程数据之间的对应关系;
然后,根据所述对应关系,从所述第一字符串中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数。
此外,为了便于理解,从所述第一字符串中分离出所述空间坐标系参数对应的方程数据的操作,本实施例给出一种具体的实现方式,大致如下:
首先,确定所述空间坐标系参数在所述第一字符串中的第一位置信息;
然后,以所述第一位置信息为起点,向左遍历所述第一字符串,将遍历到的左侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述左侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向左遍历,并确定所述左侧当前字符在所述第一字符串中的第二位置信息;
接着,以所述第一位置信息为起点,向右遍历所述第一字符串,将遍历到的右侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述右侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向右遍历,并确定所述右侧当前字符在所述第一字符串中的第三位置信息;
最后,从所述第一字符串中截取所述第二位置信息与所述第三位置信息之间的字符,及所述第二位置信息对应的字符,得到所述空间坐标系参数对应的方程数据。
应当理解的是,以上给出的仅为一种从所述第一字符串中分离出所述空间坐标系参数对应的方程数据的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实施例中提供的抛物面的绘制装置,在执行从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的操作之前,通过根据预设的关系对应表将抛物面方程数据转化为字符串,并过滤掉字符串中的非法字符,得到第一字符串,然后根据预设的提取方式,从第一字符串中分离出各空间坐标系参数对应的方程数据,从而有效地保障了提取的绘图参数的准确性,使得后期绘制的抛物面更加符合用户需求。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的抛物面的绘制方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种抛物面的绘制方法,其特征在于,所述方法包括以下步骤:
获取待绘制的抛物面对应的抛物面方程数据;
根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型;
对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与所述抛物面模型进行比较;
若所述抛物面模型与所述预设抛物面模型相同,则从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数,所述第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数;
根据所述第一绘图参数,确定所述抛物面对应的抛物面类型;
根据所述抛物面类型,查找所述抛物面对应的绘图坐标模型;
根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面;
所述空间坐标系参数为空间坐标系中的参数x、参数y和参数z,所述第一绘图参数包括与所述参数x做乘法运算的第一变量和第二变量、与所述参数y做乘法运算的第三变量和第四变量,以及与所述参数z做乘法运算的第五变量和第六变量;
所述根据所述第一绘图参数,确定所述抛物面对应的抛物面类型的步骤,包括:
对所述第一变量、所述第二变量、所述第五变量和所述第六变量做乘法运行,得到第一乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第二乘积;对所述第一变量、所述第二变量、所述第三变量和所述第四变量做乘法运行,得到第三乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第四乘积;
确定所述参数x对应的方程数据、所述参数y对应的方程数据和所述参数z对应的方程数据的阶数;
若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数z对应的z轴为旋转轴的椭圆抛物面类型;
若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;
若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数y对应的y轴为旋转轴的椭圆抛物面类型;
若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;
若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数x对应的x轴为旋转轴的椭圆抛物面类型;
若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
2.如权利要求1所述的方法,其特征在于,所述根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型的步骤,包括:
从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据;
按照预设的变量转换规则,将各空间坐标系参数对应的方程数据中的第一绘图参数和第二绘图参数替换为预设符号;
按照预设排列规则,对进行预设符合替换后的各方程数据进行排列,得到所述抛物面对应的抛物面模型。
3.如权利要求2所述的方法,其特征在于,所述从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的步骤之前,所述方法还包括:
将所述抛物面方程数据转化为字符串,并过滤所述字符串中的非法字符,得到第一字符串;
其中,所述从所述抛物面方程数据中分离出所述空间坐标系参数对应的方程数据的步骤,包括:
从所述第一字符串中分离出所述空间坐标系参数对应的方程数据。
4.如权利要求3所述的方法,其特征在于,所述从所述第一字符串中分离出所述空间坐标系参数对应的方程数据的步骤,包括:
确定所述空间坐标系参数在所述第一字符串中的第一位置信息;
以所述第一位置信息为起点,向左遍历所述第一字符串,将遍历到的左侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述左侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向左遍历,并确定所述左侧当前字符在所述第一字符串中的第二位置信息;
以所述第一位置信息为起点,向右遍历所述第一字符串,将遍历到的右侧当前字符与预设停止遍历字符表中的预设字符进行比较,若所述右侧当前字符与所述预设停止遍历字符表中的预设字符相同,则停止向右遍历,并确定所述右侧当前字符在所述第一字符串中的第三位置信息;
从所述第一字符串中截取所述第二位置信息与所述第三位置信息之间的字符,及所述第二位置信息对应的字符,得到所述空间坐标系参数对应的方程数据。
5.如权利要求3所述的方法,其特征在于,所述从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数的步骤,包括:
根据所述抛物面模型和所述抛物面方程数据,确定所述抛物面模型与所述抛物面方程数据之间的对应关系;
根据所述对应关系,从所述第一字符串中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数。
6.如权利要求1至5任一项所述的方法,其特征在于,所述根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面的步骤,包括:
根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,确定绘图坐标;
根据所述绘图坐标模型,确定初始绘制语句;
根据所述绘图坐标和所述初始绘制语句,生成所述抛物面对应的目标绘制语句;
根据所述目标绘制语句,绘制所述抛物面。
7.一种抛物面的绘制装置,其特征在于,所述装置包括:
获取模块,用获取待绘制的抛物面对应的抛物面方程数据;
第一确定模块,用于根据所述抛物面方程数据,确定所述抛物面对应的抛物面模型;
比较模块,用于对预先构建的抛物面模型库进行遍历,将遍历到的当前预设抛物面模型与所述抛物面模型进行比较;
提取模块,用于在所述抛物面模型与所述预设抛物面模型相同时,从所述抛物面方程数据中提取与空间坐标系参数存在关联性的第一绘图参数和第二绘图参数,所述第一绘图参数为与所述空间坐标系参数做乘法运算的参数,所述第二绘图参数为与所述空间坐标系参数做减法运算的参数;
第二确定模块,用于根据所述第一绘图参数,确定所述抛物面对应的抛物面类型;
查找模块,用于根据所述抛物面类型,查找所述抛物面对应的绘图坐标模型;
绘制模块,用于根据所述第一绘图参数、所述第二绘图参数和所述绘图坐标模型,绘制所述抛物面;
所述空间坐标系参数为空间坐标系中的参数x、参数y和参数z,所述第一绘图参数包括与所述参数x做乘法运算的第一变量和第二变量、与所述参数y做乘法运算的第三变量和第四变量,以及与所述参数z做乘法运算的第五变量和第六变量;
所述第二确定模块,还用于对所述第一变量、所述第二变量、所述第五变量和所述第六变量做乘法运行,得到第一乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第二乘积;对所述第一变量、所述第二变量、所述第三变量和所述第四变量做乘法运行,得到第三乘积;对所述第三变量、所述第四变量、所述第五变量和所述第六变量做乘法运行,得到第四乘积;
确定所述参数x对应的方程数据、所述参数y对应的方程数据和所述参数z对应的方程数据的阶数;
若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数z对应的z轴为旋转轴的椭圆抛物面类型;
若所述参数x对应的方程数据和所述参数y对应的方程数据为二阶,所述参数z对应的方程数据为一阶,且所述第一乘积和所述第二乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;
若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数y对应的y轴为旋转轴的椭圆抛物面类型;
若所述参数x对应的方程数据和所述参数z对应的方程数据为二阶,所述参数y对应的方程数据为一阶,且所述第三乘积和所述第四乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型;
若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积均小于0,则确定所述抛物面对应的抛物面类型为以所述参数x对应的x轴为旋转轴的椭圆抛物面类型;
若所述参数y对应的方程数据和所述参数z对应的方程数据为二阶,所述参数x对应的方程数据为一阶,且所述第三乘积和所述第一乘积中的任意一个乘积大于0,另一个小于0,则确定所述抛物面对应的抛物面类型为双曲抛物面类型。
8.一种抛物面的绘制设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的抛物面的绘制程序,所述抛物面的绘制程序配置为实现如权利要求1至6中任一项所述的抛物面的绘制方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有抛物面的绘制程序,所述抛物面的绘制程序被处理器执行时实现如权利要求1至6任一项所述的抛物面的绘制方法的步骤。
CN201910331621.0A 2019-04-23 2019-04-23 抛物面的绘制方法、装置、设备及存储介质 Active CN110047137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910331621.0A CN110047137B (zh) 2019-04-23 2019-04-23 抛物面的绘制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910331621.0A CN110047137B (zh) 2019-04-23 2019-04-23 抛物面的绘制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110047137A CN110047137A (zh) 2019-07-23
CN110047137B true CN110047137B (zh) 2023-02-21

Family

ID=67278820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910331621.0A Active CN110047137B (zh) 2019-04-23 2019-04-23 抛物面的绘制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110047137B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1171161A (zh) * 1994-11-03 1998-01-21 参数技术有限公司 用屏幕空间与模型空间之间的转换重建三维物体图形的计算机***
CN102831278A (zh) * 2012-09-06 2012-12-19 深圳市常兴技术股份有限公司 基于cad的交互式自动制图***、制图方法及其构建方法
CN105894551A (zh) * 2016-03-31 2016-08-24 百度在线网络技术(北京)有限公司 图像绘制方法及装置
CN106055825A (zh) * 2016-06-12 2016-10-26 文小发 一种基于cad的建模实现方法及***
CN108830278A (zh) * 2018-05-17 2018-11-16 河南思维轨道交通技术研究院有限公司 一种字符串图像识别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4738067B2 (ja) * 2005-06-10 2011-08-03 株式会社東芝 Cadデータ作成装置および方法
US10235493B2 (en) * 2016-06-17 2019-03-19 Dassault Systemes Solidworks Corporation Simplifying a computer-aided design model while retaining references

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1171161A (zh) * 1994-11-03 1998-01-21 参数技术有限公司 用屏幕空间与模型空间之间的转换重建三维物体图形的计算机***
CN102831278A (zh) * 2012-09-06 2012-12-19 深圳市常兴技术股份有限公司 基于cad的交互式自动制图***、制图方法及其构建方法
CN105894551A (zh) * 2016-03-31 2016-08-24 百度在线网络技术(北京)有限公司 图像绘制方法及装置
CN106055825A (zh) * 2016-06-12 2016-10-26 文小发 一种基于cad的建模实现方法及***
CN108830278A (zh) * 2018-05-17 2018-11-16 河南思维轨道交通技术研究院有限公司 一种字符串图像识别方法

Also Published As

Publication number Publication date
CN110047137A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
US9424168B2 (en) System and method for automatic generation of software test
KR20180133375A (ko) 데이터 분석 및 처리 방법, 장치, 컴퓨터 장치 및 저장 매체
US20180373764A1 (en) Information processing system, descriptor creation method, and descriptor creation program
CN113434482A (zh) 数据迁移方法、装置、计算机设备及存储介质
US8732655B2 (en) Systems and methods for metamodel transformation
CN107392316B (zh) 网络训练方法、装置、计算设备及计算机存储介质
CN112749151A (zh) 不同类型数据库间的数据迁移方法、装置及存储介质
CN114741360A (zh) 汽车零件文件重建方法、装置、终端设备及存储介质
CN114995729A (zh) 一种语音绘图方法、装置及计算机设备
CN110647564A (zh) Hive建表方法、电子装置及计算机可读存储介质
CN110047137B (zh) 抛物面的绘制方法、装置、设备及存储介质
CN109977343B (zh) 椭球面方程绘制方法、装置、设备及存储介质
CN111078671A (zh) 数据表字段的修改方法、装置、设备和介质
Terzić et al. An Approach and DSL in support of Migration from relational to NoSQL Databases
US20240021197A1 (en) Method and apparatus for generating general voice commands and augmented reality display
CN110047117B (zh) 曲面图形的绘制方法、装置、设备及存储介质
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
CN114218261A (zh) 数据查询方法、装置、存储介质以及电子设备
CN114296726A (zh) 一种代码生成方法、装置、计算机设备和存储介质
US20170330305A1 (en) System and method for generating interactive 2d projection of 3d model
CN109947339B (zh) 抛物柱面的绘制方法、装置、设备及存储介质
CN106598839A (zh) 一种面向目标代码的程序静态分析方法
CN107168975A (zh) 一种对象匹配方法及装置
CN110020401B (zh) 对弧长的曲线积分计算方法、装置、设备及存储介质
CN113127408A (zh) 数据转换方法及装置

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