欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018113029097
申请人: 中国地质大学(武汉)
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于射线计算单元的移动立方体并行计算方法,其特征在于,包括以下步骤:

(1)由主进程读取三维标量场的元数据并发送给各从进程;

(2)各从进程接收到元数据后,并行读取三维标量场体数据并发送给主进程;其中,每个从进程分别读取三维标量场体数据中的不同部分;

(3)主进程将所有从进程发送来的数据所形成的整个标量场按照用户设置的任务数量将整个标量场分割为多个数据块,每个数据块包含若干体数据层,然后根据任务请求每次向各从进程发送一个分割后形成的标量场体数据块;

(4)各从进程接收到分割后形成的标量场体数据块后,分别将标量场体数据层中的立方体体素的顶点与等值点进行对比生成立方体的查找索引,对照查找表标记出等值点所在的立方体边的端点;

(5)各从进程将标记好的数据分别传递回主进程对标量场的分割边缘标记值进行统一,再由主进程将统一后的与各个所述标记好的数据对应的体数据层分别分配给各从进程;

(6)各从进程接收到统一后的体数据层后,分别以立方体的一点及该点发出的三条射线为计算单元进行多线程计算,根据射线端点及沿射线方向相邻端点的坐标值计算等值点的坐标,并根据所得坐标计算出三角形面片顶点的法线值;

(7)各从进程将所有计算结果发送回主进程进行结果输出;

步骤(4)中索引的具体生成原理如下:

将立方体体素的八个顶点依次排序后,比较给定的等值与每个顶点的数值,如果顶点数值大于或等于给定的等值,则将该顶点标记为1,代表该点在待求的等值面里或等值面上;若顶点值小于给定的等值,则将该顶点标记为0,表示该点在待求的等值面外;八个顶点的标记值按照同样的顺序排列即组成查找索引;

步骤(4)中所述对照查找表标记出等值点所在的立方体边的端点中,查找表标记出等值点的原理如下:一个立方体体素有8个顶点,每个顶点有两种状态,即标记值有0或1两种,因此查找索引有28=256种,即等值面与立方体体素的相交情况有256种组合;建立了一个查找表以对应每一种相交的情况,即一个标记索引对应了一个三角面片在立方体体素中构造情况,这里三角面片的顶点即为等值点,这些等值点一定在立方体体素的边上,边由其两个端点确认,因此只记录其等值点所在边的端点,因此输入立方体体素8个顶点的查找索引即可标记等值点所在的立方体边的端点;

步骤(5)中,分割边缘标记值进行统一的原理如下:

一个立方体体素需要由上下两层数据所组成,即n层数据只能组成n-1层立方体体素,数据场中共有奇数K层数据L1~LK,则只能组成K-1层立方体体素C1~CK-1,此时进行数据场的分割时,将边缘的数据层分配两次,即相当于按照L1、L2、…、L(K+1)/2一组,L(K+1)/2、…、LK-1、LK一组分割,此时计算(K-1)/2+(K-1)/2层立方体体素;但在两组任务中对L(K+1)/2的标记可能存在不同,即在步骤(4)中L(K+1)/2层中的数据可能在一个任务中进行了标记,标记值为1,而另一个任务中没有进行标记,标记值为0,因此将L(K+1)/2发送回主进程中进行统一,都标记为1。

2.根据权利要求1所述的基于射线计算单元的移动立方体并行计算方法,其特征在于,所述元数据文件包含原点坐标、三个方向上的数据个数,每个方向上相邻数据间隔的距离,数据总个数及数据类型。

3.根据权利要求1所述的基于射线计算单元的移动立方体并行计算方法,其特征在于,步骤(3)中,整个标量场被分割成为的数据块的块数等于所述任务数量。

4.根据权利要求1所述的基于射线计算单元的移动立方体并行计算方法,其特征在于,步骤(3)中,每次发送至从进程的分割后形成的标量场体数据层不相同。

5.一种基于射线计算单元的移动立方体并行计算系统,其特征在于:包括:处理器及存储设备;所述处理器加载并执行所述存储设备中的指令及数据用于实现权利要求1~4任一项所述的基于射线计算单元的移动立方体并行计算方法。