CN104778862B - 三维模型展开的方法及终端 - Google Patents
三维模型展开的方法及终端 Download PDFInfo
- Publication number
- CN104778862B CN104778862B CN201410016200.6A CN201410016200A CN104778862B CN 104778862 B CN104778862 B CN 104778862B CN 201410016200 A CN201410016200 A CN 201410016200A CN 104778862 B CN104778862 B CN 104778862B
- Authority
- CN
- China
- Prior art keywords
- threedimensional model
- summit
- rotation amount
- translation rotation
- expansion
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/02—Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种三维模型展开的方法及终端,其中,所述方法包括:根据三维模型的类型和位置信息,获取所述三维模型的顶点的数据;根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量;根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;其中,所述三维模型的展开时间为预设时间。上述方法能够在移动教学设备中实现三维模型的展开,提高教学内容的生动性,进而提高了教学效率。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种三维模型展开的方法及终端。
背景技术
在义务教育阶段,需要给学生示范二维图形和三维图形的展开过程,以使学生对图形的展开形成立体感觉。
然而,现有的移动教学设备中图形(如矩形、圆柱、圆锥等)的展开通常采用二维图形的形式示范三维图形展开的效果,进而缺乏三维图形展开的整体性。例如,采用拼图技术展开三维图形,首先:制备多个同一角度不同时间展开的子三维图形;其次:将所有的子三维图形采用叠加组合,进而组合成一个三维图形的展开模型。
上述三维图形的展开模型操作复杂,且只能采用一个固定视角实现静态观察,缺乏生动性和直观性,无法提高学生的学习积极性。由此,如何采用终端实现三维模型的展开成为当前需要解决的技术问题。
发明内容
本发明第一方面提供一种三维模型展开的方法,用于在移动教学设备中实现三维模型的展开,提高教学效率。
根据三维模型的类型和位置信息,获取所述三维模型的顶点的数据;
根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量;
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;
其中,所述三维模型的展开时间为预设时间。
可选地,根据三维模型的类型和位置信息,获取所述三维模型的顶点数据的步骤之前,还包括:
渲染预建立三维模型的场景;
建立所述三维模型。
可选地,渲染预建立三维模型的场景,包括:
采用开放的图形程序接口OpenGL渲染预建立三维模型的场景。
可选地,所述根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量,包括:
根据所述三维模型的展开层次和所述顶点,确定所述三维模型的父节点和子节点;
根据所述父节点和所述子节点,确定所述子节点相对于所述父节点的变换矩阵;
根据所述变换矩阵、所述父节点、子节点和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
可选地,所述根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型,包括:
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量,获取单位时间内每一顶点的平移旋转量;
根据所述旋转顺序和单位时间内每一顶点的平移旋转量,逐级展开所述三维模型。
可选地,获取单位时间内每一顶点的平移旋转量,包括:
获取单位时间内所述每一顶点的水平移动距离、垂直移动距离和旋转角度。
可选地,所述三维模型包括:棱柱、棱锥、圆柱体或圆锥体。
本发明第二方面提供一种终端,用于实现三维模型的展开,提高教学效率。
第一获取单元,用于根据三维模型的类型和位置信息,获取所述三维模型的顶点数据;
第二获取单元,用于根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量;
展开单元,用于根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;
其中所述三维模型的展开时间为预设时间。
可选地,所述第二获取单元,具体用于
根据所述三维模型的展开层次和所述顶点,确定所述三维模型的父节点和子节点;
根据所述父节点和子节点,确定所述子节点相对于所述父节点的变换矩阵;
根据所述变换矩阵、所述父节点、子节点和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
可选地,所述展开单元,具体用于
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量,获取单位时间内每一顶点的平移旋转量;
根据所述旋转顺序和单位时间内每一顶点的平移旋转量,逐级展开所述三维模型。
本发明第一方面的技术效果是:通过获取三维模型的顶点的数据,进而根据展开层次确定顶点的旋转顺序,以及顶点的平移旋转量,由此可以结合三维模型的展开时间逐级展开三维模型,在移动教学设备中实现了三维模型的展开,提高了教学效率。
本发明第二方面的技术效果是:通过第一获取单元获取三维模型的顶点的数据,第二获取单元确定顶点的旋转顺序和顶点的平移旋转量,进而在展开单元结合展开时间将三为模型逐级展开,实现了三维模型的展开,提高了教学效率。
附图说明
图1为本发明实施例提供的三维模型展开的方法的流程示意图;
图2为本发明实施例提供的三维模型展开的方法的流程示意图;
图3A至图3D为本发明实施例提供的三维立方体模型展开的示意图;
图3E为图3A至图3D中三维立方体模型展开的父节点和子节点的关系示意图;
图4为本发明实施例提供的终端的结构示意图。
具体实施方式
图1示出了本发明实施例提供的三维模型展开的方法的流程示意图,如图1所示,本实施例的三维模型展开的方法如下文所述。
101、根据三维模型的类型和位置信息,获取所述三维模型的顶点的数据。
举例来说,三维模型可包括:棱柱、棱锥、圆柱体、圆锥体等。本实施例的三维模型为初中教学课本中的三维模型,可理解为简单的且规则的三维模型。
本实施例中三维模型的类型可为立方体、圆锥体等类型。位置信息可理解为三维模型在笛卡尔坐标系中的位置信息,靠近原点位置,还是远离原点的某一位置。
102、根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
本实施例中的展开层次举例来说,就是一个三维模型,先展开三维模型的第一部分,其次展开三维模型的第二部分,第二部分和第一部分不完全一致。也就是说,在准备展开三维模型的时候,执行者需要提前构思采用那一层次的展开顺序展开三维模型。
103、根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;
其中,所述三维模型的展开时间为预设时间,例如十秒展开三维模型,或者一分钟展开三维模型等。
可选地,前述的步骤102可包括下述的图中未示出的子步骤1021至子步骤1023:
1021、根据所述三维模型的展开层次和所述顶点,确定所述三维模型的父节点和子节点。
在本实施例中,组织三维模型的顶点之间的关系,上述的父节点的旋转移动操作均会影响子节点的位置。在三维模型展开的过程中,可先旋转移动的是子节点。
应理解,三维模型的节点可包括顶点及顶点的其他属性信息(如顶点的矩阵,位置数据等),以立方体举例来说,顶点仅为立方体的八个顶点,每一节点可包括立方体的一个面,以及面内的顶点的属性信息。
1022、根据所述父节点和所述子节点,确定所述子节点相对于所述父节点的变换矩阵。
由于三维模型为基础的规则的三维模型,故,确定父节点和子节点之后,可以直接设置子节点相对于父节点的变换矩阵。
通常,可基于绕X轴的旋转矩阵
绕Y轴的旋转矩阵
绕Z轴的旋转矩阵来获取子节点相对于父节点的变换矩阵。
应说明,由于三维模型基本上属于规则的图形,故,不同的三维模型中子节点相对于父节点的变换矩阵可直接计算得出,本实施例不在此进行详述。
1023、根据所述变换矩阵、所述父节点、子节点和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
可选地,前述的步骤103可包括下述的图中未示出的子步骤1031和子步骤1032:
1031、根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量,获取单位时间内每一顶点的平移旋转量。
也就是说,三维模型的展开是一个随时间变化的过程,随着时间的推移计算每个顶点的平移旋转量等。
1032、根据所述旋转顺序和单位时间内每一顶点的平移旋转量,逐级展开所述三维模型。
举例来说,获取单位时间内每一顶点的平移旋转量,可包括:
获取单位时间内所述每一顶点的水平移动距离、垂直移动距离和旋转角度。
本实施例中的三维模型展开的方法,通过设置三维模型顶点的旋转顺序,获取顶点的平移旋转量,进而实现逐级展开三维模型,解决了现有技术中无法动态实时的展开三维模型的问题,同时能够提高教学效率,提高课堂的趣味性和生动性。
图2示出了本发明实施例提供的三维模型展开的方法的流程示意图,如图2所示,本实施例的三维模型展开的方法如下文所述。
201、渲染预建立三维模型的场景。
举例来说,采用开放的图形程序接口(Open Graphics Library,简称OpenGL)渲染预建立三维模型的场景。
可理解的是:本实施例中采用业界通用的OpenGL作为三维模型的渲染引擎。
202、建立所述三维模型,进而根据三维模型的类型和位置信息得到所述三维模型的顶点的数据。
举例来说,三维模型可包括:棱柱、棱锥、圆柱体或圆锥体等。本实施例的三维模型为初中教学课本中的三维模型,可理解为简单的且规则的三维模型。
举例来说,顶点数据,可为该顶点的X轴、Y轴、Z轴的坐标值。
若三维模型是已经建立完成的,则可根据三维模型的类型和位置信息,得到三维模型的顶点的数据。
新建立的三维模型,可在建立三维模型的过程中得到各顶点的数据。
通常,上述的步骤202和步骤201可为一个过程的实现获取,例如,可建立三维模型的过程中得到三维模型各顶点的数据。
203、根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
例如,图3A至图3D所示的三维立方体模型展开的层次,根据图3A至图3D所示的展开层次,可确定所述顶点中的父节点和子节点,如图3E所示。
进而可根据所述父节点和所述子节点,确定所述子节点相对于所述父节点的变换矩阵;根据所述变换矩阵和所述顶点的数据,获取每一顶点的平移旋转量。
在图3A至图3D中,执行者预想的立方体展开层次的次序为首先展开上底面A1B1C1D1,当上底面A1B1C1D1展开后如图3B,接下来展开的面为B1BCC1,如图3C,此时面A1B1C1D1将随着B1BCC1的展开而旋转,相应地,面B1BCC1上的各顶点为A1B1C1D1各顶点的父节点。立方体的父节点和子节点的关系结构如图3E所示。
204、根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型。
可选地,三维模型展开的过程由动画实现,由于对各顶点进行旋转平移,对顶点的旋转平移的过程中,因为计算的过程中可能存在误差,在对父节点进行平移旋转的时候应先检验子节点是否已经在正确的位置,否则应对子节点的位置进行校正。
进一步地,还可在步骤204的三维模型展开之后,采用OpenGL对展开的三维模型进行渲染。
本实施例中,通过对三维模型的场景进行初始化,进而建立三维模型,并获取三维模型各顶点的数据,进而获取三维模型的各顶点的平移旋转量,以实现逐级展开三维模型,可在移动教学设备中实现三维模型的展开,同时提高了教学效率。
图4为本发明实施例提供的终端的结构示意图,本实施例的终端可作为义务教育阶段的移动教学设备。如图4所示,本实施例中的终端包括:第一获取单元41、第二获取单元42和展开单元43;
第一获取单元41用于根据三维模型的类型和位置信息,获取所述三维模型的顶点数据;
第二获取单元42用于根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量;
展开单元43用于根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;
其中所述三维模型的展开时间为预设时间。
在一种具体的应用场景中,所述第二获取单元42具体用于
根据所述三维模型的展开层次和所述顶点,确定所述三维模型的父节点和子节点;
根据所述父节点和所述子节点,确定所述子节点相对于所述父节点的变换矩阵;
根据所述变换矩阵、所述父节点、子节点和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
在另一种具体的应用场景中,所述展开单元43具体用于
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量,获取单位时间内每一顶点的平移旋转量;
根据所述旋转顺序和单位时间内每一顶点的平移旋转量,逐级展开所述三维模型。
举例来说,前述的三维模型可为:棱柱、棱锥、圆柱体、圆锥体等。
本实施例中的终端,通过第一获取单元获取三维模型的顶点的数据,第二获取单元确定顶点的旋转顺序和顶点的平移旋转量,进而在展开单元结合展开时间将三为模型逐级展开,实现了三维模型的展开,提高了教学效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种三维模型展开的方法,其特征在于,包括:
根据三维模型的类型和位置信息,获取所述三维模型的顶点的数据;
根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量;
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;
其中,所述三维模型的展开时间为预设时间;
其中,所述根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量,包括:
根据所述三维模型的展开层次和所述顶点,确定所述三维模型的父节点和子节点;
根据所述父节点和所述子节点,确定所述子节点相对于所述父节点的变换矩阵;
根据所述变换矩阵、所述父节点、子节点和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
2.根据权利要求1所述的方法,其特征在于,根据三维模型的类型和位置信息,获取所述三维模型的顶点数据的步骤之前,还包括:
渲染预建立三维模型的场景;
建立所述三维模型。
3.根据权利要求2所述的方法,其特征在于,渲染预建立三维模型的场景,包括:
采用开放的图形程序接口OpenGL渲染预建立三维模型的场景。
4.根据权利要求1所述的方法,其特征在于,所述根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型,包括:
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量,获取单位时间内每一顶点的平移旋转量;
根据所述旋转顺序和单位时间内每一顶点的平移旋转量,逐级展开所述三维模型。
5.根据权利要求4所述的方法,其特征在于,获取单位时间内每一顶点的平移旋转量,包括:
获取单位时间内所述每一顶点的水平移动距离、垂直移动距离和旋转角度。
6.根据权利要求1所述的方法,其特征在于,所述三维模型包括:
棱柱、棱锥、圆柱体或圆锥体。
7.一种终端,其特征在于,包括:
第一获取单元,用于根据三维模型的类型和位置信息,获取所述三维模型的顶点数据;
第二获取单元,用于根据所述三维模型的展开层次和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量;
展开单元,用于根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量逐级展开所述三维模型;
其中所述三维模型的展开时间为预设时间;
其中,所述第二获取单元,具体用于
根据所述三维模型的展开层次和所述顶点,确定所述三维模型的父节点和子节点;
根据所述父节点和子节点,确定所述子节点相对于所述父节点的变换矩阵;
根据所述变换矩阵、所述父节点、子节点和所述顶点的数据,确定各顶点的旋转顺序,并获取每一顶点的平移旋转量。
8.根据权利要求7所述的终端,其特征在于,所述展开单元,具体用于
根据所述三维模型的展开时间、所述旋转顺序和所述每一顶点的平移旋转量,获取单位时间内每一顶点的平移旋转量;
根据所述旋转顺序和单位时间内每一顶点的平移旋转量,逐级展开所述三维模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410016200.6A CN104778862B (zh) | 2014-01-14 | 2014-01-14 | 三维模型展开的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410016200.6A CN104778862B (zh) | 2014-01-14 | 2014-01-14 | 三维模型展开的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778862A CN104778862A (zh) | 2015-07-15 |
CN104778862B true CN104778862B (zh) | 2017-08-25 |
Family
ID=53620299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410016200.6A Expired - Fee Related CN104778862B (zh) | 2014-01-14 | 2014-01-14 | 三维模型展开的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778862B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107507283B (zh) | 2017-08-21 | 2019-06-25 | 广州视源电子科技股份有限公司 | 立体图形的展开呈现方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4774979B2 (ja) * | 2005-12-19 | 2011-09-21 | 村田機械株式会社 | 板金モデル作成システム、板金モデル作成方法、及び板金モデル作成プログラム |
CN102411794B (zh) * | 2011-07-29 | 2013-11-06 | 南京大学 | 一种基于球谐变换的三维模型的二维投影的输出方法 |
CN102842147B (zh) * | 2012-07-10 | 2015-01-28 | 西北工业大学 | 一种三维整体壁板展开建模方法 |
CN103185885B (zh) * | 2012-11-19 | 2015-08-12 | 广东省国土资源测绘院 | 一种cors坐标实时转换方法及系统 |
CN103049932B (zh) * | 2012-12-20 | 2015-08-12 | 北京农业信息技术研究中心 | 一种基于径向基函数的植物三维形态虚拟建模方法 |
-
2014
- 2014-01-14 CN CN201410016200.6A patent/CN104778862B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104778862A (zh) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101685547B (zh) | 用于使用曲面法向约束的曲面膨胀的方法和装置 | |
KR102304124B1 (ko) | 학습기반 3d 모델 생성 장치 및 방법 | |
CN100530244C (zh) | 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法 | |
CN104050703B (zh) | 使用曲线来模拟软体变形 | |
CN107248193A (zh) | 二维平面与虚拟现实场景进行切换的方法、系统及装置 | |
CN106067185A (zh) | 一种三维模型处理方法及装置 | |
CN106777822B (zh) | 二维高含量颗粒增强复合材料三相细观模型及建立方法 | |
CN101901287A (zh) | 航天器几何与行为一体化三维建模方法 | |
CN103413343A (zh) | 一种3d图像动画引擎 | |
CN106303497A (zh) | 一种虚拟现实内容生成方法和装置 | |
CN106251400A (zh) | 一种基于多四边形网格构建地形图的方法及装置 | |
CN102214365A (zh) | 基于骨骼动画原理的通用虚拟人仿真技术 | |
CN104778862B (zh) | 三维模型展开的方法及终端 | |
CN103606303B (zh) | 一种用于网络教学的呈现方法及设备 | |
CN107507283B (zh) | 立体图形的展开呈现方法、装置、电子设备及存储介质 | |
CN104834761B (zh) | 立体模型合成方法与立体模型合成装置 | |
Guan et al. | Optimization of 3D Virtual Reality Technology in High School Physics Direct‐Type Teaching | |
CN112346959B (zh) | 一种虚实结合的多机器人应用测试平台及测试方法 | |
CN105930568B (zh) | 任意形状凸多面体骨料的颗粒簇离散元模型构建方法 | |
CN111210486A (zh) | 一种用于实现流光效果的方法和装置 | |
CN106067184A (zh) | 一种三维模型处理方法及装置 | |
CN108053492A (zh) | 立体图形的展开过程呈现方法、装置、设备及存储介质 | |
CN110414018A (zh) | 一种飞行器级间分离的虚拟现实仿真方法及系统 | |
CN109003319A (zh) | 角色动画中带有动力学约束的元球驱动蒙皮方法 | |
CN106293565B (zh) | 一种基于粒子运动模型的模拟显示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170825 Termination date: 20210114 |