R rgl-rgl设备是否需要某种初始化才能使quads3d()产生可见的东西?

时间:2018-12-08 01:08:11

标签: r rgl

在撰写本文时,我正在使用RStudio,R和rgl(.99.16)的当前版本。

在显示另一个对象之前,quads3d()似乎什么也看不见。例如,我做

  library(rgl)
  Face <- matrix(c(0,-.2,-.5,
                   .2,.2,-.5,
                   .2,.2,.5,
                   0,-.2,.5), nrow=4, byrow=T)
  open3d()
  quads3d(Face)

...,并且RGL设备中没有任何内容。人脸可以是4个xyz坐标的任意集合。

但是,例如,如果我说

  arrow3d(p0=c(0,0,0), p1=c(1,1,1))

(成功产生箭头)

然后,quads3d(Face)和其他quads3d()语句的后续执行实际上确实在设备中成功渲染了形状。通常,在某些我无法精确确定的环境条件下(新的rgl设备加上空的工作空间?),quads3d()不会产生任何可见的内容,直到成功执行另一个rgl语句为止。

我需要做一些初始化rgl设备的事情吗?如何确保有效的quads3d()带有“好”数据,将在rgl设备中始终产生东西?

1 个答案:

答案 0 :(得分:3)

实际上,您的原始版本确实可以渲染人脸。但是方向是这样的:在最初的视图中,它的末端看起来是零宽度。

旋转视图即可看到

例如,尝试以下操作:

          <input type="text" list="option">
          <label >Type or Select Query</label>
            <datalist id="option">
                <option value= "​Option 1">
                <option value= "​Options 2">
            </datalist>
<div class="input-field">
    <select>
      <option value="view_function1">Text 1</option>
      <option value="view_function2">Text 2</option>
    </select>
    </div>