WANG YAN (CN)
MA JIAN (CN)
LAI LIPENG (CN)
WEN SHUHAO (CN)
CN111192641A | 2020-05-22 | |||
CN104537705A | 2015-04-22 | |||
CN109658992A | 2019-04-19 | |||
CN103885788A | 2014-06-25 | |||
CN108763472A | 2018-11-06 | |||
US20180330480A1 | 2018-11-15 |
权利要求书 [权利要求 1] 一种用于复杂 web 3D场景下用户交互的系统, 其特征在于, 包括接 收模块、 传送模块和 3D模型模块; 接收模块: 接收分子数据; 传送模块: 将接收到的分子数据进行解析后, 同时进入两个分支模块 所述分支模块包括: 视图层单元: 理浏览器的渲染和 3D模型的构建, 该分支产生的数据 会最终呈现在浏览器的页面; 数据层单元: 处理 3D的拾取相关的业务逻辑, 针对分子数据中的 原子、 共价键等建立了相关模型的索引信息的列表; 3D模型模块: 并会建立一个颜色和 3D模型 -对应的关系, 所有的 需要被拾取的 3D模型都会在数据层中具有一个唯一的索引。 [权利要求 2] 一种如权利要求 1所述的用于复杂 web 3D场景下用户交互的方法, 其 特征在于, 包括如下几个步骤: 步骤 A:接收到分子数据后, 据进行解析; 步骤 B:之后会同时进入两个分支模块, 包括第一分支模块和第二分支 模块, 所述第一分支模块作为视图层, 主要处理浏览器的渲染和 3D 模型的构建, 该分支产生的数据会最终呈现在浏览器的页面; 步骤 C:所述第二分支模块作为数据层, 专门负责处理 3D的拾取相关 的业务逻辑, 针对分子数据中的原子、 共价键等建立了相关模型的索 引信息的列表; 步骤 D:根据需求在一个不可见的 3D场景中建立对应的简化的模型数 据, 并会建立一个颜色和 3D模型一一对应的关系所有的需要被拾取 的 3D模型都会在数据层中具有一个唯一的索引。 [权利要求 3] 如权利要求 2所述的方法, 其特征在于, 所述索引就是一个 16进制的 颜色, 其从 #00000^lj#FFFFFE,总计可以标记 16*16*16*16*16*16- 2 个单位, 而不会在浏览器的页面上进行渲染。 |
[0001] 本发明属于化学计算领域, 具体涉及一种用于复杂 web 3D场景下用户交互的系 统和方法。
背景技术
[0002] 在化学研究领域常常需要有一套标准的针对分 子 (mol格式) 、 晶体
) 的描述文件以此方便不同的研究组织和机构对 同一结构的化学分子或晶体达 成共识, 而 cif、 mol等纯文本格式的数据不利于研究人员直观的 观察对应的化学 结构的 3D结构, 虽然在化学领域存在着相关的 3D结构展示的软件, 但是这些客 户端的应用不利于推广使用及传播使用, 而随着现代浏览器性能的提升和 web 3D技术的更新, 基于 JavaScript的编程语言的开发的在浏览器内可以 行的 3D展 示及交互的 web
3d工具成为现实, 由于不少化学分子或晶体结构复杂, 在进行 3D渲染时会产生 大量的数据计算, 因此对于性能的优化尤为重要, 该方案的目的在于解决浏览 器环境下 3D分子可视化交互上的计算耗时导致的卡顿及 染帧率不足的问题。
[0003] 目前在 web 3D场景中的交互操作首先是要基于 3D场景中的物体的点击拾取的 , 目前针对 3D场景中物体的拾取主要的方案就是射线法拾 。
[0004] 在 webgl渲染引擎中所渲染的物体都位于一个叫做 椎体的空间之中。 如图 1和 图 2所示。
发明概述
技术问题
问题的解决方案
技术解决方案
[0005] 为了解决以上技术问题, 本发明提供一种用于复杂 web 3D场景下用户交互的系 统包括接收模块、 传送模块和 3D模型模块;
[0006] 接收模块: 接收分子数据, mol文件、 cif^:件以及包含晶体信息的自定义结构 体;
[0007] 传送模块: 将接收到的分子数据进行解析后, 同时进入两个分支模块;
[0008] 所述分支模块包括:
[0009] 视图层单元: 理浏览器的渲染和 3D模型的构建, 该分支产生的数据会最终呈现 在浏览器的页面;
[0010] 数据层单元: 处理 3D的拾取相关的业务逻辑, 针对分子数据中的原子、 共 价键、 氢键、 柔性角建立了相关模型的索引信息的列表;
[0011] 3D模型模块: 并会建立一个颜色和 3D模型 -对应的关系, 所有的需要被拾 取的 3D模型都会在数据层中具有一个唯一的索引。
[0012] 优选的, 所述分子数据采用 mol文件、 cif文件以及包含晶体信息的自定义结构 体。
[0013] 相应的, 本发明提供一种用于复杂 web 3D场景下用户交互的方法, 包括如下几 个步骤:
[0014] 步骤 A:接收到分子数据后, 据进行解析;
[0015] 步骤 B:之后会同时进入两个分支模块, 包括第一分支模块和第二分支模块, 所 述第一分支模块作为视图层, 主要处理浏览器的渲染和 3D模型的构建, 该分支 产生的数据会最终呈现在浏览器的页面;
[0016] 步骤 C:所述第二分支模块作为数据层, 专门负责处理 3D的拾取相关的业务逻辑 , 针对分子数据中的原子、 共价键等建立了相关模型的索引信息的列表;
[0017] 步骤 D:根据需求在一个不可见的 3D场景中建立对应的简化的模型数据, 并会建 立一个颜色和 3D模型一一对应的关系所有的需要被拾取的 3D模型都会在数据层 中具有一个唯一的索引。
[0018] 其中, 所述索引就是一个 16进制的颜色, 其从 #00000 #FFFFFE,总计可以标 记 16*16*16*16*16*16 - 2个单位, 而不会在浏览器的页面上进行渲染。
发明的有益效果
有益效果
[0019] 本发明带来了如下有益效果:
[0020] 1、 该方案针对 web 3D分子可视化的拾取首先精简分子的展示模型 (棍状模型 ) 较少渲染上的模型数据的计算开销。
[0021] 2、 通过建立不需要渲染的数据层的精简化的可拾 取的模型数据, 减少了 3D场 景渲染的开销, 避免了不必要拾取的模型数据的构建。
对附图的简要说明
附图说明
[0022] 图 1是现有技术中透视投影下的视椎体模型,
[0023] 图 2是现有技术中正交投影下的视椎体模型。
[0024] 图 3是透视投影的视椎体。
[0025] 图 4中显示了该 3D拾取方案的流程
[0026] 图 5中, L2表示的是浏览器页面中所渲染的 3D场景的相关数据, 对应于图 1中 视图层所产生的数据; L1可视为计算机的屏幕。
[0027] 图 6 -图 9为本发明的效果图
实施该发明的最佳实施例
本发明的最佳实施方式
[0028] 在此处键入本发明的最佳实施方式描述段落。
发明实施例
本发明的实施方式
[0029] 下面结合附图, 对本发明的较优的实施例作进一步的详细说明 :
[0030] 实施例 1
[0031] 图 4中显示了该 3D拾取方案的流程, 在接收到分子数据 (mol、 cif文件) 后, .
[0032] 据进行解析, 之后会同时进入两个分支模块, 左侧的分支模块作为视图层, 主 要处理浏览器的渲染和 3D模型的构建, 该分支产生的数据会最终呈现在浏览器 的页面, 而右侧的分支模块作为数据层, 专门负责处理 3D的拾取相关的业务逻 辑, 针对分子数据中的原子、 共价键等建立了相关模型的索引信息的列表, 该 分支模块产生的数据始终在内存中进行操作, 并根据需求在一个不可见的 3D场 景中建立对应的简化的模型数据, 并会建立一个颜色和 3D模型一一对应的关系 , 所有的需要被拾取的 3D模型都会在数据层中具有一个唯一的索引, 索引就是 一个 16进制的颜色, 总计可以标记 16*16*16*16*16*16 - 2个单位, 而不会在浏览器的页面上进行渲染。
[0033] 实施例 2
[0034] 如图 5所示, L2表示的是浏览器页面中所渲染的 3D场景的相关数据, 对应于图 4中视图层所产生的数据; L1可视为计算机的屏幕。 当用户点击屏幕上的一点 P1 时, 一个 3D拾取操作就被触发。 当用户点击屏幕上点?1时, 拾取相模块会获得 该点的屏幕点击位置, 并构建一个临时的虚拟平面, 这个平面类似于计算机屏 幕 L1, 平面上是 3D模型数据在 2D平面上的投影, 如同球体 S1投影在 L1上表现为 圆 P1—样, 在虚拟平面上的被投影的 2D形状都以投影出自己的 3D模型的索引作 为自己的颜色, 比如, 3D空间中一个原子在拾取模块的索引是 #123456 , 那在拾 取模块临时构建的虚拟平面上, 该原子映射在平面上的圆的颜色就是 #123456, 在社区模块读取到鼠标位置在该虚拟平面上的 颜色 #123456之后, 就根据该颜色 作为索引信息, 无需计算就找到了该位置对应的 3D模型, 从而成功的拾取到了 该点 3D物体信息, 在这一过程中避免了大量的计算过程, 同时减少了不需要被 拾取的 3D模型的数据计算的开销, 以此提升了 3D场景的渲染帧率。
[0035] 1x1x1:如图 7所示, 2x2x2,如图 8所示, 3x3x3如图 9所示。
[0036] 说明: 3x3x3晶格展开就是在 oa、 ob、 oc三个方向上进行扩展, 有单个晶格扩 展成 3x3x3=27个晶格组成的立方体, 2x2x2即扩展出 8个单晶格的立方体。
[0037] 效果对比 (使用阿司匹林 (aspirin) 的结构进行对比测试) 如表 1所示:
[0038] 表 1
[]
[表 1]
[0039] 说明: 3x3x3晶格展开就是在 oa、 ob、 oc三个方向上进行扩展, 有单个晶格扩 展成 3x3x3=27个晶格组成的立方体, 2x2x2即扩展出 8个单晶格的立方体。
[0040] 以上内容是结合具体的优选实施方式对本发明 所作的进一步详细说明, 不能认 定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的普通技术 人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应当视为属于本发明的保护范围。
Next Patent: DATA MANAGEMENT SYSTEM IN DRUG DEVELOPMENT PROCESS, AND USE METHOD THEREFOR