d3.js x3dom:如何冻结相机位置并获得轴?

时间:2014-03-18 11:12:07

标签: javascript d3.js x3dom

我看到了d3的3d bar chart示例和另一个3d example,我想做的一件事是能够拥有静态摄像头位置。尝试了视野fieldOfView,但它似乎并没有起作用。任何人都可以帮助将相机固定在固定位置吗?我不希望用户能够旋转3d场景。

另外,我无法弄清楚它们如何在屏幕上显示x,y和x轴。是否有教程或API参考,我可以弄清楚如何在d3.js中使用x3dom?我想知道命令和语法是什么。

1 个答案:

答案 0 :(得分:4)

x3dom没有禁用旋转的选项。但您可以添加修改源代码来执行此操作。我为我的一个项目做了这个:

// add disableRotation option
var validParams = array_to_object([
  // ...
  'disableRotation',
  // ...
]);

// disable rotation onDrag
x3dom.Viewarea.prototype.onDrag = function (x, y, buttonState) {
  // ...
  if (this._doc.properties.getProperty('disableRotation', 'false') === 'true' && buttonState === 1) {
    return;
  }
}

// append this to your x3d tag
x3d.append("param")
   .attr("name", "disableRotation")
   .attr("value", "false");

有关如何在屏幕上绘制轴的信息,请参阅此示例:

http://bl.ocks.org/hlvoorhees/5986172