CN102662729B - Method for dispatching growth models for simulation of vast forests - Google Patents
Method for dispatching growth models for simulation of vast forests Download PDFInfo
- Publication number
- CN102662729B CN102662729B CN201210111048.0A CN201210111048A CN102662729B CN 102662729 B CN102662729 B CN 102662729B CN 201210111048 A CN201210111048 A CN 201210111048A CN 102662729 B CN102662729 B CN 102662729B
- Authority
- CN
- China
- Prior art keywords
- data
- scene
- thread
- trees
- growth
- 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
- 230000012010 growth Effects 0.000 title claims abstract description 51
- 238000004088 simulation Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 239000000725 suspension Substances 0.000 claims 1
- 230000000007 visual effect Effects 0.000 claims 1
- 238000012800 visualization Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012821 model calculation Methods 0.000 description 2
- 239000002028 Biomass Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008635 plant growth Effects 0.000 description 1
- 230000008636 plant growth process Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
技术领域 technical field
本发明涉及计算机虚拟仿真技术,尤其是一种大规模森林仿真的生长模型的调度方法。The invention relates to computer virtual simulation technology, in particular to a scheduling method of a growth model of large-scale forest simulation.
背景技术 Background technique
计算机虚拟仿真技术改变了传统的林业经营管理模式,使人们能够通过计算机来预测树木生长状况。根据特定的条件动态模拟森林场景的变化,可以使林业管理决策者能够做出更科学的经营管理决策。但是,对于大规模森林场景的模拟仿真,其场景数据量非常巨大(包括树木信息数据,地形数据等)。例如对5km*5km区域内的树木进行生长仿真,植物生长模型计算所需要的树木信息大概在1.6-2G的数据量,场景绘制常使用LOD技术,对于距离视点较近的地方采用精细的三维模型进行绘制,较远处采用简化模型或利用Billboard技术使用纹理贴图,所需要的内存量大致为2G左右的数据量。如果直接将这些数据调入计算机中进行生长模型计算和仿真绘制,以目前的硬件性能将无法实现植物生长过程的快速仿真。因此,在进行森林场景模拟仿真之前需要对原始的场景数据进行预先处理,在仿真过程中采用合理的调度策略对生长模型计算进行调度和优化,从而使得大规模森林场景的仿真能够更加快速。Computer virtual simulation technology has changed the traditional forestry management model, enabling people to predict the growth of trees through computers. Dynamically simulating changes in forest scenarios according to specific conditions can enable forestry management decision makers to make more scientific management decisions. However, for the simulation of large-scale forest scenes, the amount of scene data is very huge (including tree information data, terrain data, etc.). For example, to simulate the growth of trees in an area of 5km*5km, the tree information required for the calculation of the plant growth model is about 1.6-2G of data, and the LOD technology is often used for scene rendering, and a fine 3D model is used for places close to the viewpoint For drawing, using a simplified model at a far distance or using Billboard technology to use texture maps, the amount of memory required is roughly about 2G of data. If these data are directly transferred to the computer for growth model calculation and simulation drawing, the rapid simulation of plant growth process will not be realized with the current hardware performance. Therefore, it is necessary to pre-process the original scene data before performing forest scene simulation, and use a reasonable scheduling strategy to schedule and optimize the growth model calculation during the simulation process, so that the simulation of large-scale forest scenes can be faster.
发明内容 Contents of the invention
为了克服已有森林场景模拟仿真的实时性较差、计算过程较长、场景可视化较不流畅的不足,本发明提供一种实时性良好、减少计算过程的时间、场景可视化较流畅的面向大规模森林仿真的生长模型的调度方法。In order to overcome the disadvantages of poor real-time performance, long calculation process, and unsmooth scene visualization of the existing forest scene simulation, the present invention provides a large-scale oriented simulation system with good real-time performance, reduced calculation time, and smooth scene visualization. Scheduling methods for growth models for forest simulations.
本发明解决其技术问题所采用的技术方案是:The technical solution adopted by the present invention to solve its technical problems is:
一种面向大规模森林仿真的生长模型的调度方法,所述调度方法包括以下步骤:A method for scheduling a growth model oriented to large-scale forest simulation, the method for scheduling includes the following steps:
1)按照仿真目标获取大规模森林场景的仿真数据,对仿真数据的数据结构进行初始化,不包含树木信息的场景信息数据采用四叉树的方式进行存储;树木信息数据采用内存池技术进行存储;1) Acquire the simulation data of a large-scale forest scene according to the simulation target, and initialize the data structure of the simulation data. The scene information data that does not contain tree information is stored in the form of a quadtree; the tree information data is stored using memory pool technology;
2)进行大规模森林场景进行树木生长模型计算时,以场景分块为单位,遍历所有场景分块,并对每个场景分块内的树木生长计算,树木生长计算的具体步骤如下:2) When calculating the tree growth model in a large-scale forest scene, use the scene block as a unit to traverse all scene blocks, and calculate the tree growth in each scene block. The specific steps of tree growth calculation are as follows:
A.在场景中确定当前要计算树木,并根据当前计算树木的属性计算树木的影响圈范围,然后,根据影响圈范围,计算相关的仿真参数,并通过遍历整个场景树木寻找与当前计算树木相关的树木;A. Determine the current tree to be calculated in the scene, and calculate the range of the tree’s circle of influence based on the attributes of the current calculation tree, and then calculate the relevant simulation parameters according to the range of the circle of influence, and search for trees related to the current calculation by traversing the entire scene tree the trees;
B.再得到相关树木之后,需要将这些树木的属性信息数据全部调度到内存中,采用森林生长仿真的调度策略对生长计算过程中的内外存数据进行调度;B. After obtaining the relevant trees, it is necessary to schedule all the attribute information data of these trees into the memory, and use the scheduling strategy of forest growth simulation to schedule the internal and external memory data during the growth calculation process;
C.生长模型求解:当前计算所需要的数据全部调入内存中之后,对生长方程的求解,计算出最后的结果;C. Solving the growth model: After all the data required for the current calculation are loaded into the memory, the growth equation is solved and the final result is calculated;
3)根据大规模森林场景中树木生长模型计算结果,进行大规模森林场景的可视化,并保存大规模森林场景中树木生长模型的计算结果。3) Visualize the large-scale forest scene according to the calculation results of the tree growth model in the large-scale forest scene, and save the calculation results of the tree growth model in the large-scale forest scene.
进一步,所述步骤B中,所述森林生长仿真的调度策略包括绘制线程和调度线程;Further, in the step B, the scheduling strategy of the forest growth simulation includes a drawing thread and a scheduling thread;
当用户视点发生变化时,绘制线程根据当前视点计算出当前的可见区域,同时对内存中的场景数据进行判断,确认场景重新绘制所需要的数据是否已经在内存中,如果是则直接进行场景的绘制并向数据预取线程发送视点更新消息;如果当前需要绘制的场景不在内存中,绘制线程则需要根据当前视点的位置、当前视点的方向等视点信息对可见区域内进行计算;在计算完成后,绘制线程挂起并向数据调度发送数据请求消息,由数据调度线程从外存中调入场景数据后在继续进行绘制;When the user's viewpoint changes, the drawing thread calculates the current visible area according to the current viewpoint, and at the same time judges the scene data in the memory to confirm whether the data required for redrawing the scene is already in the memory, and if so, proceed directly to the scene Draw and send a viewpoint update message to the data prefetch thread; if the current scene to be drawn is not in the memory, the drawing thread needs to calculate the visible area according to the current viewpoint position, current viewpoint direction and other viewpoint information; after the calculation is completed , the drawing thread hangs up and sends a data request message to the data dispatcher, and the data dispatcher thread continues drawing after loading the scene data from the external memory;
数据调度线程负责从外存中调度数据,通过分析绘制线程传递过来的消息,判断具体需要调度数据的内容,如当前场景绘制数据、场景预取数据或场景计算数据等,同时从内存中删除部分场景数据;The data scheduling thread is responsible for scheduling data from the external memory. By analyzing the messages passed by the drawing thread, it can determine the specific content of the scheduling data, such as the current scene drawing data, scene prefetching data, or scene calculation data, etc., and delete some from the memory at the same time. scene data;
当数据调度线程接收到绘制线程发来的场景数据请求消息时,进行直接调度,此时调度线程根据消息直接从外存中调度绘制线程所需要的数据,此时的数据调度优先级最高;When the data scheduling thread receives the scene data request message sent by the drawing thread, it performs direct scheduling. At this time, the scheduling thread directly schedules the data required by the drawing thread from the external memory according to the message. At this time, the data scheduling priority is the highest;
当数据调度线程接收到绘制线程发来的新视点坐标信息时,说明当前场景绘制的场景数据都已经在内存,绘制线程已经进入绘制操作;这时,数据调度线程的主要工作则是根据新视点的数据来判断下一次绘制可能用到的数据,并将这些数据调度到内存中;当接收到绘制线程发出的视点的信息后,数据调度线程根据视点信息更新视点视域,计算需要预取的区域并判断预取区域所对应的LOD层次;预取区域场景块的编号根据可见区域的编号直接计算得出;在计算出所有预取区域的场景块之后,由于数据预取时间必须小于场景绘制时间,所以需要对这些场景块的调度优先级进行分类,判断的依据主要是前一刻视点的前进方向;When the data scheduling thread receives the new viewpoint coordinate information sent by the drawing thread, it means that the scene data drawn by the current scene is already in the memory, and the drawing thread has entered the drawing operation; at this time, the main work of the data scheduling thread is based on the new viewpoint The data to determine the data that may be used for the next drawing, and schedule these data into the memory; after receiving the information of the viewpoint sent by the drawing thread, the data dispatching thread updates the viewpoint view area according to the viewpoint information, and calculates the data that needs to be prefetched area and judge the LOD level corresponding to the prefetch area; the number of the scene block in the prefetch area is directly calculated according to the number of the visible area; after calculating all the scene blocks in the prefetch area, since the data prefetch time must be shorter than the Time, so it is necessary to classify the scheduling priority of these scene blocks, and the judgment is mainly based on the direction of the viewpoint at the previous moment;
根据场景块与视点运动方向的夹角大小将预取区域分为三个优先级,场景块i优先级Ki如式(1):The prefetch area is divided into three priorities according to the angle between the scene block and the direction of view movement, and the priority Ki of scene block i is as in formula (1):
其中,Ki表示场景块i的优先级;θi表示场景块与视点运动方向的夹角;R表示预取区域场景块的集合;Among them, K i represents the priority of scene block i; θ i represents the angle between the scene block and the movement direction of the viewpoint; R represents the set of scene blocks in the prefetch area;
在将预取数据调度到内存中时,需要从内存中删除相应大小的场景数据,选择LRU策略来选择删除的场景块。When scheduling the prefetched data into the memory, it is necessary to delete scene data of the corresponding size from the memory, and select the LRU strategy to select deleted scene blocks.
再进一步,所述步骤1)中,以场景链表为索引,树木信息存储在MemoryBlock中,场景链表中的每个场景块可能拥有多个MemoryData来存储块内的树木信息,同时对MemoryData中的树木进行排序,以加快后面相关树木的搜索。Further, in the step 1), the scene linked list is used as an index, and the tree information is stored in the MemoryBlock. Each scene block in the scene linked list may have a plurality of MemoryData to store the tree information in the block, and at the same time, the trees in the MemoryData Sort to speed up the search for related trees later.
本发明的有益效果主要表现在:(1)通过分析森林整体动态演变的全林分级仿真、植物间相互作用的林分级仿真和单株树木动态生长情况的单木级仿真的信息特点,对场景外存数据结构进行设计组织,并对地形、地物(非树木地物)、纹理数据进行分割,对三者建立相互关联的索引及外存存储结构,使得仿真计算时数据读取速度更快;The beneficial effects of the present invention are mainly manifested in: (1) by analyzing the information characteristics of the whole forest classification simulation of the overall dynamic evolution of the forest, the forest classification simulation of the interaction between plants and the single tree level simulation of the dynamic growth of individual trees, the scene The external memory data structure is designed and organized, and the terrain, ground features (non-tree features), and texture data are segmented, and an interrelated index and external memory storage structure are established for the three, making the data reading speed faster during simulation calculations ;
(2)根据粗粒度场景动态演变模型、中粒度植物间相互作用模型、细粒度树木个体动态生长模型的求解过程中相对耗时的步骤,对场景数据在内存中的存储进行设计组织,以减少森林场景模型计算过程的时间;(2) According to the relatively time-consuming steps in the solution process of the coarse-grained scene dynamic evolution model, the medium-grained plant interaction model, and the fine-grained tree individual dynamic growth model, the storage of scene data in memory is designed and organized to reduce The time of the calculation process of the forest scene model;
(3)针对大规模森林场景生长模型求解以及生长结果可视化时无法一次性将场景数据调入到内存的问题,在生长模型求解及可视化过程中内外存数据调度方法进行优化,包括对粗粒度、中粒度和细粒度场景生长模型计算和仿真时的调度优化,使得最后场景可视化更加流畅。(3) Aiming at the problem that the scene data cannot be loaded into the memory at one time when solving the large-scale forest scene growth model and visualizing the growth results, the internal and external memory data scheduling method is optimized during the growth model solving and visualization process, including coarse-grained, Scheduling optimization during calculation and simulation of medium-grained and fine-grained scene growth models makes the final scene visualization smoother.
附图说明 Description of drawings
图1是场景数据内存组织结构示意图。Figure 1 is a schematic diagram of the scene data memory organization structure.
图2是场景数据在内存中的存储结构示意图。FIG. 2 is a schematic diagram of a storage structure of scene data in memory.
图3是场景多线程调度的示意图。Fig. 3 is a schematic diagram of scene multi-thread scheduling.
图4是LOD层次模型选择的示意图。Fig. 4 is a schematic diagram of LOD hierarchical model selection.
图5是场景绘制数据预取的示意图。FIG. 5 is a schematic diagram of scene rendering data prefetching.
具体实施方式 Detailed ways
下面结合附图对本发明作进一步描述。The present invention will be further described below in conjunction with the accompanying drawings.
参照图1~图5,一种面向大规模森林仿真的生长模型的调度方法,按照仿真目标获取大规模森林场景的仿真数据,并存储在计算机内存中,然后根据大规模森林场景数据在仿真过程的调度方式的不同分别对数据结构(内外存中的存储结构)进行初始化,如图1所示。Referring to Figures 1 to 5, a scheduling method for growth models oriented to large-scale forest simulation, which obtains simulation data of large-scale forest scenes according to the simulation objectives and stores them in computer memory, and then processes the large-scale forest scene data in the simulation process according to the large-scale forest scene data. According to different scheduling methods, the data structures (storage structures in the internal and external memory) are initialized respectively, as shown in FIG. 1 .
在计算机内存中,对于场景信息数据(不包含树木信息),我们根据地形的四叉树分割采用四叉树的方式进行存储。In the computer memory, for the scene information data (not including tree information), we store it in the form of a quadtree according to the quadtree segmentation of the terrain.
对于树木信息数据,考虑到在计算过程中需要对内存中的数据进行比较频繁的删除和存储,采用内存池技术进行存储,如图2所示。For the tree information data, considering that the data in the memory needs to be deleted and stored more frequently during the calculation process, the memory pool technology is used for storage, as shown in Figure 2.
在内存中,以场景链表为索引,树木信息存储在MemoryBlock中,场景链表中的每个场景块可能拥有多个MemoryData来存储块内的树木信息。同时对MemoryData中的树木进行排序,以加快后面相关树木的搜索。In the memory, the scene linked list is used as the index, and the tree information is stored in MemoryBlock. Each scene block in the scene linked list may have multiple MemoryData to store the tree information in the block. At the same time, the trees in MemoryData are sorted to speed up the search for related trees later.
2.对大规模森林场景进行树木生长模型的计算,获取场景中的每棵树木进行相互作用计算的结果。2. Calculate the tree growth model for large-scale forest scenes, and obtain the results of interaction calculations for each tree in the scene.
进行大规模森林场景进行树木生长模型计算时,以场景分块为单位,遍历所有场景分块,并对每个场景分块内的树木生长计算。树木生长计算的具体步骤如下:When calculating the tree growth model in a large-scale forest scene, use the scene block as a unit to traverse all scene blocks, and calculate the tree growth in each scene block. The specific steps of tree growth calculation are as follows:
A.在场景中确定当前要计算树木,并根据当前计算树木的属性计算树木的影响圈范围,然后,根据影响圈范围,计算相关的仿真参数,并通过遍历整个场景树木寻找与当前计算树木相关的树木。A. Determine the current tree to be calculated in the scene, and calculate the range of the tree’s circle of influence based on the attributes of the current calculation tree, and then calculate the relevant simulation parameters according to the range of the circle of influence, and search for trees related to the current calculation by traversing the entire scene tree trees.
B.再得到相关树木之后,需要将这些树木的属性信息数据全部调度到内存中,以便后续在对当前树木进行生长计算时可以快速的使用。但是,由于计算机内存大小有限,可能会导致无法一次性将所有的树木数据全部调度到内存中,因此在计算过程中可能会出现需要进行内外存数据调度的情况。为了能够充分的利用计算机资源,采用森林生长仿真的调度策略对生长计算过程中的内外存数据进行调度。B. After obtaining the relevant trees, it is necessary to schedule all the attribute information data of these trees into the memory, so that they can be quickly used later in the growth calculation of the current tree. However, due to the limited memory size of the computer, it may not be possible to schedule all the tree data into the memory at one time, so it may be necessary to schedule internal and external memory data during the calculation process. In order to make full use of computer resources, the scheduling strategy of forest growth simulation is used to schedule the internal and external memory data during the growth calculation process.
根据不同的功能将线程分为绘制线程和数据调度线程两类。当视点发生变化时,场景的渲染和数据调入可以同时工作,以提高场景的绘制效率。在场景绘制过程中,CPU主要负责可见区域的计算、场景生物量计算以及场景模型LOD层次的判断,场景的绘制工作则是由图形处理器来执行。所以当CPU把处理过的场景数据交给图形处理器绘制后,这时的CPU将处于空闲状态,可以利用这段空闲时间来调度场景数据。图3为多线程工作模型。Threads are divided into drawing threads and data dispatching threads according to different functions. When the viewpoint changes, the rendering and data loading of the scene can work simultaneously to improve the drawing efficiency of the scene. During the scene drawing process, the CPU is mainly responsible for the calculation of the visible area, the calculation of the scene biomass, and the judgment of the LOD level of the scene model, and the drawing of the scene is performed by the graphics processor. Therefore, when the CPU hands over the processed scene data to the graphics processor for drawing, the CPU will be in an idle state at this time, and this idle time can be used to schedule the scene data. Figure 3 shows the multi-thread work model.
(1)绘制线程(1) Drawing thread
绘制线程主要功能是根据视点信息计算出当前场景的可见区域并判断可见区域的绘制数据是否在内存中并向数据调度线程发送预取消息。The main function of the drawing thread is to calculate the visible area of the current scene according to the viewpoint information, judge whether the drawing data of the visible area is in the memory, and send a prefetch message to the data scheduling thread.
当用户视点发生变化时,绘制线程根据当前视点计算出当前的可见区域,同时对内存中的场景数据进行判断,确认场景重新绘制所需要的数据是否已经在内存中,如果是则直接进行场景的绘制并向数据预取线程发送视点更新消息。如果当前需要绘制的场景不在内存中,绘制线程则需要根据当前视点的位置、当前视点的方向等视点信息对可见区域内进行计算。在计算完成后,绘制线程挂起并向数据调度发送数据请求消息,由数据调度线程从外存中调入场景数据后在继续进行绘制。如图4所示,图中LODO为精细的植物三维模型、LOD1为简化后的植物三维模型、LOD2则采用Billboard技术直接使用纹理贴图。When the user's viewpoint changes, the drawing thread calculates the current visible area according to the current viewpoint, and at the same time judges the scene data in the memory to confirm whether the data required for redrawing the scene is already in the memory, and if so, proceed directly to the scene Draw and send view update messages to the data prefetch thread. If the scene currently to be drawn is not in the memory, the drawing thread needs to calculate the visible area according to the viewpoint information such as the position of the current viewpoint and the direction of the current viewpoint. After the calculation is completed, the drawing thread hangs up and sends a data request message to the data dispatcher, and the data dispatcher thread loads the scene data from the external memory and continues drawing. As shown in Figure 4, LODO in the figure is a fine 3D model of plants, LOD1 is a simplified 3D model of plants, and LOD2 uses Billboard technology to directly use texture maps.
(2)调度线程(2) Scheduling threads
数据调度线程的工作主要是负责从外存中调度数据,通过分析绘制线程传递过来的消息,判断具体需要调度数据的内容,如当前场景绘制数据、场景预取数据或场景计算数据等,同时从内存中删除部分场景数据。The work of the data scheduling thread is mainly responsible for scheduling data from the external memory, by analyzing the messages passed by the drawing thread, to determine the content of the specific data that needs to be scheduled, such as the current scene drawing data, scene prefetching data, or scene calculation data, etc. Part of the scene data is deleted from the internal memory.
当数据调度线程接收到绘制线程发来的场景数据请求消息时,说明需要绘制的场景数据并不完全在内存中,需要进行直接调度。这时调度线程根据消息直接从外存中调度绘制线程所需要的数据,此时的数据调度优先级最高。When the data scheduling thread receives the scene data request message sent by the drawing thread, it means that the scene data to be drawn is not completely in the memory, and direct scheduling is required. At this time, the scheduling thread directly schedules the data required by the drawing thread from the external memory according to the message, and the data scheduling priority at this time is the highest.
当数据调度线程接收到绘制线程发来的新视点坐标信息时,说明当前场景绘制的场景数据都已经在内存,绘制线程已经进入绘制操作。这时,数据调度线程的主要工作则是根据新视点的数据来判断下一次绘制可能用到的数据,并将这些数据调度到内存中。如图5所示,场景块A为当前视点所在位置,白色区域为当前可见区域,即当前需要绘制的区域,区域B、C、D则是预取区域。当接收到绘制线程发出的视点的信息后(坐标和方向),数据调度线程根据视点信息更新视点视域,计算需要预取的区域并判断预取区域所对应的LOD层次。预取区域场景块的编号可以根据可见区域的编号直接计算得出。在计算出所有预取区域的场景块之后,由于每次数据预取存在时间的限制(数据预取时间必须小于场景绘制时间),所以需要对这些场景块的调度优先级进行分类,判断的依据主要是前一刻视点的前进方向。When the data scheduling thread receives the new viewpoint coordinate information sent by the drawing thread, it means that the scene data for the current scene drawing is already in the memory, and the drawing thread has entered the drawing operation. At this time, the main work of the data scheduling thread is to judge the data that may be used for the next drawing according to the data of the new viewpoint, and schedule these data into the memory. As shown in Figure 5, scene block A is the location of the current viewpoint, the white area is the currently visible area, that is, the area that needs to be drawn currently, and areas B, C, and D are prefetch areas. After receiving the viewpoint information (coordinates and direction) sent by the drawing thread, the data scheduling thread updates the viewpoint view area according to the viewpoint information, calculates the area to be prefetched and judges the LOD level corresponding to the prefetched area. The number of the scene block in the prefetch area can be directly calculated according to the number of the visible area. After calculating all the scene blocks in the prefetch area, due to the time limit of each data prefetch (the data prefetch time must be less than the scene drawing time), it is necessary to classify the scheduling priority of these scene blocks, and the basis for judgment It is mainly the direction in which the point of view is heading at the previous moment.
根据场景块与视点运动方向的夹角大小将预取区域分为三个优先级。如图4所示,箭头表示视点前一时刻的运动方向,预取区域B标记为高优先级(其优先级依然地域当前场景块的数据优先级),预取区域C标记为中优先级,预取区域D则标记为低优先级。场景块i优先级Ki如式(1):According to the size of the included angle between the scene block and the viewpoint movement direction, the prefetch area is divided into three priorities. As shown in Figure 4, the arrow indicates the movement direction of the viewpoint at the previous moment, the prefetch area B is marked as high priority (its priority is still the data priority of the current scene block in the region), and the prefetch area C is marked as medium priority. Prefetch area D is marked as low priority. The priority Ki of scene block i is as formula (1):
其中,Ki表示场景块i的优先级;θi表示场景块与视点运动方向的夹角;R表示预取区域场景块的集合。Among them, K i represents the priority of scene block i; θ i represents the angle between the scene block and the movement direction of the viewpoint; R represents the set of scene blocks in the prefetching area.
在将预取数据调度到内存中时,需要从内存中删除相应大小的场景数据,本文选择LRU(least recently used)策略来选择删除的场景块。When scheduling the prefetched data into the memory, it is necessary to delete the corresponding size of scene data from the memory. This paper chooses the LRU (least recently used) strategy to select the deleted scene blocks.
C.生长模型求解。单前计算所需要的数据全部调入内存中之后,对生长方程的求解,计算出最后的结果。C. Growth model solution. After all the data required for pre-calculation are loaded into the memory, the growth equation is solved and the final result is calculated.
3.根据大规模森林场景中树木生长模型计算结果,进行大规模森林场景的可视化,并保存大规模森林场景中树木生长模型的计算结果。3. According to the calculation results of the tree growth model in the large-scale forest scene, visualize the large-scale forest scene, and save the calculation results of the tree growth model in the large-scale forest scene.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210111048.0A CN102662729B (en) | 2012-04-16 | 2012-04-16 | Method for dispatching growth models for simulation of vast forests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210111048.0A CN102662729B (en) | 2012-04-16 | 2012-04-16 | Method for dispatching growth models for simulation of vast forests |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662729A CN102662729A (en) | 2012-09-12 |
CN102662729B true CN102662729B (en) | 2015-03-04 |
Family
ID=46772229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210111048.0A Expired - Fee Related CN102662729B (en) | 2012-04-16 | 2012-04-16 | Method for dispatching growth models for simulation of vast forests |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662729B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778744B (en) * | 2014-10-25 | 2017-08-25 | 中国科学院植物研究所 | Extensive three-dimensional forest Visual Scene method for building up based on Lidar data |
FR3065098A1 (en) | 2017-04-05 | 2018-10-12 | Stmicroelectronics (Rousset) Sas | METHOD FOR REAL TIME DETECTION OF A SCENE BY AN APPARATUS, FOR EXAMPLE A WIRELESS COMMUNICATION APPARATUS, AND CORRESPONDING APPARATUS |
CN111354081B (en) * | 2018-12-20 | 2025-01-17 | 中科星图股份有限公司 | Large-scale three-dimensional forest drawing method |
CN112668948B (en) * | 2021-02-08 | 2022-03-11 | 浙江弄潮儿智慧科技有限公司 | Forestry ecological environment man-machine interaction system and method based on multi-source information fusion |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564203A (en) * | 2004-04-12 | 2005-01-12 | 浙江大学 | Fast drawing forest method of graded hierarchical assembling depth paste-up atlas |
CN101216954A (en) * | 2008-01-21 | 2008-07-09 | 浙江大学 | A Forest Rendering Method Based on Hierarchical and Hierarchical Depth Mesh |
-
2012
- 2012-04-16 CN CN201210111048.0A patent/CN102662729B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564203A (en) * | 2004-04-12 | 2005-01-12 | 浙江大学 | Fast drawing forest method of graded hierarchical assembling depth paste-up atlas |
CN101216954A (en) * | 2008-01-21 | 2008-07-09 | 浙江大学 | A Forest Rendering Method Based on Hierarchical and Hierarchical Depth Mesh |
Non-Patent Citations (5)
Title |
---|
基于HLA的动态森林生长仿真原型系统研究与设计;孙思昂;《中国优秀硕士学位论文全文数据库信息科技辑》;20080915;全文 * |
支持森林场景动态生成的树木生长模拟;范菁等;《计算机辅助设计与图形学学报》;20081130;第20卷(第11期);第1500页-第1506页 * |
面向森林动态生长过程的场景系统设计和实现;范菁等;《计算机应用研究》;20080930;第25卷(第9期);第2872页-第2874页 * |
面向虚拟森林仿真的多层场景引擎设计;范菁等;《计算机工程》;20090530;第35卷(第9期);第255页-第257页 * |
面向虚拟森林的多层场景引擎设计;余青;《中国优秀硕士学位论文全文数据库信息科技辑》;20071215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102662729A (en) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105261066B (en) | A kind of three-dimensional geographic information system real-time rendering multithreading distribution and control method | |
CN110738721B (en) | Three-dimensional scene rendering acceleration method and system based on video geometric analysis | |
CN108520557B (en) | A massive architectural rendering method based on the fusion of graphics and images | |
CN105701103B (en) | Three-dimensional application system based on geographic information | |
CN103942306B (en) | Three-dimensional city model self-adaption scheduling method | |
CN106446351A (en) | Real-time drawing-oriented large-scale scene organization and scheduling technology and simulation system | |
CN102147928B (en) | Improved flame-simulation acceleration algorithm based on particle system | |
CN101819675B (en) | Method for quickly constructing bounding volume hierarchy (BVH) based on GPU | |
CN113066160B (en) | Method for generating scene data of indoor mobile robot | |
US20090183167A1 (en) | Two-Tiered Dynamic Load Balancing Using Sets of Distributed Thread Pools | |
CN109255828A (en) | Mixing level for ray trace | |
CN101441779B (en) | Rapid dynamic drafting method of magnanimity digital terrain | |
CN105701851B (en) | A kind of 3 d rendering engine system based on geography information | |
US20090073167A1 (en) | Cooperative Utilization of Spacial Indices Between Application and Rendering Hardware | |
CN112906125B (en) | Light-weight loading method for BIM model of railway fixed facility | |
US20110282641A1 (en) | Method and system for real-time particle simulation | |
CN105389850A (en) | Novel visibility generation method for large-scale three-dimensional scene | |
CN117237502A (en) | Three-dimensional rendering method, device, equipment and medium | |
CN112017270A (en) | Live-action three-dimensional visualization online application system | |
CN102662729B (en) | Method for dispatching growth models for simulation of vast forests | |
CN104392480A (en) | Point-based rendering method for global lighting effect via internal memory and external memory switching method | |
CN119067856A (en) | A geographic vector data rendering method, storage medium, device and computer program product based on WebGPU | |
CN111090759B (en) | Algorithm for cross-stage loading of massive real-scene big data | |
CN101840565B (en) | A Parallel Construction Method of Octree Based on GPU | |
CN102779215A (en) | Networked three-dimensional hoisting simulation method based on B/S (Browser/Server) framework and cache technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
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: 20150304 |