当前位置:  开发笔记 > 编程语言 > 正文

绘制一些不等式作为平面

如何解决《绘制一些不等式作为平面》经验,为你挑选了0个好方法。

我想绘制一些飞机,每个都是不平等.在我绘制了所有平面之后,我想将它们组合在一起,并为这些线条内的区域着色.图像绘制了很多3d线条并将区域内部着色 - 这就是我想要做的.

我的数据如下:

df <- structure(list(z = c(0, 0.06518, 0.08429, -0.01659, 0, 0.06808, 
0.12383, -1, -0.01662, 0.28782, 0, -0.09539, 0.04255, 0.09539, 
-0.13361, -0.28782, -0.14468, -0.19239, 0.10642), x = c(1, 0.02197, 
0.03503, -0.02494, 0, 0.04138, 0.17992, 0, -0.02482, 0.1122, 
0, 0.01511, 0.0011, -0.01511, -0.06699, -0.1122, -0.06876, 0.12078, 
0.10201), y = c(0, 0.08735, 0.09927, 0.03876, -1, 0.22114, -0.00152, 
0, 0.03811, -0.07335, 0, -0.03025, 0.07681, 0.03025, -0.23922, 
0.07335, -0.25362, -0.09879, 0.05804), value = c(5801L, 135L, 
162L, 109L, 4250L, 655L, 983L, 4500L, 108L, 1594L, 4400L, 540L, 
147L, 323L, 899L, 1023L, 938L, 1627L, 327L)), .Names = c("z", 
"x", "y", "value"), class = "data.frame", row.names = c(NA, -19L
))

每行代表一个形式的等式:z + x + y < value.x是水平值,y是垂直,z是深度.z可以被求解为:-x-y + value> z.

坐标系的极限是:

x <- z <- seq(-6000, 6000, by = 1)
y <- seq(-4000, 4000, by = 1)

所以,从每一行我都想画一架飞机.然后我想组合所有这些平面,并填写行内的值.结果应该看起来像一个多面不等的骰子.或者是一颗难看的切割钻石.

我一直在玩这两个rglpersp功能,但我不知道从哪里开始.我对其他软件建议持开放态度.

借鉴其中一个例子persp3d:

x <- seq(-6000, 6000, by = 1)
z <- x 
y <- seq(-4000, 4000, by = 1)

f <- function(x, y) <- { r <- -x - y + value > z } # stuck here, can you handle an inequality here?
z <- outer(x, y, f)
open3d()
bg3d("white")
material3d(col = "black")
persp3d(x, y, z, col = "lightblue",
        xlab = "X", ylab = "Y", zlab = "z")

我认识到这是一个非常大的限制.如果它有助于减少它们,感觉自由,或增加它们sequence(..., by = ).

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有