在 rgl::clipplanes3d 中反转剪裁

Invert clipping in rgl::clipplanes3d

如题。

我正在使用 rgl 包绘制 3d 表面。

有时候我想剪掉一部分情节,所以我使用rgl::clipplanes3d。它有效,但剪掉了 错误的 一侧,只留下 window 我想删除的内容(并删除我感兴趣的部分)。

我用来剪裁的平面定义为:

h <- planes3d(a=0.2,b=1,c=0,d=-450)

我知道它将表面分成两部分,我想去掉其中的一部分。但是如果我打电话给

h <- clipplanes3d(a=0.2,b=1,c=0,d=-450)

好的部分消失了,错误的部分留下了。是否有一些解决方法,或者我可以对 a, b, c, d 应用一些转换,以便反转剪辑?

这是一个真正的问题,但我在编写它时受到启发,我刚刚找到了解决方案。

你只需要申请,伪代码,(a,b,c,d) -> (-a,-b,-c,-d)

换句话说,由于平面是由 ax + by + cz + d = 0 定义的,您可以将等式乘以 -1 并得到完全相同的平面。 但是,使用 -a,-b,-c,-d 您将反转 rgl::clipplanes3d.

剥离的一半 space