Hi everyone
I want understand the logic behind how we choice the value in this table ?
thanks
x,y,z,x,y,z,x,y,z
Example,
Just a small node: you’ll see not that much with this data, as the triangle is degenerated (two vertices have the same coordinates (0, 1, 0)
These two very simple examples show you the meaning of the values.
I like to use the built-in three.js
math classes to read from and write to typed arrays.
THREE.Vector2
for an itemSize
of 2
THREE.Vector3
for an itemSize
of 3
THREE.Vector4
for an itemSize
of 4
THREE.Color
for colors, THREE.Euler
and THREE.Quaternion
for rotation.
const _vec3 = new THREE.Vector3();
const array = new FLoat32Array([
0,1,0,
0,1,0,
0,1,1
])
// Read item 0 from the array
let offset = 0;
_vec3.fromArray(array, offset);
// Update the vector (e.g. scale it)
_vec3.multiplyScalar(2);
// Write it back to the array
_vec3.toArray(array, offset);
console.log(array);
// Output: [0, 2, 0, 0, 1, 0, 0, 1, 1]
Or in a loop
const itemSize = 3; // for Vector3
for (let i = 0; i < array.length; i += itemSize) {
_vec3
.fromArray(array, i); // Read
.multiplyScalar(2); // Update
//... other operations
.toArray(array, i); // Write
}
console.log(array);
// Output: [0, 2, 0, 0, 2, 0, 0, 2, 2]