CN108288298B - 函数图像的绘制方法、装置、计算机设备及存储介质 - Google Patents
函数图像的绘制方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108288298B CN108288298B CN201810064788.0A CN201810064788A CN108288298B CN 108288298 B CN108288298 B CN 108288298B CN 201810064788 A CN201810064788 A CN 201810064788A CN 108288298 B CN108288298 B CN 108288298B
- Authority
- CN
- China
- Prior art keywords
- function
- value
- point
- interval
- determining
- 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
Links
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)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了函数图像的绘制方法、装置、计算机设备及存储介质。该方法包括:基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像。利用该方法,能够基于待绘制函数的无穷点坐标及预先确定的各采样点坐标,连接得到待绘制函数的函数图像。并且可以在对函数图像的显示比例进行调整时,能够有效地保留函数图像在无穷点位置处的函数图像信息,提高了函数绘图软件在绘制包含无穷点的函数图像时的准确性,进而有效地提升了用户使用函数绘图软件的体验度。
Description
技术领域
本发明实施例涉及函数图像绘制技术领域,尤其涉及函数图像的绘制方法、装置、计算机设备及存储介质。
背景技术
函数绘图软件是电子设备(如电脑、笔记本、智能平板以及智能白板等)中常见的应用软件,演示者可以基于函数绘图软件进行数学函数教学。在电子白板数学函数教学中,函数绘图软件可以根据用户输入的函数方程绘制函数图像。
现有函数绘图软件在进行函数绘制时,需要先按照一定采样点数确定采样间隔,再确定待绘制函数的各坐标点,最后依次连接所确定的各坐标点,形成待绘制函数的绘制曲线。基于上述函数绘图软件进行函数图像绘制时,设置的采样点数越多,其采样点间的采样间隔就越小,所绘制形成的函数曲线与其理论曲线拟合程度也就越高,一般情况下,现有的函数绘图软件通常采用固定数量的采样点实现图像绘制。
基于现有的函数绘制软件对数学函数进行绘制后,如果对函数图像的显示比例进行缩小,则相当于在缩小的显示比例下重新对数学函数进行图像绘制及显示。随着显示比例的不断缩小,基于现有的函数绘制软件重绘制时,所采用的采样点数量仍保持不变,由此使得采样点间的采样间隔不断增大。对于包含无穷点的数学函数而言,采样间隔的不断增大会导致函数无穷点信息丢失,因此,当函数显示比例缩小到一定程度,就会因无穷点信息丢失而导致函数图像的错误绘制,从而影响了函数绘图软件的用户体验。
发明内容
本发明提供的函数图像的绘制方法、装置、计算机设备及存储介质,能够有效提升函数绘图软件在绘制包含无穷点的函数图像时的准确性。
第一方面,本发明实施例提供了一种函数图像的绘制方法,包括:
基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;
根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像。
第二方面,本发明实施例提供了一种函数图像的绘制装置,包括:
无穷点确定模块,用于基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;
函数图像获得模块,用于根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像。
第三方面,本发明实施例提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的函数图像的绘制方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的函数图像的绘制方法。
在上述函数图像的绘制方法、装置、计算机设备及存储介质中,首先基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;然后根据无穷点坐标及预先确定的各采样点坐标,连接获得待绘制函数的函数图像。上述函数图像的绘制方法、装置、计算机设备及存储介质,能够基于待绘制函数的无穷点坐标及预先确定的各采样点坐标,连接得到待绘制函数的函数图像。并且可以在对函数图像的显示比例进行缩小时,能够有效地保留函数图像在无穷点位置处的函数图像信息,提高了函数绘图软件在绘制包含无穷点的函数图像时的准确性,进而有效地提升了用户使用函数绘图软件的体验度。
附图说明
图1为本发明实施例一提供的一种函数图像的绘制方法的流程示意图;
图2a为本发明实施例二提供的一种函数图像的绘制方法的流程示意图;
图2b给出了现有技术中函数图像的显示比例缩小到一定范围时的显示效果图;
图2c给出了基于本发明实施例二的方法进行函数图像绘制后的显示效果图;
图3a为本发明实施例三提供的一种函数图像的绘制方法的流程示意图;
图3b给出了本发明实施例三对采样区间集确定的实现流程图;
图3c给出了本发明实施例三对伪零点区间集确定的实现流程图;
图3d给出了本发明实施例三对无穷点正负属性确定的实现流程图;
图3e给出了本发明实施例三对无穷点坐标确定的实现流程图;
图4为本发明实施例四提供的一种函数图像的绘制装置的结构框图;
图5为本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种函数图像的绘制方法的流程示意图,该方法可适用于对数学函数的函数图像进行绘制的情况,该方法可以由函数图像的绘制装置来执行,其中该装置可由软件和/或硬件实现,并一般可作为绘制类功能软件的插件集成在计算机设备上。
如图1所述,本发明实施例一提供的一种函数图像的绘制方法,包括如下步骤:
S101、基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标。
在本实施例中,设定的坐标确定规则可以理解为在确定无穷点坐标时所预先设定的用于确定无穷点坐标的规则。待绘制函数可以理解为将要被绘制为函数图像的数学函数。
具体地,为了防止函数图像的无穷点信息丢失,可以在进行函数图像绘制之前,首先确定出待绘制函数中的无穷点坐标,以基于无穷点坐标绘制待绘制函数所对应的函数图像,从而提升绘制函数图像时的准确性。在确定待绘制函数中的无穷点坐标时,可以基于设定的坐标确定规则来确定,示例性地,设定的坐标确定规则可以为将确定待绘制函数中的无穷点坐标转换为确定待绘制函数中的零点坐标。
S102、根据无穷点坐标及预先确定的各采样点坐标,连接获得待绘制函数的函数图像。
在本实施例中,各采样点坐标可以是基于设定的采样点确定规则确定出的。一般地,预先确定的各采样点坐标可以是将待绘制函数按照一定的采样点数采样确定,也可以是采用割圆法对待绘制函数进行自适应采点确定的。
具体地,在确定出待绘制函数的无穷点坐标及预先确定的各采样点坐标后,可以将确定出的无穷点坐标及预先确定的各采样点坐标进行连接,以获得待绘制函数的函数图像。
本发明实施例一提供的一种函数图像的绘制方法,首先基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;然后根据无穷点坐标及预先确定的各采样点坐标,连接获得待绘制函数的函数图像。利用上述方法,能够基于待绘制函数的无穷点坐标及预先确定的各采样点坐标,连接得到待绘制函数的函数图像。并且可以在对函数图像的显示比例进行调整时,能够有效地保留函数图像在无穷点位置处的函数图像信息,提高了函数绘图软件在绘制包含无穷点的函数图像时的准确性,进而有效地提升了用户使用函数绘图软件的体验度。
实施例二
图2a为本发明实施例二提供的一种函数图像的绘制方法的流程示意图,本实施例二在上述各实施例的基础上进行优化。在本实施例中,将基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标,进一步具体化为:获取待绘制函数的倒函数,并基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集;从所述伪零点区间集中确定函数值为0的零点自变值,并将各所述零点自变值所在的伪零点区间确定为零点区间;根据各所述零点自变值所在零点区间的区间端点值,确定各所述零点自变值在所述待绘制函数上所对应无穷点的正负属性;基于各所述零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定所述待绘制函数中的无穷点坐标。
进一步地,本实施例还将根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像,进一步优化为:根据所述无穷点坐标及预先确定的各采样点坐标,在所述待绘制函数对应的坐标系中标定无穷点及各采样点,形成待连接点;依次顺序连接各所述待连接点,并在所述无穷点对应的位置处断开连接,得到所述待绘制函数的函数图像。
如图2a所示,本发明实施例二提供的一种函数图像的绘制方法,包括如下步骤:
S201、获取待绘制函数的倒函数,并基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集。
在本实施例中,倒函数可以理解为将待绘制函数取倒数以得到的函数。伪零点区间可以理解为所包含的自变值代入上述倒函数后,存在函数值可能为0的区间。伪零点区间确定规则可以理解为在确定倒函数所对应的伪零点区间时所遵循的规则。伪零点区间集可以理解为包含倒函数的各伪零点区间的集合。
明显地,本实施例相当于将确定待绘制函数中的无穷点坐标转换为确定倒函数中函数值为0的零点坐标,本步骤具体用于确定倒函数中可能存在函数值为0的伪零点区间。
具体地,在确定倒函数对应的伪零点区间集的过程中,可以首先基于待绘制函数确定出其所对应的倒函数;然后基于预设的伪零点区间确定规则,确定出倒函数中的各伪零点区间;最后基于确定出的各伪零点区间形成倒函数所对应的伪零点区间集。可以理解的是,在确定出伪零点区间集后,可以进一步基于确定出的伪零点区间集确定出待绘制函数的无穷点坐标。
S202、从伪零点区间集中确定函数值为0的零点自变值,并将各零点自变值所在的伪零点区间确定为零点区间。
在本实施例中,零点自变值可以理解为函数值为0所对应的自变量值。本实施例可以将存在函数值为0的伪零点区间确定为零点区间。需要注意的是,此处的函数值为0可以理解为函数值接近于零。本步骤在从伪零点区间集中确定函数值为0的零点自变值时可以采用牛顿迭代法确定。
具体地,在确定出伪零点区间集后,本步骤可以首先从伪零点区间集中确定使函数值为0的零点自变值。在确定出全部零点自变值后,可以将各零点自变值所在的伪零点区间确定为倒函数的零点区间。可以理解的是,确定出倒函数的各零点自变值及其所对应的零点区间后,可以进一步地确定出待绘制函数中的无穷点坐标。
S203、根据各零点自变值所在零点区间的区间端点值,确定各零点自变值在待绘制函数上所对应无穷点的正负属性。
在本实施例中,区间端点值可以理解为区间在左端点和右端点处分别对应的坐标值。示例性地,在区间[x1,x2]中,其所对应的区间端点值分别为x1和x2。无穷点的正负属性可以理解为待绘制函数在无穷点位置处所对应的方向属性。其中,方向属性可以包括正向和负向。
具体地,在确定出倒函数的各零点自变值及对应的零点区间后,本步骤可以基于各零点自变值对应的零点区间的区间端点值,确定出在待绘制函数上所对应无穷点的正负属性。具体地,本步骤可以通过区间端点值的正负属性确定出在待绘制函数上所对应无穷点的正负属性。可以理解的是,在确定出待绘制函数在无穷点位置处的正负属性后,相当于确定出该无穷点在待绘制函数的函数图像上所处的坐标区间位置,即,无穷点可能处于纵坐标轴负方向对应的坐标区间内,也可能处于纵坐标轴正方向对应的坐标区间内。
S204、基于各零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定待绘制函数中的无穷点坐标。
在本实施例中,函数显示区域范围可以理解为屏幕界面上当前显示的函数图像绘制对应的坐标系区域范围。可以理解的是,用户往往仅能够看到函数显示区域范围内所显示的函数图像。而函数绘图软件在进行函数图像绘制时,其所绘制的函数图像所占的显示范围可以大于屏幕当前的函数显示区域范围。
具体地,在确定出各零点自变值及其所对应的无穷点的正负属性后,可以进一步获取屏幕当前的函数显示区域范围,以能够确定出待绘制函数在无穷点位置处所对应的坐标值。在确定无穷点位置处的坐标值时,可以通过将函数图像在无穷点处的坐标点固定于屏幕当前的函数图像显示区域范围之外,从而保证在任意的缩放情况下,函数图像在无穷点位置处绘制的准确性。
需要注意的是,在函数绘图软件对待绘制函数的函数图像进行显示时,用户可以对所显示的函数图像的显示比例进行调整。示例性地,用户可以通过向下滚动鼠标的滑轮实现缩小函数图像的显示比例。一般地,如果用户对函数图像的显示比例进行了调整,则本步骤可以重新获取屏幕当前的函数显示区域范围以重新对待绘制函数的函数图像进行绘制及显示。
S205、根据无穷点坐标及预先确定的各采样点坐标,在待绘制函数对应的坐标系中标定无穷点及各采样点,形成待连接点。
在本实施例中,标定无穷点及各采样点可以理解为在待绘制函数对应的坐标系中确定并标记出无穷点及各采样点。待连接点可以理解为在待绘制函数对应的坐标系中等待连接的坐标点。
具体地,在确定出待绘制函数的无穷点坐标及各采样点坐标后,本步骤可以首先在待绘制函数对应的坐标系中标定无穷点及各采样点,以形成待连接点,从而能够基于各待连接点得到待绘制函数所对应的函数图像。
S206、依次顺序连接各待连接点,并在无穷点对应的位置处断开连接,得到待绘制函数的函数图像。
在本实施例中,在得到各待连接点后,本步骤可以依次顺序连接各待连接点并且在连接各待连接点的过程中,在无穷点对应的位置处断开,分割成左右两部分函数图像,分别绘制以得到待绘制函数的函数图像。从而能够有效地避免现有的函数绘图软件中直接按照一定的采样点数量确定待绘制函数的各坐标点,并将各坐标点顺序连接得到函数图像。当函数图像显示比例缩小到一定程度时所导致的无穷点信息丢失的问题。
图2b给出了现有技术中函数图像的显示比例缩小到一定范围时的显示效果图。具体地,图2b示出了基于现有的函数绘图软件,在函数图像的显示比例缩小到一定程度时,y=x-1函数所对应的函数图像21。可以理解的是,y=x-1在x=0处应该对应的是无穷点,该无穷点在绘制的函数图形中应当是不存在具体边界值的,而在图2b中可以看出,当函数图像的坐标系的显示比例缩小到一定程度后,y=x-1在x=0位置处的函数图像出现了边界,这就导致了在x=0位置处函数图像的异常。
图2c给出了基于本发明实施例二的方法进行函数图像绘制后的显示效果图。具体地,如图2c所示,在利用本发明实施例二的方法对y=x-1函数所对应的函数图像22进行显示时,函数图像在x=0处仍能将无穷点以无边界的状态显示,从而保证了函数图像绘制的准确性。需要注意的是,在对y=x-1函数所对应的函数图像22进行显示时,其函数图像22的显示比例与图2b中显示y=x-1函数所对应的函数图像21的显示比例相同。
本发明实施例二提供的一种函数图像的绘制方法,具体化了确定无穷点坐标的操作及获得函数图像的操作。利用该方法,能够通过确定倒函数的伪零点区间集确定出倒函数对应的零点区间,并基于确定出的零点区间确定待绘制函数在无穷点位置处的正负属性,从而能够进一步确定出待绘制函数的无穷点坐标。根据无穷点坐标及各采样点,获得待绘制函数的函数图像。并且可以在对函数图像的显示比例进行调整时,能够有效地保留函数图像在无穷点位置处的函数图像信息,提高了函数绘图软件在绘制包含无穷点的函数图像时的准确性,进而有效地提升了用户使用函数绘图软件的体验度。
实施例三
图3a为本发明实施例三提供的一种函数图像的绘制方法的流程示意图,本实施例三在上述各实施例的基础上进行优化。在本实施例中,将基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集,进一步具体化为:基于割圆法确定所述倒函数的各采样点,并根据各所述采样点确定所述倒函数的采样区间集;从所述采样区间集中确定符合伪零点筛选要求的伪零点区间,形成包含各所述伪零点区间的伪零点区间集。
进一步地,本实施例还将从所述伪零点区间集中确定函数值为0的零点自变值,并将各所述零点自变值所在的伪零点区间确定为零点区间,进一步具体化为:
从所述伪零点区间集中依次选取一个伪零点区间作为当前待确定区间;从所述当前待确定区间中选取一个当前自变值;基于所述当前自变值及设定的牛顿迭代公式,确定处于所述当前待确定区间中的下一自变值;如果所述下一自变值与所述当前自变值的差值大于或等于第三预设值,则在当前结果满足迭代循环条件时,将所述下一自变值作为新的当前自变值,返回执行下一自变值的确定操作;否则,将所述下一自变值确定为零点自变值并结束零点自变值的确定;如果所述当前待确定区间中存在零点自变值,则将所述当前待确定区间确定为零点区间。
如图3a所示,本发明实施例三提供的一种函数图像的绘制方法,包括如下步骤:
S301、获取待绘制函数的倒函数,并基于割圆法确定倒函数的各采样点,并根据各采样点确定倒函数的采样区间集。
在本实施例中,采样区间集可以理解为基于各采样点的自变值所确定的区间的集合。
具体地,本步骤可以采用割圆法确定倒函数的各采样点,割圆法可以理解为一种自适应的函数采点方法,采用割圆法对函数进行采点能够有效地保证在函数导数变化绝对值较大的区域采点更加密集,在函数导数变化绝对值较小的区域采点更加稀疏,以实现对函数自适应采点,进而提升在绘制函数图像时的准确性。
可以理解的是,采用割圆法进行自适应采点能够有效地减小在绘制函数图像时的性能消耗,并且能够有效地缩小单个零点区间在x轴上的长度,从而减少了零点区间存在多个零点的可能性,进而提升了函数图像绘制的准确性。
进一步地,图3b给出了本发明实施例三对采样区间集确定的实现流程图。具体地,如图3b所示,对采样区间集确定包括如下操作:
S3011、在大于屏幕当前的函数显示区域范围的计算区域上确定两个自变端点,并基于该两个自变端点确定倒函数的两个采样点。
在采用割圆法确定倒函数的各采样点的过程中,本步骤首先需要在倒函数上确定出两个采样点。具体地,在确定倒函数的两个采样点的过程中,本步骤可以首先基于屏幕当前的函数显示区域范围,确定出一个大于该函数显示区域范围的计算区域,并基于该计算区域的两个自变端点确定倒函数的两个采样点。示例性地,如果屏幕当前的函数显示区域范围(x轴方向)为(-100,100),则可以选取计算区间为(-200,200)。相应地,两个自变端点分别为-200和200。从而可以将确定出的两个自变端点-200和200分别作为倒函数的两个自变值,并确定这两个自变值在倒函数上对应的函数值,进而将两个自变值及其对应的函数值确定为倒函数的两个采样点。
S3012、获取所选定两个采样点对应的函数值,分别记为第一函数值和第二函数值。
在本实施例中,在确定出倒函数的两个采样点后,本步骤可以获取选定两个采样点对应的函数值,以基于获取的函数值确定是否停止确定倒函数的采样点。
S3013、以设定规则从两个采样点构成的自变区间中选取第三自变值。
在本实施例中,自变区间可以理解为由两个采样点所对应的自变值所形成的区间。示例性地,如果两个采样点分别为(-5,0)及(5,0),则其所构成的自变区间为(-5,5)。在此基础上,本步骤可以以设定规则从自变区间中选取第三自变值,其中,设定规则可以包括但不限于选取自变区间端点值的中点、三等分点或黄金分割点。示例性地,可以选取自变区间(-5,5)的中点0作为第三自变值。
S3014、确定第三自变值对应的第三函数值,并确定第三自变值在两个采样点连线上对应的纵坐标值。
在本实施例中,在确定出第三自变值后,本步骤可以进一步确定第三自变值在倒函数上所对应的第三函数值及第三自变值在两个采样点连线上对应的纵坐标值。可以理解的是,在采用割圆法确定倒函数的各采样点的结束条件可以通过第三函数值和纵坐标值的差值确定。
S3015、判断第三函数值与纵坐标值的差值绝对值是否大于或等于第一预设值,若是,则执行S3016;若否,则执行S3017。
在本实施例中,在确定出第三自变值对应的第三函数值及纵坐标值后,可以进一步获取第三函数值与纵坐标值的差值绝对值。通过判断差值绝对值是否大于或等于第一预设值来判断是否停止确定倒函数的采样点。
可以理解的是,第三函数值与纵坐标值的差值绝对值大于或等于第一预设值时,可以认为当前确定出的各采样点还不能够有效的拟合出倒函数对应的函数图像,需要继续选取新的采样点,则对应的可以执行S3016;否则,可以认为此时所确定出的各采样点,可以有效地拟合出倒函数所对应的函数图像,则可以执行S3017。
S3016、根据第三自变值形成倒函数的新采样点,并从已确定的采样点中依次顺序选定两个采样点,返回执行S3012。
在本实施例中,如果第三函数值与纵坐标值的差值绝对值大于或等于第一预设值,则将第三自变值及第三函数值确定为倒函数的新采样点。基于此,倒函数的采样点包括了随机选取的两个采样点及根据第三自变值形成的新采样点。本步骤则在全部已确定的采样点中依次顺序选取两个采样点返回执行函数值的获取操作,即执行S3012,直至第三函数值与纵坐标值的差值绝地值小于第一预设值。
S3017、停止确定倒函数的采样点。
在本实施例中,如果第三函数值与纵坐标值的差值绝对值小于第一预设值,则可以认为基于割圆法确定出倒函数的全部采样点,则可以停止确定倒函数的采样点。
S3018、依次顺序选定倒函数具有的两个采样点,基于所选定两个采样点的自变值形成一个自变区间,并基于各自变区间构成采样区间集。
在本实施例中,在确定出倒函数的各采样点后,可以在全部采样点中依次顺序选定倒函数的两个采样点。基于两个采样点的自变值形成自变区间以构成倒函数的采样区间集。
示例性地,如果倒函数的全部采样点分别为(-5,0)、(0,1)和(5,0),则先选取采样点(-5,0)和(0,1)形成一自变区间(-5,0),然后选取采样点(0,1)和(5,0)形成一自变区间(0,5)。基于此,倒函数的采样区间集为{(-5,0),(0,1)}。
S302、从采样区间集中确定符合伪零点筛选要求的伪零点区间,形成包含各伪零点区间的伪零点区间集。
在本实施例中,伪零点筛选要求可以理解为用于从采样区间集中筛选伪零点区间的规则。其中,伪零点筛选要求可以基于采样区间集中各自变区间的端点函数值确定。
具体地,在确定出倒函数的采样区间集后,本步骤可以进一步利用伪零点筛选要求确定倒函数的伪零点区间。本步骤在确定出各伪零点区间后,形成包含各伪零点区间的伪零点区间集,以能够基于伪零点区间集确定出倒函数的零点区间。可以理解的是,首先确定出倒函数的伪零点区间再确定零点区间能够有效减少直接从采样区间集中确定零点区间时的计算次数,进而减少性能消耗。
进一步地,图3c给出了本发明实施例三对伪零点区间集确定的实现流程图。具体地,如图3c所示,对伪零点区间集确定包括如下操作:
S3021、确定采样区间集所包含各自变区间中的左端点函数值和右端点函数值。
在本实施例中,在从采样区间集中确定符合伪零点筛选要求的伪零点区间形成包含各伪零点区间的伪零点区间集的过程中,本步骤首先可以确定采样区间集中各自变区间中的左端点函数值和右端点函数值,以基于确定出的各自变区间中的左端点函数值及右端点函数值确定采样区间集中的伪零点区间。
示例性地,如果自变区间为(-5,0),则左端点函数值为区间左端点-5在倒函数上对应的函数值;右端点函数值为区间右端点0在倒函数上对应的函数值。
S3022、判断是否存在左端点函数值与右端点函数值乘积为负的第一自变区间,若是,则执行S3023;若否,则执行S3024。
在本实施例中,第一自变区间可以理解为满足左端点函数值与右端点函数值乘积为负所对应的区间。
具体地,在本步骤中伪零点区间筛选要求可以为左端点函数值与右端点函数值乘积为负。相应地,在本步骤中确定符合伪零点筛选要求的伪零点区间时,可以通过判断各自变区间的左端点函数值和右端点函数值中是否存在左端点函数值与右端点函数值乘积为负的第一自变区间来确定。如果存在,则可以说明倒函数对应的函数图像在该自变区间内穿越了x轴,即:左端点函数值与右端点函数值的符号相反,相应地,可以执行S3023;否则,可以执行S3024。
S3023、将第一自变区间确定为伪零点区间,执行S3026。
在本实施例中,如果在采样区间集中存在左端点函数值与右端点函数值乘积为负的第一自变区间,则可以将该第一自变区间确定为伪零点区间。
S3024、判断是否存在左端点函数值与0的差值小于第二预设值或者右端点函数值与0的差值小于第二预设值的第二自变区间,若是,则执行S3025;若否,则执行S3026。
在本实施例中,如果不存在左端点函数值与右端点函数值乘积为负的第一自变区间,则可以进一步确定是否存在左端点函数值与0的差值小于第二预设值或者右端点函数值与0的差值小于第二预设值的第二自变区间。如果存在,则可以认为倒函数对应的函数图像在该自变区间内接近于x轴,则可以执行S3025;否则,执行S3026。
需要说明的是,在本实施例中并不对S3022及S3024这两个步骤的执行顺序作出限定。在确定伪零点区间集的过程中也可以先确定是否存在左端点函数值与0的差值小于第二预设值或者右端点函数值与0的差值小于第二预设值的第二自变区间,再确定是否存在左端点函数值与右端点函数值乘积为负的第一自变区间,同样也可以同时执行S3022及S3024。可以理解的是,在确定伪零点区间的过程中,只要自变区间的左端点函数值和右端点函数值满足S3022和S3024中任一步骤中的条件,都可以认为该自变区间为伪零点区间。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。例如,第一自变区间和第二自变区间的“第一”和“第二”用来区分满足不同伪零点筛选要求所对应的自变区间。
S3025、将第二自变区间确定为伪零点区间。
在本实施例中,如果在采样区间集中存在左端点函数值与0的差值小于第二预设值或者右端点函数值与0的差值小于第二预设值的第二自变区间,则可以将该第二自变区间确定为伪零点区间。
S3026、判断各自变区间的左端点函数值和右端点函数值是否均判断完成,若是,则执行S3027;若否,则执行S3022。
在本实施例中,如果各自变区间的左端点函数值和右端点函数值均判断完成,则可以执行S3027;否则,可以返回执行S3022,以进一步判断剩余的各自变区间的左端点函数值与右端点函数值是否满足伪零点筛选要求。
S3027、基于确定的各伪零点区间构成伪零点区间集。
在本实施例中,在基于伪零点筛选要求确定出各伪零点区间后,本步骤可以基于确定的各伪零点区间构成伪零点区间集,以进一步确定倒函数的零点区间。
S303、从伪零点区间集中依次选取一个伪零点区间作为当前待确定区间。
在本实施例中,当前待确定区间可以理解为在伪零点区间集中选取的等待确定是否存在函数值为0的伪零点区间。
具体地,本步骤在确定出的伪零点区间集中按照一定的顺序依次选取一个伪零点区间作为当前待确定区间,以确定该当前待确定区间中是否存在零自变值。
S304、从当前待确定区间中选取一个当前自变值。
在本实施例中,本步骤在确定完当前待确定区间后,基于当前待确定区间的左端点自变值和右端点自变值选取一个当前自变值。具体地,在选取当前自变值的过程中,可以选取当前待确定区间的区间左端点和区间右端点的中点、三等分点或黄金分割点。
S305、基于当前自变值及设定的牛顿迭代公式,确定处于当前待确定区间中的下一自变值。
在本实施例中,确定出的当前自变值可以理解为采用牛顿迭代法确定零点区间时的初始点。本步骤可以基于当前自变值及设定的牛顿迭代公式,确定当前待确定区间中的下一自变值,以基于下一自变值及当前自变值,确定采用牛顿迭代法在一定的迭代次数下确定出的下一自变值是否收敛。如果在一定的迭代次数下的下一自变值收敛,则可以认为该伪零点区间存在零点自变值。
进一步地,所述牛顿迭代公式表示为:其中,xn表示当前待确定区间中的当前自变值;f(xn)表示所述当前自变值xn在所述倒函数上的函数值;f′(xn)表示所述当前自变值xn在所述倒函数上的导数值;xn+1表示所述当前待确定区间中的下一自变值。
明显地,基于牛顿迭代公式及确定出的当前自变值,可以确定出当前待确定区间中的下一自变值。
S306、判断下一自变值与当前自变值的差值是否大于或等于第三预设值,若是,则执行S307或S308;若否,则执行S309。
在本实施例中,在确定出当前自变值及下一自变值后,本步骤可以判断下一自变值与当前自变值的差值是否大于或等于第三预设值。如果下一自变值与当前自变值的差值大于或等于第三预设值,则可以进一步判断当前结果是否满足迭代循环条件,本实施例可基于后续的S307或S308实现迭代循环条件的判定;否则,可以执行S309。其中,迭代循环条件可以为下一自变值在当前待确定区间的区间范围内,也可以为在进行迭代循环时,迭代次数不超过预设值。
需要说明的是,下一自变值与当前自变值的差值不满足大于或等于第三预设值可以理解为下一自变值与当前自变值的差值小于第三预设值,则可以进一步认为在采用牛顿迭代法确定当前待确定区间是否存在零点自变值的过程中,在一定的迭代运算后,下一自变值收敛,即当前待确定区间存在零点自变值。
S307、判断下一自变值与当前自变值的差值的判断次数是否大于第四预设值,若是,则执行S310;若否,则执行S311。
在本实施例中,在下一自变值与当前自变值的差值大于或等于第三预设值时,可以进一步判断当前结果是否满足迭代循环条件,以确定是否退出迭代循环。具体地,如果下一自变值与当前自变值的差值的判断次数大于第四预设值,可以说明在采用牛顿迭代法确定当前待确定区间是否存在零点自变值的过程中,在一定的迭代次数后,下一自变值与当前自变值的差值仍大于第三预设值,则可以认为当前待确定区间不存在零点自变值。相应地,可以执行S310;否则,可以执行S311。
S308、判断下一自变值是否处于当前待确定区间的区间范围内,若是,则执行S311;若否,则执行S310。
在本实施例中,在下一自变值与当前自变值的差值大于或等于第三预设值时,本步骤可以进一步判断下一自变值是否处于当前待确定区间的区间范围内,以判断是否满足迭代循环条件。具体地,如果下一自变值处于当前待确定区间的区间范围内,则可以执行S311;否则,可以说明倒函数在当前待确定区间中不存在零点自变值。相应地,可以执行S310。
需要注意的是,S307和S308的执行顺序并不作具体限定,可以并行执行也可以顺序执行。当顺序执行时,可以先执行S307再执行S308,也可以先执行S308再执行S307。可以理解的是,当下一自变值与当前自变值的差值的判断次数大于第四预设值或下一自变值不处于当前待确定区间的区间范围内中任一条件满足时,均可以执行S310以退出迭代循环。
S309、将下一自变值确定为零点自变值,执行S310。
在本实施例中,如果下一自变值与当前自变值的差值小于第三预设值,则可以说明当前待确定区间中存在零点自变值,相应地,将下一自变值确定为零点自变值,并执行S310。
S310、结束零点自变值的确定,执行S312。
明显地,结束零点自变值的确定可以有两种情况。一种情况可以是当前结果不满足迭代循环条件,即:下一自变值不处于当前待确定区间的区间范围内或下一自变值与当前自变值的差值的判断次数大于第四预设值,即在一定的迭代次数下,下一自变值与当前自变值的差值仍大于或等于第三预设值,则可以结束零点自变值的确定。另一种情况可以是判断出下一自变值与当前自变值的差值不大于或等于第三预设值后,将下一自变值确定为零点自变值并结束零点自变值的确定。
S311、将下一自变值作为新的当前自变值,返回执行S305。
在本实施例中,如果下一自变值与当前自变值的差值的判断次数不大于第四预设值或下一自变值处于当前待确定区间的区间范围内,则可以将下一自变值作为新的当前自变值,并返回下一自变值的确定操作,即返回执行S305。
S312、判断当前待确定区间中是否存在零点自变值,若是,则执行S313;若否,则执行S314。
在本实施例中,在结束零点自变值的确定后,可以进一步确定当前待确定区间中是否存在零点自变值。可以理解的是,如果当前待确定区间中存在零点自变值,则可以将零点自变值所在的伪零点区间确定为零点区间,即执行S313,相应地,可以进一步认为待绘制函数在当前待确定区间中存在无穷点;否则,可以认为当前待确定区间不存在零点自变值,则可以执行S314,相应地,可以进一步认为待绘制函数在当前待确定区间中不存在无穷点。
S313、将当前待确定区间确定为零点区间。
在本实施例中,如果当前待确定区间中存在零点自变值,则可以将当前待确定区间确定为零点区间。
S314、判断伪零点区间集中选取的伪零点区间是否为最后一个伪零点区间,若是,则执行S315;若否,则执行S303。
在本实施例中,判断完当前待确定区间中是否存在零点区间并执行相应操作后,本步骤可以进一步确定伪零点区间集中的选取的伪零点区间是否为最后一个伪零点区间。如果选取的伪零点区间为伪零点区间集中最后一个伪零点区间,则可以执行S315;否则,可以返回当前待确定区间的选取操作继续执行,即可以执行S303。
S315、根据各零点自变值所在零点区间的区间端点值,确定各零点自变值在待绘制函数上所对应无穷点的正负属性。
进一步地,图3d给出了本发明实施例三对无穷点正负属性确定的实现流程图。具体地,如图3d所示,对无穷点正负属性确定包括如下操作:
S3151、依次选取一个零点自变值作为当前零点自变值。
在本实施例中,在根据各零点自变值所在零点区间的区间端点值,确定各零点自变值在待绘制函数上所对应无穷点的正负属性的过程中,本步骤可以首先按照一定的顺序依次从各零点自变值中选取一个零点自变值作为当前零点自变值,以确定该零点自变值在待绘制函数上所对应无穷点的正负属性。
S3152、确定当前零点自变值所在零点区间的区间左端点和区间右端点。
在本实施例中,确定完当前零点自变值后,本步骤可以基于当前零点自变值所在零点区间,确定出该零点区间的区间左端点和区间右端点,以基于区间左端点和区间右端点进一步确定对应无穷点的正负属性。示例性地,如果零点区间为(-5,0),则区间左端点可以为-5,区间右端点可以为0。
S3153、将当前零点自变值在待绘制函数上的左极限值确定为第一当前无穷点,并将当前零点自变值在待绘制函数上的右极限值确定为第二当前无穷点。
在本实施例中,本步骤可以将当前零点自变值在待绘制函数上的左极限确定为第一当前无穷点,将当前零点自变值在当前待绘制函数上的右极限确定为第二当前无穷点,以分别确定当前待绘制函数在当前零点自变值位置处所对应的第一当前无穷点和第二当前无穷点的正负属性。
S3154、判断区间左端点是否为正,若是,则执行S3156;若否,则执行S3155。
在本实施例中,在确定完区间左端点后,本步骤可以通过判断区间左端点的正负判断第一当前无穷点的正负属性。具体地,如果区间左端点为正,则可以执行S3156;如果区间左端点不为正,则可以执行S3155。
S3155、确定第一当前无穷点的正负属性为负向。
在本实施例中,如果区间左端点不为正,则可以确定第一当前无穷点的正负属性为负向。
S3156、确定第一当前无穷点的正负属性为正向。
在本实施例中,如果区间左端点为正,则可以确定第一当前无穷点的正负属性为正向。
S3157、判断区间右端点是否为正,若是,则执行S3159;若否,则执行S3158。
在本实施例中,在确定完区间右端点后,本步骤可以通过判断区间右端点的正负判断第二当前无穷点的正负属性。具体地,如果区间右端点为正,则可以执行S3159;如果区间左端点不为正,则可以执行S3158。
需要说明的是,在本实施例中,S3154和S3157的执行顺序并不作具体的限定,可以顺序执行也可以并行执行。在顺序执行时,可以先执行S3154再执行S3157;也可以先执行S3157再执行S3154。
S3158、确定第二当前无穷点的正负属性为负向。
在本实施例中,如果区间右端点不为正,则可以确定第二当前无穷点的正负属性为负向。
S3159、确定第二当前无穷点的正负属性为正向。
在本实施例中,如果区间右端点为正,则可以确定第二当前无穷点的正负属性为正向。
S316、基于各零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定待绘制函数中的无穷点坐标。
进一步地,图3e给出了本发明实施例三对无穷点坐标确定的实现流程图。具体地,如图3e所示,对无穷点坐标确定包括如下操作:
S3161、根据屏幕当前的函数显示区域范围,确定待绘制函数所在坐标系中的正负向纵坐标边界值。
在本实施例中,在基于各零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定待绘制函数中的无穷点坐标的过程中,可以首先根据屏幕当前的函数显示区域范围,确定待绘制函数所在坐标系中的正负向纵坐标边界值,以基于确定出的正负向纵坐标边界值确定各无穷点的坐标。
具体地,根据屏幕当前的函数显示区域范围,可以确定出待绘制函数所在坐标系中纵坐标的正向边界值及负向边界值,以得到正向纵坐标边界值和负向纵坐标边界值。
S3162、基于纵坐标边界值及各零点自变值所对应无穷点的正负属性,确定各无穷点在坐标系中对应的目标值。
在本实施例中,目标值可以理解为待绘制函数在无穷点处所选取的纵坐标绘制值。其中,纵坐标绘制值可以理解为在绘制待绘制函数的函数图像时,所确定的无穷点纵坐标值。
具体地,在确定各无穷点在坐标系中对应的目标值的过程中,可以基于各零点自变值所对应无穷点的正负属性,选取相应方向的纵坐标边界值来确定对应的目标值。其中,各目标值的绝对值大于与所对应正负属性方向相同的纵坐标边界值的绝对值;
示例性地,如果纵坐标边界值为-5和4且存在一个零点自变值,其第一当前无穷点为负向,第二当前无穷点为正向,则可以确定第一当前无穷点对应的目标值为-6,第二当前无穷点对应的目标值为5。
S3163、将各零点自变值及其在待绘制函数上所对应无穷点的目标值确定为待绘制函数的无穷点坐标。
具体地,可以将各零点自变值确定为无穷点坐标的各横坐标值,将各零点自变值在待绘制函数上所对应无穷点的目标值确定为对应无穷点的纵坐标值。
S317、根据无穷点坐标及预先确定的各采样点坐标,在待绘制函数对应的坐标系中标定无穷点及各采样点,形成待连接点。
S318、依次顺序连接各待连接点,并在无穷点对应的位置处断开连接,得到待绘制函数的函数图像。
本发明实施例三提供的一种函数图像的绘制方法,具体化了伪零点区间集的确定操作、零点区间的确定操作、无穷点的正负属性的确定操作及无穷点坐标确定操作。利用该方法,能够基于割圆法及牛顿迭代法有效地确定出待绘制函数的无穷点,并基于屏幕当前的函数显示区域范围确定出待绘制函数中的无穷点坐标。根据确定出的无穷点坐标及各采样点坐标连接得到待绘制函数的函数图像。并且可以在对函数图像的显示比例进行调整时,能够有效地保留函数图像在无穷点位置处的函数图像信息,提高了函数绘图软件在绘制包含无穷点的函数图像时的准确性,进而有效地提升了用户使用函数绘图软件的体验度。
实施例四
图4为本发明实施例四提供的一种函数图像的绘制装置的结构框图。该装置适用于对数学函数的函数图像进行绘制的情况,其中该装置可由软件和/或硬件实现,并一般可作为绘制类功能软件的插件集成在计算机设备上。
如图4所示,该装置包括:无穷点确定模块41和函数图像获得模块42。
其中,无穷点确定模块41,用于基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;
函数图像获得模块42,用于根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像。
在本实施例中,该装置首先通过无穷点确定模块41基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;然后通过函数图像获得模块42根据无穷点坐标及预先确定的各采样点坐标,连接获得待绘制函数的函数图像。
本发明实施例四提供的一种函数图像的绘制装置,能够基于待绘制函数的无穷点坐标及预先确定的各采样点坐标,连接得到待绘制函数的函数图像。并且可以在对函数图像的显示比例进行调整时,能够有效地保留函数图像在无穷点位置处的函数图像信息,提高了函数绘图软件在绘制包含无穷点的函数图像时的准确性,进而有效地提升了用户使用函数绘图软件的体验度。
进一步地,无穷点确定模块41,包括:
伪零点区间集确定单元,用于获取待绘制函数的倒函数,并基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集;
零点区间确定单元,用于从所述伪零点区间集中确定函数值为0的零点自变值,并将各所述零点自变值所在的伪零点区间确定为零点区间;
正负属性确定单元,用于根据各所述零点自变值所在零点区间的区间端点值,确定各所述零点自变值在所述待绘制函数上所对应无穷点的正负属性;
无穷点坐标确定单元,用于基于各所述零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定所述待绘制函数中的无穷点坐标。
在上述优化的基础上,伪零点区间集确定单元,包括:
采样区间集确定子单元,用于基于割圆法确定所述倒函数的各采样点,并根据各所述采样点确定所述倒函数的采样区间集;
伪零点区间集确定子单元,用于从所述采样区间集中确定符合伪零点筛选要求的伪零点区间,形成包含各所述伪零点区间的伪零点区间集。
在上述优化的基础上,采样区间集确定子单元,具体用于:在大于屏幕当前的函数显示区域范围的计算区域上确定两个自变端点,并基于所述两个自变端点确定所述倒函数的两个采样点;获取所选定两个采样点对应的函数值,分别记为第一函数值和第二函数值;以设定规则从所述两个采样点构成的自变区间中选取第三自变值;确定所述第三自变值对应的第三函数值,并确定所述第三自变值在所述两个采样点连线上对应的纵坐标值;如果所述第三函数值与所述纵坐标值的差值绝对值大于或等于第一预设值,则根据所述第三自变值形成所述倒函数的新采样点,并从已确定的采样点中依次顺序选定两个采样点返回执行函数值的获取操作;否则,停止确定所述倒函数的采样点;依次顺序选定所述倒函数具有的两个采样点,基于所选定两个采样点的自变值形成一个自变区间,并基于各所述自变区间构成采样区间集。
在上述优化的基础上,伪零点区间集确定子单元,具体用于:确定所述采样区间集所包含各自变区间中的左端点函数值和右端点函数值;当存在左端点函数值与右端点函数值乘积为负的第一自变区间时,将所述第一自变区间确定为伪零点区间;当存在左端点函数值与0的差值小于第二预设值或者右端点函数值与0的差值小于所述第二预设值的第二自变区间时,将所述第二自变区间确定为伪零点区间;基于确定的各所述伪零点区间构成伪零点区间集。
在上述优化的基础上,零点区间确定单元,具体用于:从所述伪零点区间集中依次选取一个伪零点区间作为当前待确定区间;从所述当前待确定区间中选取一个当前自变值;基于所述当前自变值及设定的牛顿迭代公式,确定处于所述当前待确定区间中的下一自变值;如果所述下一自变值与所述当前自变值的差值大于或等于第三预设值,则在当前结果满足迭代循环条件时,将所述下一自变值作为新的当前自变值,返回执行下一自变值的确定操作;否则,将所述下一自变值确定为零点自变值并结束零点自变值的确定;当所述当前待确定区间中存在零点自变值时,将所述当前待确定区间确定为零点区间。
进一步地,该装置优化所述牛顿迭代公式为:其中,xn表示当前待确定区间中的当前自变值;f(xn)表示所述当前自变值xn在所述倒函数上的函数值;f′(xn)表示所述当前自变值xn在所述倒函数上的导数值;xn+1表示所述当前待确定区间中的下一自变值。
在上述优化的基础上,正负属性确定单元,具体用于:依次选取一个零点自变值作为当前零点自变值;确定所述当前零点自变值所在零点区间的区间左端点和区间右端点;将所述当前零点自变值在所述待绘制函数上的左极限值确定为第一当前无穷点,并将所述当前零点自变值在所述待绘制函数上的右极限值确定为第二当前无穷点;如果所述区间左端点为正,则确定所述第一当前无穷点的正负属性为正向;否则,确定所述第一当前无穷点的正负属性为负向;如果所述区间右端点为正,则确定所述第二当前无穷点的正负属性为正向;否则,确定所述第二当前无穷点的正负属性为负向。
进一步地,无穷点坐标确定单元,具体用于:根据屏幕当前的函数显示区域范围,确定所述待绘制函数所在坐标系中的正负向纵坐标边界值;基于所述纵坐标边界值及各所述零点自变值所对应无穷点的正负属性,确定各所述无穷点在所述坐标系中对应的目标值,其中,各所述目标值的绝对值大于与所对应正负属性方向相同的纵坐标边界值的绝对值;将各所述零点自变值及其在所述待绘制函数上所对应无穷点的目标值确定为所述待绘制函数的无穷点坐标。
进一步地,函数图像获得模块42,具体用于:根据所述无穷点坐标及预先确定的各采样点坐标,在所述待绘制函数对应的坐标系中标定无穷点及各采样点,形成待连接点;依次顺序连接各所述待连接点,并在所述无穷点对应的位置处断开连接,得到所述待绘制函数的函数图像。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图。如图5所示,本发明实施例五提供的计算机设备,包括:处理器51和存储装置52。该计算机设备中的处理器51可以是一个或多个,图5中以一个处理器51为例,所述计算机设备中的处理器51和存储装置52可以通过总线或其他方式连接,图5中以通过总线连接为例。
该计算机设备中的存储装置52作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例一、实施例二或实施例三所提供函数图像的绘制方法对应的程序指令/模块(例如,附图4所示的函数图像的绘制装置中的模块,包括:无穷点确定模块41和函数图像获得模块42)。处理器51通过运行存储在存储装置52中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中函数图像的绘制方法。
存储装置52可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述计算机设备所包括一个或者多个程序被所述一个或者多个处理器51执行时,程序进行如下操作:
基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例一、实施例二或实施例三提供的函数图像的绘制方法,该方法包括:基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标;根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例所提供的一种函数图像的绘制方法的技术方案。通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种函数图像的绘制方法,其特征在于,包括:
基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标,所述设定的坐标确定规则为在确定无穷点坐标时所预先设定的用于确定无穷点坐标的规则;
根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像;
所述基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标,包括:
获取待绘制函数的倒函数,并基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集;
从所述伪零点区间集中确定函数值为0的零点自变值,并将各所述零点自变值所在的伪零点区间确定为零点区间;
根据各所述零点自变值所在零点区间的区间端点值,确定各所述零点自变值在所述待绘制函数上所对应无穷点的正负属性;
基于各所述零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定所述待绘制函数中的无穷点坐标。
2.根据权利要求1所述的方法,其特征在于,所述基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集,包括:
基于割圆法确定所述倒函数的各采样点,并根据各所述采样点确定所述倒函数的采样区间集;
从所述采样区间集中确定符合伪零点筛选要求的伪零点区间,形成包含各所述伪零点区间的伪零点区间集。
3.根据权利要求2所述的方法,其特征在于,所述基于割圆法确定所述倒函数的各采样点,并根据各所述采样点确定所述倒函数的采样区间集,包括:
在大于屏幕当前的函数显示区域范围的计算区域上确定两个自变端点,并基于所述两个自变端点确定所述倒函数的两个采样点;
获取所选定两个采样点对应的函数值,分别记为第一函数值和第二函数值;
以设定规则从所述两个采样点构成的自变区间中选取第三自变值;
确定所述第三自变值对应的第三函数值,并确定所述第三自变值在所述两个采样点连线上对应的纵坐标值;
如果所述第三函数值与所述纵坐标值的差值绝对值大于或等于第一预设值,则根据所述第三自变值形成所述倒函数的新采样点,并从已确定的采样点中依次顺序选定两个采样点返回执行函数值的获取操作;否则,停止确定所述倒函数的采样点;
依次顺序选定所述倒函数具有的两个采样点,基于所选定两个采样点的自变值形成一个自变区间,并基于各所述自变区间构成采样区间集。
4.根据权利要求2所述的方法,其特征在于,所述从所述采样区间集中确定符合伪零点筛选要求的伪零点区间,形成包含各所述伪零点区间的伪零点区间集,包括:
确定所述采样区间集所包含各自变区间中的左端点函数值和右端点函数值;
如果存在左端点函数值与右端点函数值乘积为负的第一自变区间,则将所述第一自变区间确定为伪零点区间;
如果存在左端点函数值与0的差值小于第二预设值或者右端点函数值与0的差值小于所述第二预设值的第二自变区间,则将所述第二自变区间确定为伪零点区间;
基于确定的各所述伪零点区间构成伪零点区间集。
5.根据权利要求1所述的方法,其特征在于,所述从所述伪零点区间集中确定函数值为0的零点自变值,并将各所述零点自变值所在的伪零点区间确定为零点区间,包括:
从所述伪零点区间集中依次选取一个伪零点区间作为当前待确定区间;
从所述当前待确定区间中选取一个当前自变值;
基于所述当前自变值及设定的牛顿迭代公式,确定处于所述当前待确定区间中的下一自变值;
如果所述下一自变值与所述当前自变值的差值大于或等于第三预设值,则在当前结果满足迭代循环条件时,将所述下一自变值作为新的当前自变值,返回执行下一自变值的确定操作;
如果所述下一自变值与所述当前自变值的差值小于第三预设值,则将所述下一自变值确定为零点自变值并结束零点自变值的确定;
如果所述当前待确定区间中存在零点自变值,则将所述当前待确定区间确定为零点区间。
7.根据权利要求1所述的方法,其特征在于,所述根据各所述零点自变值所在零点区间的区间端点值,确定各所述零点自变值在所述待绘制函数上所对应无穷点的正负属性,包括:
依次选取一个零点自变值作为当前零点自变值;
确定所述当前零点自变值所在零点区间的区间左端点和区间右端点;
将所述当前零点自变值在所述待绘制函数上的左极限值确定为第一当前无穷点,并将所述当前零点自变值在所述待绘制函数上的右极限值确定为第二当前无穷点;
如果所述区间左端点为正,则确定所述第一当前无穷点的正负属性为正向;否则,确定所述第一当前无穷点的正负属性为负向;
如果所述区间右端点为正,则确定所述第二当前无穷点的正负属性为正向;否则,确定所述第二当前无穷点的正负属性为负向。
8.根据权利要求1所述的方法,其特征在于,所述基于各所述零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定所述待绘制函数中的无穷点坐标,包括:
根据屏幕当前的函数显示区域范围,确定所述待绘制函数所在坐标系中的正负向纵坐标边界值;
基于所述纵坐标边界值及各所述零点自变值所对应无穷点的正负属性,确定各所述无穷点在所述坐标系中对应的目标值,其中,各所述目标值的绝对值大于与所对应正负属性方向相同的纵坐标边界值的绝对值;
将各所述零点自变值及其在所述待绘制函数上所对应无穷点的目标值确定为所述待绘制函数的无穷点坐标。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像,包括:
根据所述无穷点坐标及预先确定的各采样点坐标,在所述待绘制函数对应的坐标系中标定无穷点及各采样点,形成待连接点;
依次顺序连接各所述待连接点,并在所述无穷点对应的位置处断开连接,得到所述待绘制函数的函数图像。
10.一种函数图像的绘制装置,其特征在于,包括:
无穷点确定模块,用于基于设定的坐标确定规则,确定待绘制函数中的无穷点坐标,所述设定的坐标确定规则为在确定无穷点坐标时所预先设定的用于确定无穷点坐标的规则;
函数图像获得模块,用于根据所述无穷点坐标及预先确定的各采样点坐标,连接获得所述待绘制函数的函数图像;
所述无穷点确定模块,包括:伪零点区间集确定单元,用于获取待绘制函数的倒函数,并基于预设的伪零点区间确定规则,确定所述倒函数对应的伪零点区间集;
零点区间确定单元,用于从所述伪零点区间集中确定函数值为0的零点自变值,并将各所述零点自变值所在的伪零点区间确定为零点区间;
正负属性确定单元,用于根据各所述零点自变值所在零点区间的区间端点值,确定各所述零点自变值在所述待绘制函数上所对应无穷点的正负属性;
无穷点坐标确定单元,用于基于各所述零点自变值所对应无穷点的正负属性及屏幕当前的函数显示区域范围,确定所述待绘制函数中的无穷点坐标。
11.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9任一所述的函数图像的绘制方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一所述的函数图像的绘制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810064788.0A CN108288298B (zh) | 2018-01-23 | 2018-01-23 | 函数图像的绘制方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810064788.0A CN108288298B (zh) | 2018-01-23 | 2018-01-23 | 函数图像的绘制方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108288298A CN108288298A (zh) | 2018-07-17 |
CN108288298B true CN108288298B (zh) | 2021-08-10 |
Family
ID=62835749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810064788.0A Active CN108288298B (zh) | 2018-01-23 | 2018-01-23 | 函数图像的绘制方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108288298B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110084870B (zh) * | 2019-05-13 | 2023-03-24 | 武汉轻工大学 | 平面方程的绘图区域的确定方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393818A (zh) * | 2011-07-21 | 2012-03-28 | 福州锐达数码科技有限公司 | 数字函数图形绘制方法 |
CN102841781A (zh) * | 2011-06-23 | 2012-12-26 | 汉王科技股份有限公司 | 基于电子白板的函数曲线的构造方法和*** |
CN104063167A (zh) * | 2013-03-19 | 2014-09-24 | 卡西欧计算机株式会社 | 曲线图显示装置以及曲线图显示方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102219294B1 (ko) * | 2014-02-13 | 2021-02-23 | 삼성전자 주식회사 | 커브 렌더링 방법 및 장치 |
-
2018
- 2018-01-23 CN CN201810064788.0A patent/CN108288298B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841781A (zh) * | 2011-06-23 | 2012-12-26 | 汉王科技股份有限公司 | 基于电子白板的函数曲线的构造方法和*** |
CN102393818A (zh) * | 2011-07-21 | 2012-03-28 | 福州锐达数码科技有限公司 | 数字函数图形绘制方法 |
CN104063167A (zh) * | 2013-03-19 | 2014-09-24 | 卡西欧计算机株式会社 | 曲线图显示装置以及曲线图显示方法 |
Non-Patent Citations (1)
Title |
---|
函数散点图像与连续图像的制作原理与方法;梁常东;《中小学电教》;20080430(第4期);第53-56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108288298A (zh) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2922060C (en) | Swipe toolbar to switch tabs | |
EP3940578A1 (en) | Table processing method and apparatus, and intelligent interactive tablet and storage medium | |
CN104898981A (zh) | 用于识别手势的方法、装置及终端 | |
WO2017059734A1 (zh) | 一种图片缩放方法及电子设备 | |
US20160349964A1 (en) | Method and computing device for performing operation on icon cell | |
CN110069191B (zh) | 基于终端的图像拖拽变形实现方法和装置 | |
US11863835B2 (en) | Interaction method and apparatus, and electronic device | |
CN115205925A (zh) | 表情系数确定方法、装置、电子设备及存储介质 | |
CN110211017B (zh) | 图像处理方法、装置及电子设备 | |
CN108288298B (zh) | 函数图像的绘制方法、装置、计算机设备及存储介质 | |
CN106157347B (zh) | 资源交换数据处理方法、装置和*** | |
CN114494046A (zh) | 触摸轨迹处理方法、装置、终端、存储介质及程序产品 | |
CN110069195B (zh) | 图像拖拽变形方法和装置 | |
CN111597009A (zh) | 应用程序显示的方法、装置及终端设备 | |
CN113129366B (zh) | 单目slam初始化方法、装置及电子设备 | |
CN111553962A (zh) | 一种图表显示方法、***及显示设备 | |
CN111402366A (zh) | 一种文字渲染方法、装置、电子设备及存储介质 | |
CN115880719A (zh) | 手势深度信息生成方法、装置、设备和计算机可读介质 | |
CN110070479B (zh) | 图像变形拖拽点定位方法和装置 | |
JP2024517853A (ja) | クエリー結果表示方法、装置、媒体及び電子機器 | |
CN110222777B (zh) | 图像特征的处理方法、装置、电子设备及存储介质 | |
CN114995706A (zh) | 一种元素显示方法、装置、设备及存储介质 | |
CN111338827B (zh) | 表格数据的粘贴方法、装置以及电子设备 | |
CN112258386A (zh) | 图像变形加速处理方法及装置、电子设备和可读存储介质 | |
WO2020133386A1 (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 |