我正在尝试使用Three.js绘制旋转的3D坐标系。我希望轴具有一定的厚度,到目前为止,我已经使用LineBasicMaterial的线宽参数完成了此操作。
由于我不在Windows上,因此以下代码对我有用:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window. innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var triad = new THREE.Geometry();
triad.vertices.push( new THREE.Vector3( 0, 0, 0 ) );
triad.vertices.push( new THREE.Vector3( 10, 0, 0 ) );
triad.vertices.push( new THREE.Vector3( 0, 0, 0 ) );
triad.vertices.push( new THREE.Vector3( 0, 10, 0 ) );
triad.vertices.push( new THREE.Vector3( 0, 0, 0 ) );
triad.vertices.push( new THREE.Vector3( …Run Code Online (Sandbox Code Playgroud) 目前在 Rust master(0.10-pre)中,当您移动唯一向量的一个元素并尝试移动另一个元素时,编译器会抱怨:
let x = ~[~1, ~2, ~3];
let z0 = x[0];
let z1 = x[1]; // error: use of partially moved value: `x`
Run Code Online (Sandbox Code Playgroud)
此错误消息与移动整个向量的错误消息有些不同:
let y = ~[~1, ~2, ~3];
let y1 = y;
let y2 = y; // error: use of moved value `y`
Run Code Online (Sandbox Code Playgroud)
为什么会有不同的消息?如果x在第一个示例中仅“部分移动”,是否有任何方法可以“部分移动” 的不同部分x?如果不是,为什么不直接说x感动呢?