微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在距切割平面一定距离处查看截面

如何解决在距切割平面一定距离处查看截面

我试图在opentk glControl中创建剪切平面以在对象的不同点定义截面,为此我定义了一个变量“ elevActual”,该变量指示将创建剪切平面的距离。通过单击按钮,我可以推进剪切平面。问题在于,随着剪切平面的前进,仍会显示剪切平面后面的对象,而我只希望显示在“ elevActual”距离处定义的部分。

docker-compose up -d

解决方法

如果只想查看几何的一部分,则必须定义两个剪切平面。在该节的开头一个,在该节的结尾一个。在下面的startto中定义该部分的范围。 start必须小于end

double[] Elevyz_start = new double[] {  1,-start };
double[] Elevyz_end   = new double[] { -1,end };

GL.ClipPlane(ClipPlaneName.ClipPlane2,Elevyz_end);
GL.Enable(EnableCap.ClipPlane2);

GL.ClipPlane(ClipPlaneName.ClipPlane5,Elevyz_start);
GL.Enable(EnableCap.ClipPlane5);

保证最大剪切平面数至少为6。请分别参见GL_MAX_CLIP_PLANES glClipPlane
剪切平面的参数被解释为Plane Equation。 平面方程的前三个分量是剪切平面的法线向量。第四个分量是到原点的距离。因此,距离的符号取决于法线向量的方向。因此,设置平面方程式时,start会反转。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。