在 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
如题。
我正在使用 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
.