javascript - Threejs 基于相机旋转的指南针

标签 javascript 3d three.js

我想制作一个像 Facebook 上的那样的指南针: Click here for image

FOV(罗盘中间的饼图)将根据相机的 FOV 旋转。我有相机的 x、y 和 z 旋转,但我想知道如何将其转换为 2d 圆形 View ?此外,three.js 相机的 y 旋转仅从 -PI/2 到 PI/2

非常感谢任何帮助:)

最佳答案

使用 THREE.Spherical() 解决了同样的问题

var vector = new THREE.Vector3();
var center = new THREE.Vector3();
var spherical = new THREE.Spherical();
vector.copy( camera.position ).sub( center );
spherical.setFromVector3( vector );
var rot = spherical.theta;
$('#compassSVG > svg')[0].style.transform = 'rotate('+ rot +'rad)';

关于javascript - Threejs 基于相机旋转的指南针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44122447/

相关文章:

javascript - 类似 GoogleMaps 的 OpenLayers 缩放样式

javascript - 测试循环内的innerText或textContent

javascript - 如何检测 Tween.js 动画完成?

javascript - 制服实际上是在 THREE.js RawShaderMaterial 中定义的吗?

javascript - 任何只有一个 API 同时支持桌面和移动设备的 Javascript 框架?

javascript - PHP 日期和时区

math - 两个 3d 矢量之间的欧拉角

image - 在 HTML5/JavaScript 中将图像包裹在圆柱形对象周围

javascript - 设备方向传感器到 CSS 转换

javascript - Three.js 中太阳系可视化的轨道力学(行星的 x、y、z)