博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HoloLens MRTK模型切割算法解析
阅读量:3904 次
发布时间:2019-05-23

本文共 603 字,大约阅读时间需要 2 分钟。

HoloLens MRTK模型切割算法解析

脚本解析

    例程中主要用到的脚本有位于Assets/MRTK/Core/Utilities/StandardShader路径下的ClippingPlane.cs、ClippingBox.cs、ClippingSphere.cs、ClippingPrimitive.cs(继承关系),位于Assets/MRTK/Core/StandardAssets/Shaders路径下的MixedRealityStandard.shader着色器,以及位于Assets/MRTK/Core/StandardAssets/Shaders路径下的MixedRealityShaderUtils.cginc。它们三个的关系如下:

在这里插入图片描述
清晰框图及注释见:

算法实现

面切割算法:对于心脏模型的每一个片元,在世界坐标系下,使用平面的法线向量n与平面中心点到待渲染点的方向向量d做点乘。根据计算结果的正负号将模型划分为平面的内侧和外侧两部分。

球切割算法:对于心脏模型的每一个片元,计算其到球心的距离,如果小于半径,则位于内侧,反之,位于外侧。
立方体切割算法:对于心脏模型的每一个片元,将片元坐标变换到立方体的模型坐标系下得到坐标position,用position的每个坐标分量取绝对值再减去立方形大小。最终得到的坐标中最大值大于零的,说明在立方体外,最大值小于零的说明在立方体内。

转载地址:http://uloen.baihongyu.com/

你可能感兴趣的文章
BESTCODER ROUND92 1001.Skip the Class
查看>>
POJ 1661 Help Jimmy
查看>>
百练OJ 2755 神奇的口袋(递归+递推)
查看>>
HDU 1003 Max Sum
查看>>
Code Vs 1014 装箱
查看>>
循环队列,队链的实现
查看>>
HDU 2602 Bone Collector (01背包)
查看>>
POJ 1837 Blance (01背包)
查看>>
HDU 2456 饭卡 (01背包)
查看>>
HDU 1559 最大子矩阵
查看>>
Open Judge 4010 :2011
查看>>
百练OJ-2815 城堡问题【DFS】
查看>>
CODE[VS] 1025 选菜 【背包】
查看>>
POJ 1724 ROADS【DFS+剪枝】
查看>>
AOJ 847 整数拆段
查看>>
AOJ 848 分数拆分
查看>>
UVA 133 The Dole Queue 【约瑟夫环】
查看>>
XDOJ 1208 B.笑爷买房 【DFS】
查看>>
部门年度工作总结的内容
查看>>
pandas学习笔记
查看>>