System and method for user interaction in complex web 3D scenes

Information

  • Patent Grant
  • 11562549
  • Patent Number
    11,562,549
  • Date Filed
    Friday, December 20, 2019
    4 years ago
  • Date Issued
    Tuesday, January 24, 2023
    a year ago
Abstract
This disclosure provides a system and method for user interaction in complex web 3D scenes, including a receiving module, a transmission module and a 3D model module. The receiving module receives molecular data. The transmission module analyzes the received molecular data and then enters the two branch modules at the same time. The branch modules include: a view layer unit: processing browser rendering and 3D model construction, the data generated by the branch will finally be presented on the browser page; a data layer unit: processing 3D picking-related business logic, and establishing a list of related model index information for atoms and covalent bonds in molecular data. The 3D model module: establishes a one-to-one correspondence between color and 3D model. This invention simplifies the display model of the molecule for the picking of web 3D molecular visualization and reduces the computational cost of the model data on the rendering.
Description
CROSS-REFERENCE TO RELATED APPLICATION

This application is a 371 of international application of PCT application serial no. PCT/CN2019/126991, filed on Dec. 20, 2019. The entirety of each of the above mentioned patent application is hereby incorporated by reference herein and made a part of this specification.


FIELD OF THE INVENTION

The invention pertains to the field of chemical computing. It concerns a system and method for user interaction in complex web 3D scenes.


BACKGROUND OF THE INVENTION

In the field of chemical research, it is often necessary to have a set of standard description files for molecules (mol format) and crystals (cif format) to facilitate different research organizations and institutions to reach a consensus on chemical molecules or crystals of the same structure. But the data in plain text format such as cif and mol is not conducive to the intuitive observation of the 3D structure of the corresponding chemical structure. Although there is related 3D structure display software in the chemistry field, these client end application is not conducive to popularization and dissemination. With the improvement of modern browser performance and the update of web 3D technology, web 3D tools that can run 3D display and interaction in browser have been developed base on JavaScript-based programming language.


Due to the complex structure of many chemical molecules or crystals, a large amount of data calculations will be needed during 3D rendering, so performance optimization is particularly important. The purpose of this solution is to solve the problems of stuttering and insufficient rendering frame rate caused by time-consuming calculation on the 3D molecular visualization interaction in the browser environment.


The current interactive operations in the web 3D scene are first based on the click picking up of objects in the 3D scene. At present, the main solution for picking up objects in a 3D scene is ray picking.


The objects rendered by the webgl rendering engine are located in a space called the frustum, as shown in FIG. 1 and FIG. 2.


SUMMARY OF THE INVENTION

In order to solve the above technical problems, this invention provides a system for user interaction in complex web 3D scenes, including a receiving module, a transmission module and a 3D model module.


The receiving module: receives molecular data, mol files, cif files, and a custom structure containing crystal information;


The transmission module: analyzes the received molecular data and then enters two branch modules at the same time.


The branch modules include:


A view layer unit: handles the rendering of the browser and the 3D model construction, and the data generated by this branch will finally be presented on the browser page.


A data layer unit: processes 3D picking-related business logic, and establishes a list of related model index information on atoms, covalent bonds, hydrogen bonds, and flexible angles in molecular data.


The 3D model module: establishes a one-to-one correspondence between color and 3D mode. And all 3D models that need to be picked up have a unique index in the data layer.


Preferably, the molecular data adopts mol file, cif file, and a custom structure containing crystal information.


Correspondingly, this invention provides a method for user interaction in complex web 3D scenes, which includes the following steps.


Step A: analyze the molecular data after receiving it.


Step B: then it will enter two branch modules at the same time, including the first branch module and the second branch module. The first branch module serves as the view layer, mainly processing browser rendering and 3D model construction, and the data generated by the branch will finally be presented on the browser page.


Step C: The second branch module is used as data layer, specifically responsible for processing 3D pickup-related business logic, and establishes a list of related model index information on atoms and covalent bonds in molecular data.


Step D: Establish corresponding simplified model data in an invisible 3D scene according to request, and establish a one-to-one correspondence between color and 3D model. All 3D models that need to be picked will have a unique index in the data layer.


Wherein, the index is a hexadecimal color, which ranges from #000001 to #FFFFFE that mark a total of 16*16*16*16*16*16-2 units, and without rendering on the browser page.


This invention brings the following beneficial effects.


1. This solution firstly simplifies the display model (Stick-shaped model) of the molecule and reduces the computational cost of rendering the model data for Web 3D molecular visualization picking.


2. By establishing a simplified pickable model data of a data layer that does not need to be rendered, the overhead of 3D scene rendering is reduced, and the construction of unnecessary picking model data is avoided.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a visual cone model under perspective projection in the prior art.



FIG. 2 is a visual cone model under orthogonal projection in the prior art.



FIG. 3 is a visual cone of prospective projection.



FIG. 4 shows the process flow of the 3D picking scheme


In FIG. 5, L2 represents the relevant data of the 3D scene rendered in the browser page, which corresponds to the data generated by the view layer in FIG. 1. L1 can be regarded as a computer screen.



FIG. 6-9 is the effect diagram of the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENT

The preferred embodiments of this invention will be further described in detail below in conjunction with the accompanying drawings.


Embodiment 1


FIG. 4 shows the process flow of the 3D picking scheme, wherein the molecular data (mol, cif files) is analyzed after received and then enters two branch modules at the same time. The branch module on the left is used as the view layer, which mainly deals with the rendering of the browser and the construction of the 3D model. The data generated by this branch will finally be presented on the browser page; while the branch module on the right is used as the data layer and is responsible for processing 3D Pick up relevant business logic, and establishing a list of index information of related models on atoms and covalent bonds in molecular data. The data generated by this branch module is always operated in memory and would establish a corresponding simplified model data in an invisible 3D scene and a one-to-one correspondence between color and 3D model. All 3D models that need to be picked up will have a unique index in the data layer, wherein, the index is a hexadecimal color, which ranges from #000001 to #FFFFFE that marks a total of 16*16*16*16*16*16-2 units without rendering on the browser page.


Embodiment 2

As shown in FIG. 5, L2 represents the relevant data of the 3D scene rendered in the browser page, which corresponds to the data generated by the view layer in FIG. 4. L1 can be regarded as a computer screen. When the user clicks on the point P1 on the screen, a 3D picking operation is triggered. When the user clicks on the point P1 on the screen, the pick-up module will obtain the screen click position of this point and construct a temporary virtual plane. This plane is similar to the computer screen L1. The plane is the projection of the 3D model data on the 2D plane. Just as the sphere S1 is projected on L1 as a circle P1, the projected 2D shapes on the virtual plane use the index of the projected 3D model as their own color. For example, the index of an atom in the pickup module in 3D space is #123456, and then on the virtual plane temporarily constructed by the pickup module, the color of the circle where the atom is mapped on the plane is #123456. After the community module reads the color #123456 of the mouse position on the virtual plane, the 3D model corresponding to the position was found without calculation by using the color as the index, and the 3D object information at that point was successfully picked up. In this way, a large number of calculation processes can be avoided, and at the same time, the cost of data calculation of the 3D model that does not need to be picked up is reduced, thereby improving the rendering frame rate of the 3D scene.


1×1×1: as shown in FIG. 7, 2×2×2 as shown in FIG. 8, and 3×3×3 as shown in FIG. 9.


Description: 3×3×3 lattice expansion is to expand in the three directions of oa, ob, and oc. A single lattice expands into a cube composed of 3×3×3=27 lattices, and 2×2×2 lattice expands into a cube with 8 single lattices.


The effect comparison (using the structure of aspirin for comparison test) is shown in Table 1:











TABLE 1






Molecular visualization
Optimized molecular



ray method model
visualization model



picking scheme
picking scheme


Comparison item
(Ball-and-stick model)
(Stick-shaped model)



















Non-stacked unit program
880
ms
778
ms


execution time in a single






lattice






Execution time for
1106
ms
897
ms


expanding the program in






a 1 × 1 × 1 lattice






Execution time for
1841
ms
945
ms


expanding the program in






a 2 × 2 × 2 lattice






Execution time for
3710
ms
1107
ms


expanding the program in






a 3 × 3 × 3 lattice






Rendering frame rate in a
59.9
fps
59.9
fps


1 × 1 × 1 lattice






Rendering frame rate in a
59.9
fps
59.9
fps


2 × 2 × 2 lattice






Rendering frame rate in a
33
fps
59.9
fps


3 × 3 × 3 lattice









Description: 3×3×3 lattice expansion is to expand in the three directions of oa, ob, and oc. A single lattice expands into a cube composed of 3×3×3=27 lattices, and 2×2×2 lattice expands into a cube with 8 single lattices.


The above content is a further detailed description of this invention in combination with specific preferred embodiments, and it cannot be considered that the specific implementation of this invention is limited to these descriptions. For the ordinary technical staff in the technical field of this invention, a number of simple deductions or substitutions can be made without departing from the concept of this invention, which should be regarded as falling within the protection scope of this invention.

Claims
  • 1. A system for user interaction in complex web 3D scenes, comprising: a receiving module;a transmission module; anda three-dimensional (3D) model module, whereinthe receiving module is configured to receive molecular data,the transmission module is configured to analyze the received molecular data and transmit the received molecular data to a first branch module and a second branch module at the same time, wherein the first branch module comprises a view layer unit configured to handle rendering on a browser and construct a 3D model, and present data generated by the first branch module on the browser,wherein the second branch module comprises a data layer unit configured to process 3D picking-related business logic, and establish a list of related model index information on atoms and covalent bonds in the molecular data; andthe 3D model module is configured to establish a one-to-one correspondence between a color and the 3D model, and all 3D models that need to be picked up have a unique index in a data layer, wherein the unique index is a hexadecimal color without rendering on the browser;wherein the system comprises a processor and a memory comprising instructions executed by the processor;wherein the receiving module, the transmission module, and the 3D model module are executed by the processor.
  • 2. A method for user interaction in complex web 3D scenes, comprising: analyzing molecular data after receiving the molecular data;transmitting the molecular data to two branch modules at the same time, the two branch modules comprising a first branch module and a second branch module, wherein the first branch module serves as a view layer, processing browser rendering and constructing a 3D model, and the data generated by the first branch module will finally be presented on a browser page;the second branch module serves as the data layer for processing 3D pickup-related business logic, and establishing a list of related model index information on atoms and covalent bonds in the molecular data;establishing corresponding simplified model data in an invisible 3D scene, andestablishing a one-to-one correspondence between a color and the 3D model, all 3D models that need to be picked will have a unique index in the data layer, wherein the unique index is a hexadecimal color without rendering on the browser page.
  • 3. The method according to claim 2, wherein the index is a hexadecimal color, which ranges from #000001 to #FFFFFE that marks a total of 16*16*16*16*16*16-2 units.
PCT Information
Filing Document Filing Date Country Kind
PCT/CN2019/126991 12/20/2019 WO
Publishing Document Publishing Date Country Kind
WO2021/004020 1/14/2021 WO A
US Referenced Citations (30)
Number Name Date Kind
6522632 Waters Feb 2003 B1
7996156 Beger Aug 2011 B2
8706316 Hoevenaar Apr 2014 B1
10372713 Blake Aug 2019 B1
RE48155 Lee Aug 2020 E
11209863 Delaporte Dec 2021 B2
20060227241 Dyke Oct 2006 A1
20080234996 Ghosh Sep 2008 A1
20090024575 Wagner Jan 2009 A1
20110276589 Smith Nov 2011 A1
20130215041 Kim Aug 2013 A1
20130286038 Kamath Oct 2013 A1
20130300656 Roegelein Nov 2013 A1
20130342509 Kang Dec 2013 A1
20140098095 Lee Apr 2014 A1
20140218321 Lee Aug 2014 A1
20140258817 Carrier Sep 2014 A1
20140282106 Smith Sep 2014 A1
20140301608 Karthikeyan Oct 2014 A1
20140375530 Delaporte Dec 2014 A1
20150142730 Dakshanamurthy May 2015 A1
20160232856 Hidaka Aug 2016 A1
20170286457 Natarajan Oct 2017 A1
20180330480 Liu et al. Nov 2018 A1
20190278757 Palmer Sep 2019 A1
20200066022 Leong Feb 2020 A1
20200372875 Iyer Nov 2020 A1
20210150953 Lee May 2021 A1
20210375063 Han Dec 2021 A1
20210403428 Buckley Dec 2021 A1
Foreign Referenced Citations (5)
Number Date Country
103885788 Jun 2014 CN
104537705 Apr 2015 CN
108763472 Nov 2018 CN
109658992 Apr 2019 CN
111192641 May 2020 CN
Non-Patent Literature Citations (6)
Entry
Rose et al., NGL Viewer: a web application for molecular visualization, 2015 (Year: 2015).
Bernier et al., RiboVision Suite for Visualization and Analysis of Ribosomes, 2014 (Year: 2014).
Mwalongo et al., Remote Visualization of Dynamic Molecular Data using WebGL, 2015 (Year: 2015).
Jonsson et al., Inviwo—A Visualization System with Usage Abstraction Levels, 2019 (Year: 2019).
“International Search Report (Form PCT/ISA/210)” of PCT/CN2019/126991, dated Sep. 23, 2020, pp. 1-5.
Written Opinion of the International Searching Authority (Form PCT/CN2019/126991, dated Sep. 23, 2020, pp. 1-4.
Related Publications (1)
Number Date Country
20210375063 A1 Dec 2021 US