CN107918549B - 立体展开图面的标记方法、装置、计算机设备及存储介质 - Google Patents

立体展开图面的标记方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN107918549B
CN107918549B CN201711202446.2A CN201711202446A CN107918549B CN 107918549 B CN107918549 B CN 107918549B CN 201711202446 A CN201711202446 A CN 201711202446A CN 107918549 B CN107918549 B CN 107918549B
Authority
CN
China
Prior art keywords
mark
marking
dimensional
expansion
picture
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
CN201711202446.2A
Other languages
English (en)
Other versions
CN107918549A (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.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shirui Electronics Co Ltd
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 Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201711202446.2A priority Critical patent/CN107918549B/zh
Publication of CN107918549A publication Critical patent/CN107918549A/zh
Priority to PCT/CN2018/114341 priority patent/WO2019100940A1/zh
Application granted granted Critical
Publication of CN107918549B publication Critical patent/CN107918549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Abstract

本发明公开了立体展开图面的标记方法、装置、计算机设备及存储介质。该方法包括:监听到在画布上移动的光标点处于任一立体展开图上时,确定光标点当前在立体展开图上所处的展开图面;根据当前所处的标记状态,生成对应于展开图面的标记编辑框,并获取用户在标记编辑框中添加的标记信息;根据接收的标记生成指令生成包含标记信息的标记位图;将标记位图作为图面标记赋予展开图面并显示。利用该方法,能根据对画布上光标点的监听确定光标点当前在立体展开图上的展开图面及根据确定的标记位图对展开图面进行图画标记,简便地实现了对演示类功能应用中所绘制立体图形的展开图面的个性化标记,进而增强了演示类功能应用的演示效果,提高了交互体验。

Description

立体展开图面的标记方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及立体展开图面的标记方法、装置、计算机设备及存储介质。
背景技术
演示类软件是电子设备(如电脑、笔记本、智能平板以及智能白板等)中常见的应用软件,可以在演示模式下展现所编辑的文字或绘制的图形。传统的演示类软件并不能直接实现三维立体图形的绘制,但随着用户对演示类软件应用需求的不断提升,技术人员研发出既可进行二维图形绘制及呈现,又能进行三维立体图形绘制及呈现的多功能演示软件。
演示者基于上述多功能演示类软件进行立体几何图形教学时,可以向学生动态的展示立体图形的展开过程,一般情况下,展开后形成的立体展开图往往只是对立体图形各表面的展开型态的简单展示,为增强立体图形的教学演示效果,演示者往往还需要基于相关的教学需求对立体展开图的图面进行所需展示效果的标记,由此可以使学生更加清楚的理解到“立体展开图”和“立体图形”的对应关系。但是,目前的教学演示类软件中还不存在对展开图面进行标记的实现方法。
发明内容
本发明实施例提供了立体展开图面的标记方法、装置、计算机设备及存储介质,实现了对多功能演示类应用中所绘制立体图形的展开图面的个性化标记。
第一方面,本发明实施例提供了一种立体展开图面的标记方法,包括:
监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;
根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;
根据接收的标记生成指令生成包含所述标记信息的标记位图;
将所述标记位图作为图面标记赋予所述展开图面并显示。
第二方面,本发明实施例提供了一种立体展开图面的标记装置,包括:
展开图面确定模块,用于监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;
标记信息获取模块,用于根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;
标记位图生成模块,用于根据接收的标记生成指令生成包含所述标记信息的标记位图;
图面标记模块,用于将所述标记位图作为图面标记赋予所述展开图面并显示。
第三方面,本发明实施例提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面实施例提供的立体展开图面的标记方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面实施例提供的立体展开图面的标记方法。
在上述立体展开图面的标记方法、装置、计算机设备及存储介质中,该方法首先监听到在画布上移动的光标点处于任一立体展开图上时,确定光标点当前在立体展开图上所处的展开图面;然后根据当前所处的标记状态,生成对应于展开图面的标记编辑框,并获取用户在标记编辑框中添加的标记信息;之后根据接收的标记生成指令生成包含标记信息的标记位图;最终根据标记位图对展开图面进行图面标记。上述技术方案,能够根据对画布上光标点的监听确定光标点当前在立体展开图上的展开图面及根据确定的标记位图对展开图面进行图画标记,简便地实现了对演示类功能应用中所绘制立体图形的展开图面的个性化标记,进而增强了演示类功能应用的演示效果,提高了演示类产品的交互体验。
附图说明
图1为本发明实施例一提供的一种立体展开图面的标记方法的流程示意图;
图2a为本发明实施例二提供的一种立体展开图面的标记方法的流程示意图;
图2b给出了基于本发明实施例二提供的立体展开图面的标记方法进行图面标记的一种效果显示图;
图2c给出了基于本发明实施例二提供的立体展开图面的标记方法进行图面标记后还原为立体图形时的效果显示图;
图3为本发明实施例三提供的一种立体展开图面的标记装置的结构框图;
图4为本发明实施例四提供的一种计算机设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种立体展开图面的标记方法的流程示意图,该方法适用于对所绘制立体展开图的展开图面进行个性化标记的情况,该方法可以由立体展开图面的标记装置执行,其中,该装置可以由硬件/软件实现,并一般可作为演示类功能软件的插件集成在计算机设备中。
在本实施例中,计算机设备具体可指智能平板、智能会议机、智能电子白板等可以进行文字及图形演示的电子设备。
如图1所示,本发明实施例一提供的一种立体展开图面的标记方法,包括如下操作:
S101、监听到在画布上移动的光标点处于任一立体展开图上时,确定光标点当前在该立体展开图上所处的展开图面。
在本实施例中,画布具体可以理解为进行图形绘制、图形编辑或图形显示的操作界面。一般的,用户可以通过对画布上各种功能按钮或工具的触发,进入对立体图形的不同编辑模式,并可以通过对光标点的控制实现对立体图形的控制。光标点可以理解为用户通过触摸或鼠标操作的指示点。立体展开图具体可以理解为将立体图形的表面按照一定顺序展开所形成的图面。示例性地,在形成立体展开图时,可以以立体图形的底面为基准,其它面逐渐转至底面所在平面,从而形成立体展开图。展开图面可以理解为组成立体展开图的图面。
需要说明的是,画布中的立体展开图所对应的立体图形对应存在独立的三维场景,通过该三维场景可以实现立体图形在空间的绘制,并通过正交相机投影显示到画布中。在画布中可以通过相应的图形展开方法将立体图形动态的展开,以得到本实施例中的立体展开图。
在本步骤中,可以当用户触发图面标记按钮时,触发进入展开图面的图面标记模式,从而开始监听光标点的移动情况,判定光标点是否处于任一立体展开图上;也可以实时监听用户对光标点的移动情况,当光标点处于任一立体展开图上时,进入展开图面的图面标记模式。
一般的,在对光标点监听的过程中,可以通过对光标点的位置信息的分析确定光标点是否处于任一立体展开图上。其中,位置信息可以包括光标点的坐标值。可以理解的是,画布中可以存在至少一个立体展开图。当监听到在画布中移动的光标点处于任一立体展开图上之后,可以进一步基于光标点的位置信息确定光标点当前在该立体展开图上所处的展开图面,以便于对所选中的展开图面进行标记。
S102、根据当前所处的标记状态,生成对应于该展开图面的标记编辑框,并获取用户在标记编辑框中添加的标记信息。
在本实施例中,标记状态可以理解为用户对展开图面进行标记前触发进入的标记编辑状态,不同的标记状态可对应生成用于实现不同标记操作的标记编辑框。标记编辑框可以理解为提供给用户进行展开图面标记的编辑框,用户可以在标记编辑框中添加想要标记的内容。标记信息具体可以理解为用户在标记编辑框中添加的对展开图面进行标记的内容。
一般的,对于画布中的立体图形的展开图面而言,往往存在多种对展开图面进行个性化展现的方式。示例性地,可以对展开图面进行个性化的颜色填充,如,对不同的展开图面进行不同颜色的填充显示;也可以对展开图面进行个性化的图面标记,如对一个展开图面进行背景图标记或者进行文本标记又或者进行书写标记等。需要说明的是,对一个展开图面进行多种操作时,在显示效果上可能会存在显示冲突,如,对展开图面进行了颜色填充后又进行图面标记,则在画布上显示时,后续进行的图面标记将会遮盖先前的填充颜色,由此画布中可能仅显示后续的图面标记信息。
本实施例具体实现对展开图面的图面标记操作,在本步骤中,在确定展开图面之后,可以进一步确定当前所处的标记状态,以确定对该展开图面的标记方式。可以理解的是,当前所处的标记状态可以由用户触发,但各标记状态对应生成的标记编辑框则可以按照系统默认的顺序显示在展开图面上,示例性地,本实施例可以将用于背景图标记的标记编辑框设置在展开图面上的第一层,将用于文本标记的标记编辑框设置在展开图面上的第二层,以及将用于书写标记的标记编辑框设置在展开图面上的第三层,其中,可认为第一层离展开图面最近,后续各层次之。之后,本实施例可以获取用户在相应标记编辑框中添加的的标记信息。
可以理解的是,不同的标记状态对应存在不同的标记信息。示例性地,如果当前处于设置背景图的标记状态,则会相应的生成该展开图面的背景图编辑框,并相应的获得在背景图编辑框中添加的标记图片作为标记信息。
S103、根据接收的标记生成指令生成包含标记信息的标记位图。
在本实施例中,标记生成指令可以理解为生成标记位图的指令。标记位图可以理解为包含标记信息的用于对图面进行标记的位图。
具体地,在获取用户在标记编辑框中添加的标记信息后,可以进一步基于接收到的标记生成指令将获得的标记信息生成标记位图,从而可以通过标记位图对图面进行标记。
S104、将标记位图作为图面标记赋予展开图面并显示。
在本实施例中,展开图面可以理解为在立体展开图中确定的等待标记的图面。图面标记可以理解为显现在展开图面上的个性化标记。在本实施例中,可以将在S101中确定的光标点当前在立体展开图上所处的展开图面作为本步骤将要标记的展开图面。
具体地,在生成包含标记信息的标记位图之后,可以进一步根据标记位图对展开图面进行图面标记。本实施例可将标记位图作为展开图面的贴图材质参数,该贴图材质参数需要在展开图面所在立体展开图形对应的三维场景中修改或设置,在三维场景中对展开图面赋予该贴图材质参数后,就可实现该展开图面的图面标记并呈现在画布中。
可以理解的是,在根据标记位图对展开图面进行图面标记之前,展开图面在三维场景中对应的属性参数设置表中可能并不存在贴图材质这个属性参数,此时,相当于在属性参数设置表增添了贴图材质参数这个新的属性参数,以此来体现本实施例对展开图面的图面标记;同理,如果展开图面在三维场景中对应的属性参数设置表已包含贴图材质这个属性参数,本实施例则将当前确定的标记位图作为新的贴图材质参数替换原有的参数系,以此也可以重置展开图面的图面标记。
本发明实施例一提供的一种立体展开图面的标记方法,首先监听到在画布上移动的光标点处于任一立体展开图上时,确定光标点当前在该立体展开图上所处的展开图面;然后根据当前所处的标记状态,生成对应于该展开图面的标记编辑框,并获取用户在标记编辑框中添加的标记信息;之后根据接收的标记生成指令生成包含标记信息的标记位图;最后根据标记位图对展开图面进行图面标记。利用该方法,根据对画布上光标点的监听确定光标点当前在立体展开图上的展开图面及根据确定的标记位图对展开图面进行图画标记,简便地实现了对演示类功能应用中所绘制立体图形的展开图面的个性化标记,进而增强了演示类功能应用的演示效果,提高了演示类产品的交互体验。
实施例二
图2a为本发明实施例二提供的一种立体展开图面的标记方法的流程示意图,本实施例二以上述实施例为基础进行优化,在本实施例中,将监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面,具体优化为:监听并获取光标点在画布上移动时对应的光标坐标值;根据所述光标坐标值及对应于所述画布的二维命中测试函数,确定所述光标点是否处于所述画布中的任一立体展开图上;若是,则根据对应于所述立体展开图的三维命中测试函数,确定所述光标点当前所处的展开图面。
进一步地,本实施例将根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息,具体优化为:接收并分析用户触发的标记指令,进入对应于所述标记指令的标记状态;如果所述标记状态为图片标记状态,则在所述画布上生成对应于所述展开图面的图片编辑框,并将用户选中的标记图片添加至所述图片编辑框中;如果所述标记状态为文字标记状态,则在所述画布上生成对应于所述展开图面的文字编辑框,并获取用户在所述文字编辑框中编辑的文字标记;如果所述标记状态为书写标记状态,则在所述画布上生成对应与所述展开图面的书写编辑框,并获取用户在所述书写编辑框中书写的笔迹标记。
在上述优化的基础上,本实施例将根据接收的标记生成指令生成包含所述标记信息的标记位图,具体优化为:接收到用户触发的标记生成指令后,提取所述标记编辑框中包含的标记信息,并将所述标记信息基于设定的位图生成策略生成标记位图;所述标记信息为下述至少一种:位于所述图片编辑框中的图片标记、位于所述文字编辑框中的文字标记以及位于所述书写编辑框中的笔迹标记。
在上述优化的基础上,本实施例将将所述标记位图作为图面标记赋予所述展开图面并显示,具体优化为:将所述标记位图作为所述展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数;在所述画布中基于所述正面贴图材质参数及所述反面贴图材质参数对所述展开图面进行图面标记显示。
如图2a所示,本发明实施例二提供的一种立体展开图面的标记方法,具体包括如下操作:
S201、监听并获取光标点在画布上移动时对应的光标坐标值。
在本实施例中,可以通过监听并获取光标点在画布上移动时所对应的光标坐标值,以用于进一步确定移动的光标点是否处于任一立体展开图上及光标点当前在立体展开图上所处的展开图面。
S202、根据光标坐标值及对应于画布的二维命中测试函数,确定光标点是否处于画布中的任一立体展开图上,若是,则执行S203;若否,则返回S201。
在本实施例中,二维命中测试函数相当于二维的画布中具备的命中测试功能,具体可用于反馈光标点当前在画布中实际对应的图形信息。
具体地,在获得到光标点在画布上移动时对应的光标坐标值后,可以进一步基于获得的光标坐标值及二维命中测试函数,确定光标点是否处于画布中的任一立体展开图上。其中,二维命中测试函数的具体作用可概括为:获知光标点的光标坐标值,基于该光标坐标值返回一个该点下方在画布中存在元素信息,若返回的元素信息为一个立体展开图相关的图形参数信息,则可认为该点下方的画布中存在一个立体展开图,即可认为该光标点当前处于该图形参数信息对应的立体展开图上,此时可继续执行S203的操作。
S203、根据对应于立体展开图的三维命中测试函数,确定光标点当前所处的展开图面。
在本实施例中,三维命中测试函数相当于三维场景中具备的命中测试功能,可用于反馈光标点当前在三维场景中实际对应的图面信息。
具体地,在确定光标点处于画布中的任一立体展开图上之后,可以进一步的利用立体展开图所对应三维场景中具备的三维命中测试函数确定光标点当前所处的展开图面。其中,三维命中测试函数的具体作用可概括为:基于获知的光标坐标值,返回一个该光标点下方在立体展开图中实际对应的元素信息,若返回的元素信息为展开图面相关的图面参数信息,则认为该光标点当前处于该图面参数信息对应的展开图面上。
S204、接收并分析用户触发的标记指令,进入对应于标记指令的标记状态。
在本实施例中,标记指令可以理解为触发不同标记状态的指令信息。可以理解的是,用户可以通过不同的触发方式触发标记指令。示例性地,可以通过触发标记按钮生成标记指令,也可以通过对展开图面的不同操作对应不同的标记指令。如,通过单击展开图面、双击展开图面或长按展开图面等方式对应不同的标记指令。
可以理解的是,不同的标记指令可以对应于不同的标记方式,进而对应于不同的标记状态,在接收并分析用户触发的标记指令后,可以进一步基于该标记指令进入对应于标记指令的标记状态,从而可以基于该标记状态对展开图面进行图面标记。其中,标记状态可以包括图片标记状态、文字标记状态、书写标记状态和颜色标记状态等。
需要说明的是,在接收并分析用户触发的标记指令之前,可以将立体展开图调整为其正面视图,从而方便用户对各个展开图面进行操作。可以理解的是,也可以使立体展开图处于任一位置,只要用户能够对各个展开图面进行操作即可。
S205、如果标记状态为图片标记状态,则在画布上生成对应于展开图面的图片编辑框,并将用户选中的标记图片添加至图片编辑框中。
具体地,如果接收并分析用户触发的标记指令后,进入了图片标记状态,则可以表明用户通过设置背景图的方式对展开图面进行标记。示例性地,可以设置用户单击展开图面为触发图片标记状态的触发标记指令。当用户单击展开图面时,则在画布中生成图片编辑框。
本步骤则在画布上生成对应于展开图面的图片编辑框,供用户将选中的标记图片添加至图片编辑框中作为展开图面的标记信息。此外,本步骤还将用户选中的标记图片添加至图片编辑框中,以形成对展开图面的图面标记,用于后续接收到标记生成指令后生成包含有图片标记的标记位图。
S206、如果标记状态为文字标记状态,则在画布上生成对应于展开图面的文字编辑框,并获取用户在文字编辑框中编辑的文字标记。
可以理解的是,如果接收并分析用户触发的标记指令后,进入了文字标记状态,则可以表明用户通过输入文本的方式对展开图面进行标记。示例性地,可以设置用户双击展开图面为触发文字标记状态的触发标记指令。当用户双击展开图面时,则在画布中生成文字编辑框。
本步骤则在画布上生成对应于展开图面的文字编辑框,供用户在文字编辑框中编辑文字标记。此外,本步骤还获取用户在文字编辑框中编辑的文字标记,用于后续接收到标记生成指令后生成包含文字标记的标记位图。
S207、如果标记状态为书写标记状态,则在画布上生成对应与展开图面的书写编辑框,并获取用户在书写编辑框中书写的笔迹标记。
在本实施例中,如果接收并分析用户触发的标记指令后,进入了书写标记状态,则可以表明用户通过画笔书写的方式对展开图面进行标记。示例性地,可以在画布中设置专门的画笔工具,当用户点击画笔工具时,触发书写标记状态的触发标记指令。当用户触发画笔工具时,则在画布中生成书写编辑框。
本步骤则在画布上生成对应与展开图面的书写编辑框,供用户在书写编辑框中编辑书写标记。此外,本步骤还获取用户在书写编辑框中书写的笔迹标记,用于后续接收到标记生成指令后生成包含笔迹标记的标记位图。
S208、接收到用户触发的标记生成指令后,提取标记编辑框中包含的标记信息,并将标记信息基于设定的位图生成策略生成标记位图。
在本实施例中,标记生成指令可以理解为用于指示生成标记位图的指令信息。可以理解的是,用户可以通过多种触发方式来触发标记生成指令。示例性地,可以通过将光标点离开当前展开图面来触发标记生成指令,也可以通过在画布中设置专用的按键,当用户触发该按键后相应的触发标记生成指令,还可以当用户点击除当前展开图面外的任意位置处,实现触发标记生成指令。
本步骤在接收到用户触发的标记生成指令后,提取通过上述步骤获取的标记编辑框中添加的标记信息,并将标记信息基于设定的位图生成策略生成标记位图。其中,设定的位图生成策略可以理解为基于标记信息生成标记位图的策略。其位图生成策略的具体地实现方式可以参照位图图像处理软件(Photoshop,PS)中在进行图层合成时所采用的技术手段。
可以理解的是,在进行图片标记、文字标记和笔迹标记等标记信息获取的过程中,并不对其获取顺序进行限定,可以按照任意顺序进行获取。在进行标记位图生成的时候,各标记信息的放置位置也可以是任意放置的,示例性地,可以将图片标记置于最底层,文字标记置于中层并将笔迹标记置于最顶层。
需要说明的是,在本步骤生成位图时,标记信息可以为位于图片编辑框中的图片标记、位于文字编辑框中的文字标记以及位于书写编辑框中的笔迹标记中的至少一种。当接收到用户触发标记生成指令后,则根据标记生成指令生成包括标记信息的标记位图。
S209、将标记位图作为展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数。
在本实施例中,三维场景可以理解为能够进行立体图形绘制的三维空间。对于三维场景中绘制的立体图形而言,立体图形的各表面均存在一个对应的属性参数表,可用于表示相应表面的显示属性,且在三维场景中,立体图形的各表面又可包括正面和反面两种,因正表面和反表面可具有不同的显示属性,所以本实施例优选为正面和反面均设置相应的属性参数表,以用于实现正面和反面的不同显示风格。
本实施例中,所述正面贴图材质参数具体可看作展开图面在三维场景中的正面所具备的一个属性参数,可用于控制展开图面的正面显示风格,所述反面贴图材质参数具体可看做展开图面在三维场景中的反面所具备的一个属性参数,可用于控制展开图面反面显示风格。
可以理解的是,当在进行图面标记之前,如果展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数中没有相应的数值,则可以将标记位图作为展开图面在三维场景中正面贴图材质参数和反面贴图参数。如果展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数中存在相应的数值,则可以将标记位图更新展开图面在三维场景中正面贴图材质参数和反面贴图材质参数。
本步骤中由将标记位图作为展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数可以看出,同一展开图面的正面和反面进行图面标记时,所使用的标记位图是相同的。通过对同一展开图面的正面和反面使用相同的标记位图,能够确保将立体展开图还原为立体图形后,还能够看到立体图形各个面上所添加的图面标记,便于用户对各个面的位置关系进行确认,从而加深了用户对立体图形的位置关系的理解。
S210、在画布中基于正面贴图材质参数及反面贴图材质参数对展开图面进行图面标记显示。
基于上述步骤确定正面贴图材质参数和反面贴图材质后,可重新基于确定后的正面贴图材质参数和反面贴图材质参数在画布上对展开图面进行显示,以完成对展开图面进行图面标记显示,可以理解的是,标记后的展开图面根据投影的角度不同在画布中对展开图面的不同面(正面或反面)进行显示。
可以理解的是,用户可以通过移动光标点,使光标点处于想要进行图面标记的立体展开图上,并进一步确定立体展开图中各需要标记的展开图面,来完成对各个展开图面的标记,以方便用户观察立体图形各个面的位置关系。
需要说明的是,当立体展开图还原为立体图形后,展开图面的图面标记仍然可以在立体图形的各个面上,并且在对立体图形进一步操作的过程中,立体图形各个面的图面标记仍然能够呈现出来。由此可以看出,通过对立体展开图面的标记能够更加清楚地帮助用户理解立体展开图与立体图形的对应关系,同样地,在对立体图形进行进一步操作时也能够有助于帮助对立体图形位置关系的理解。
图2b给出了基于本发明实施例二提供的立体展开图面的标记方法进行图面标记的一种效果显示图。如图2b所示,正方体展开图21为画布中光标点所在的立体展开图,图面ABCD为光标点在该立体展开图上所处的展开图面。此时可以看出,图面ABCD已经完成了图面标记,其中标记信息包括了图片标记211、文字标记212和笔迹标记213。可以理解的是,标记信息可以为位于图片编辑框中的图片标记、位于文字编辑框中的文字标记以及位于书写编辑框中的笔迹标记中的至少一种。如果仅进行了图片标记,则相应的仅在正方体展开图21中显示图片标记211。
此外,图2c给出了基于本发明实施例二提供的立体展开图面的标记方法进行图面标记后还原为立体图形时的效果显示图。如图2c所示,正方体22为正方体展开图21还原后所形成的立体图形,可以看出,正方体展开图21还原为正方体22后,对图面ABCD的图面标记仍然呈现。需要说明的是,在对正方体展开图21的图面ABCD进行图面标记时,对图面ABCD的正面和反面均进行了相同的标记。其中,图2b中正方体展开图21显示出的图面ABCD为图面的正面。图2c中经过还原后所形成的正方体22显示出的图面ABCD为图面的反面。可以看出,图面ABCD正面和反面均使用相同的标记位图进行了标记。由此可见,无论正方体展开图21沿何种方向进行还原均能够将图面标记进行呈现,从而方便了用户对立体图形位置关系的理解。
需要注意的是,上述实施例中公开的立体展开图面的标记方法适用于任何立体图形,示例性的,正方体、长方体、圆柱体等。本实施例二中的立体展开图面的标记方法进行图面标记的一种效果显示图仅以正方体为例进行说明。
本发明实施例二提供的一种立体展开图面的标记方法,具体化了展开图面的确定操作、标记信息的获取操作、标记位图的生成操作和图面标记操作。利用该方法,能够根据光标坐标值、二维命中测试函数及三维命中测试函数确定光标点当前在立体展开图上的展开图面及通过对标记指令的分析进入相应的标记状态,进一步获得相应的标记信息,并在接收到标记生成指令后,基于设定的位图生成策略生成用于对图面进行标记的标记位图,进而根据标记位图对展开图面进行图面标记,简单便捷地实现了对演示类功能应用中所绘制立体图形的展开图面的个性化标记,从而便于在将立体展开图还原为立体图形的过程中对各个图面的位置的确认,也便于还原为立体图形后,对立体图形各个面的位置关系的确认,进而增强了演示类功能应用的演示效果,提高了演示类产品的交互体验。
实施例三
图3为本发明实施例三提供的一种立体展开图面的标记装置的结构框图,该装置适用于对所绘制立体展开图的展开图面进行个性化标记的情况,该装置该装置可以由硬件/软件实现,并一般可作为演示类功能软件的插件集成在计算机设备中。如图3所示,该装置包括:展开图面确定模块31、标记信息获取模块32、标记位图生成模块33以及图面标记模块34。
其中,展开图面确定模块31,用于监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;
标记信息获取模块32,用于根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;
标记位图生成模块33,用于根据接收的标记生成指令生成包含所述标记信息的标记位图;
图面标记模块34,用于将所述标记位图作为图面标记赋予所述展开图面并显示。
在本实施例中,该装置首先通过展开图面确定模块31在监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;然后通过标记信息获取模块32根据接收的标记生成指令生成包含所述标记信息的标记位图;之后通过标记位图生成模块33根据接收的标记生成指令生成包含所述标记信息的标记位图;最终通过图面标记模块34将所述标记位图作为图面标记赋予所述展开图面并显示。
本发明实施例三提供的一种立体展开图面的标记装置,能够根据对画布上光标点的监听确定光标点当前在立体展开图上的展开图面及根据确定的标记位图对展开图面进行图画标记,简便地实现了对演示类功能应用中所绘制立体图形的展开图面的个性化标记,进而增强了演示类功能应用的演示效果,提高了演示类产品的交互体验。
进一步地,展开图面确定模块31,具体用于:监听并获取光标点在画布上移动时对应的光标坐标值;根据所述光标坐标值及对应于所述画布的二维命中测试函数,确定所述光标点是否处于所述画布中的任一立体展开图上;若是,则根据对应于所述立体展开图的三维命中测试函数,确定所述光标点当前所处的展开图面。
进一步地,标记信息获取模块32,具体用于:接收并分析用户触发的标记指令,进入对应于所述标记指令的标记状态;当所述标记状态为图片标记状态时,在所述画布上生成对应于所述展开图面的图片编辑框,并将用户选中的标记图片添加至所述图片编辑框中;当所述标记状态为文字标记状态时,在所述画布上生成对应于所述展开图面的文字编辑框,并获取用户在所述文字编辑框中编辑的文字标记;当所述标记状态为书写标记状态时,在所述画布上生成对应与所述展开图面的书写编辑框,并获取用户在所述书写编辑框中书写的笔迹标记。
进一步地,标记位图生成模块33,具体用于:接收到用户触发的标记生成指令后,提取所述标记编辑框中包含的标记信息,并将所述标记信息基于设定的位图生成策略生成标记位图;所述标记信息为下述至少一种:位于所述图片编辑框中的图片标记、位于所述文字编辑框中的文字标记以及位于所述书写编辑框中的笔迹标记。
在上述优化的基础上,图面标记模块34,具体用于:将所述标记位图作为所述展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数;在所述画布中基于所述正面贴图材质参数及所述反面贴图材质参数对所述展开图面进行图面标记显示。
实施例四
图4为本发明实施例四提供的一种计算机设备的硬件结构示意图。如图4所示,本发明实施例四提供的计算机设备,包括:处理器41和存储装置42。该计算机设备中的处理器41可以是一个或多个,图4中以一个处理器41为例,所述计算机设备中的处理器41和存储装置42可以通过总线或其他方式连接,图4中以通过总线连接为例。
该计算机设备中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例一或二所提供立体展开图面的标记方法对应的程序指令/模块(例如,附图3所示的立体展开图面的标记装置中的模块,包括:展开图面确定模块31、标记信息获取模块32、标记位图生成模块33以及图面标记模块34)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中立体展开图面的标记方法。
存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述计算机设备所包括一个或者多个程序被所述一个或者多个处理器41执行时,程序进行如下操作:
监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;根据接收的标记生成指令生成包含所述标记信息的标记位图;将所述标记位图作为图面标记赋予所述展开图面并显示。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例一或实施例二提供的立体展开图面的标记方法,该方法包括:监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;根据接收的标记生成指令生成包含所述标记信息的标记位图;将所述标记位图作为图面标记赋予所述展开图面并显示。
此外,本发明实施例还提供一种计算机程序,该计算机程序被执行时可以实现本发明提供的立体展开图面的标记方法,该方法包括:
监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面;根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;根据接收的标记生成指令生成包含所述标记信息的标记位图;将所述标记位图作为图面标记赋予所述展开图面并显示。
进一步地,所述监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面,包括:监听并获取光标点在画布上移动时对应的光标坐标值;根据所述光标坐标值及对应于所述画布的二维命中测试函数,确定所述光标点是否处于所述画布中的任一立体展开图上;若是,则根据对应于所述立体展开图的三维命中测试函数,确定所述光标点当前所处的展开图面。
进一步地,所述根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息,包括:接收并分析用户触发的标记指令,进入对应于所述标记指令的标记状态;如果所述标记状态为图片标记状态,则在所述画布上生成对应于所述展开图面的图片编辑框,并将用户选中的标记图片添加至所述图片编辑框中;如果所述标记状态为文字标记状态,则在所述画布上生成对应于所述展开图面的文字编辑框,并获取用户在所述文字编辑框中编辑的文字标记;如果所述标记状态为书写标记状态,则在所述画布上生成对应与所述展开图面的书写编辑框,并获取用户在所述书写编辑框中书写的笔迹标记。
进一步地,所述根据接收的标记生成指令生成包含所述标记信息的标记位图,包括:接收到用户触发的标记生成指令后,提取所述标记编辑框中包含的标记信息,并将所述标记信息基于设定的位图生成策略生成标记位图;所述标记信息为下述至少一种:位于所述图片编辑框中的图片标记、位于所述文字编辑框中的文字标记以及位于所述书写编辑框中的笔迹标记。
进一步地,所述将所述标记位图作为图面标记赋予所述展开图面并显示,包括:将所述标记位图作为所述展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数;在所述画布中基于所述正面贴图材质参数及所述反面贴图材质参数对所述展开图面进行图面标记显示。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种立体展开图面的标记方法,其特征在于,包括:
监听到在画布上移动的光标点处于任一立体展开图上时,基于所述光标点的位置信息确定所述光标点当前在所述立体展开图上所处的展开图面,其中,所述位置信息包括光标坐标值;
根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;
根据接收的标记生成指令生成包含所述标记信息的标记位图;
将所述标记位图作为图面标记赋予所述展开图面并显示。
2.根据权利要求1所述的方法,其特征在于,所述监听到在画布上移动的光标点处于任一立体展开图上时,确定所述光标点当前在所述立体展开图上所处的展开图面,包括:
监听并获取光标点在画布上移动时对应的光标坐标值;
根据所述光标坐标值及对应于所述画布的二维命中测试函数,确定所述光标点是否处于所述画布中的任一立体展开图上;
若是,则根据对应于所述立体展开图的三维命中测试函数,确定所述光标点当前所处的展开图面。
3.根据权利要求1所述的方法,其特征在于,所述根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息,包括:
接收并分析用户触发的标记指令,进入对应于所述标记指令的标记状态;
如果所述标记状态为图片标记状态,则在所述画布上生成对应于所述展开图面的图片编辑框,并将用户选中的标记图片添加至所述图片编辑框中;
如果所述标记状态为文字标记状态,则在所述画布上生成对应于所述展开图面的文字编辑框,并获取用户在所述文字编辑框中编辑的文字标记;
如果所述标记状态为书写标记状态,则在所述画布上生成对应与所述展开图面的书写编辑框,并获取用户在所述书写编辑框中书写的笔迹标记。
4.根据权利要求3所述的方法,其特征在于,所述根据接收的标记生成指令生成包含所述标记信息的标记位图,包括:
接收到用户触发的标记生成指令后,提取所述标记编辑框中包含的标记信息,并将所述标记信息基于设定的位图生成策略生成标记位图;
所述标记信息为下述至少一种:位于所述图片编辑框中的图片标记、位于所述文字编辑框中的文字标记以及位于所述书写编辑框中的笔迹标记。
5.根据权利要求1所述的方法,其特征在于,所述将所述标记位图作为图面标记赋予所述展开图面并显示,包括:
将所述标记位图作为所述展开图面在三维场景中的正面贴图材质参数和反面贴图材质参数;
在所述画布中基于所述正面贴图材质参数及所述反面贴图材质参数对所述展开图面进行图面标记显示。
6.一种立体展开图面的标记装置,其特征在于,包括:
展开图面确定模块,用于监听到在画布上移动的光标点处于任一立体展开图上时,基于所述光标点的位置信息确定所述光标点当前在所述立体展开图上所处的展开图面,其中,所述位置信息包括光标坐标值;
标记信息获取模块,用于根据当前所处的标记状态,生成对应于所述展开图面的标记编辑框,并获取用户在所述标记编辑框中添加的标记信息;
标记位图生成模块,用于根据接收的标记生成指令生成包含所述标记信息的标记位图;
图面标记模块,用于将所述标记位图作为图面标记赋予所述展开图面并显示。
7.根据权利要求6所述的装置,其特征在于,所述展开图面确定模块,具体用于:
监听并获取光标点在画布上移动时对应的光标坐标值;
根据所述光标坐标值及对应于所述画布的二维命中测试函数,确定所述光标点是否处于所述画布中的任一立体展开图上;
若是,则根据对应于所述立体展开图的三维命中测试函数,确定所述光标点当前所处的展开图面。
8.根据权利要求6所述的装置,其特征在于,所述标记信息获取模块,具体用于:
接收并分析用户触发的标记指令,进入对应于所述标记指令的标记状态;
当所述标记状态为图片标记状态时,在所述画布上生成对应于所述展开图面的图片编辑框,并将用户选中的标记图片添加至所述图片编辑框中;
当所述标记状态为文字标记状态时,在所述画布上生成对应于所述展开图面的文字编辑框,并获取用户在所述文字编辑框中编辑的文字标记;
当所述标记状态为书写标记状态时,在所述画布上生成对应与所述展开图面的书写编辑框,并获取用户在所述书写编辑框中书写的笔迹标记。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一所述的立体展开图面的标记方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一所述的立体展开图面的标记方法。
CN201711202446.2A 2017-11-27 2017-11-27 立体展开图面的标记方法、装置、计算机设备及存储介质 Active CN107918549B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711202446.2A CN107918549B (zh) 2017-11-27 2017-11-27 立体展开图面的标记方法、装置、计算机设备及存储介质
PCT/CN2018/114341 WO2019100940A1 (zh) 2017-11-27 2018-11-07 立体展开图面的标记方法以及装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711202446.2A CN107918549B (zh) 2017-11-27 2017-11-27 立体展开图面的标记方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN107918549A CN107918549A (zh) 2018-04-17
CN107918549B true CN107918549B (zh) 2021-01-19

Family

ID=61897941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711202446.2A Active CN107918549B (zh) 2017-11-27 2017-11-27 立体展开图面的标记方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN107918549B (zh)
WO (1) WO2019100940A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918549B (zh) * 2017-11-27 2021-01-19 广州视睿电子科技有限公司 立体展开图面的标记方法、装置、计算机设备及存储介质
CN108765299B (zh) * 2018-04-26 2022-08-16 广州视源电子科技股份有限公司 立体图形标记系统及方法
CN109976614B (zh) * 2019-03-28 2021-04-06 广州视源电子科技股份有限公司 一种立体图形的标注方法、装置、设备及介质
CN110968227B (zh) * 2019-10-09 2022-03-08 广州视源电子科技股份有限公司 智能交互平板的控制方法和装置
CN111091570B (zh) * 2019-11-21 2023-07-25 招商银行股份有限公司 图像分割标注方法、装置、设备及存储介质
CN112764646B (zh) * 2021-01-12 2022-10-14 深圳点猫科技有限公司 一种图形展示方法、装置及设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1617172A (zh) * 2003-11-11 2005-05-18 北京北佳信息系统有限公司 平面图案的设计设备和方法
US8126244B2 (en) * 2007-09-21 2012-02-28 Siemens Medical Solutions Usa, Inc. User interface for polyp annotation, segmentation, and measurement in 3D computed tomography colonography
US8433998B2 (en) * 2009-01-16 2013-04-30 International Business Machines Corporation Tool and method for annotating an event map, and collaborating using the annotated event map
US9070259B2 (en) * 2009-08-05 2015-06-30 Bradley Berman Gaming method and apparatus for facilitating a game involving 2D and 3D play areas
US10217264B2 (en) * 2010-06-01 2019-02-26 Vladimir Vaganov 3D digital painting
JP5681588B2 (ja) * 2010-09-30 2015-03-11 富士フイルム株式会社 立体画像編集装置および立体画像編集方法
KR101380765B1 (ko) * 2013-06-04 2014-04-02 김태형 입체도형 학습 기능을 제공하는 전자 장치
CN103345542B (zh) * 2013-06-05 2016-01-27 西安理工大学 一种基于三维可视化技术的桥梁病害标记方法
CN104216333B (zh) * 2014-09-10 2017-09-12 上海维宏电子科技股份有限公司 数控系统中基于二维展开图实现切割控制的方法
CN107369208A (zh) * 2017-05-24 2017-11-21 深圳三维盘酷网络科技有限公司 一种三维模型的注释方法、注释系统以及计算机可读存储介质
CN107918549B (zh) * 2017-11-27 2021-01-19 广州视睿电子科技有限公司 立体展开图面的标记方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"3D sound rendering system based on relationship between stereoscopic image and stereo sound for 3DTV";Sunmin Kim等;《2013 IEEE International Conference on Consumer Electronics (ICCE)》;20130328;第324-325页 *

Also Published As

Publication number Publication date
CN107918549A (zh) 2018-04-17
WO2019100940A1 (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN107918549B (zh) 立体展开图面的标记方法、装置、计算机设备及存储介质
CN108279964B (zh) 蒙层渲染的实现方法、装置、智能设备及存储介质
US7661071B2 (en) Creation of three-dimensional user interface
US9323422B2 (en) Spatially-aware projection pen display
JP3592750B2 (ja) 機械操作方法
CN103092612B (zh) 实现安卓操作系统3d桌面贴图的方法及电子装置
US10545658B2 (en) Object processing and selection gestures for forming relationships among objects in a collaboration system
EP3436910B1 (en) Ink effects
JP6598984B2 (ja) オブジェクト選択システムおよびオブジェクト選択方法
CN111583379A (zh) 虚拟模型的渲染方法、装置、存储介质与电子设备
JP6595896B2 (ja) 電子機器及び表示制御方法
CN114327064A (zh) 一种基于手势控制的标绘方法、系统、设备及存储介质
CN108829486A (zh) 一种背景设置方法、装置、设备和存储介质
CN106846431B (zh) 一种支持多表现形式的统一Web图形绘制系统
Nan et al. vDesign: a CAVE-based virtual design environment using hand interactions
JP5767371B1 (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
CN113935893A (zh) 素描风格的场景渲染方法、设备及存储介质
CN113741775A (zh) 图像处理方法、装置及电子设备
Merckel et al. Multi-interfaces approach to situated knowledge management for complex instruments: First step toward industrial deployment
CN107895388B (zh) 图形的颜色填充方法、装置、计算机设备及存储介质
US20190311424A1 (en) Product visualization system and method for using two-dimensional images to interactively display photorealistic representations of three-dimensional objects based on smart tagging
JPH1166351A (ja) 3次元仮想空間内部におけるオブジェクト動作制御方法および装置とオブジェクト動作制御プログラムを記録した記録媒体
JP2003158710A (ja) 映像オブジェクト編集装置及び映像オブジェクト編集プログラム
US11694376B2 (en) Intuitive 3D transformations for 2D graphics
CN111489450B (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