Add some things

This commit is contained in:
John 2022-07-27 22:40:54 -05:00
parent 6a0bf31c9c
commit ad1b26e0dc
2 changed files with 47 additions and 0 deletions

View File

@ -0,0 +1,39 @@
// Homogeneous3D.js
// John Breaux 2022-07-12
// 3D Homogeneous coordinate library
"use strict";
//
// Classes
//
// Homogeneous3D: Stores a 3D vector or point in homogeneous coords
class Homogeneous3D {
constructor({ x = 0, y = 0, z = 0, w = 0 } = { x: 0, y: 0, z: 0, w: 0 }) {
this.x = x;
this.y = y;
this.z = z;
this.w = w;
}
// Add with modify
add_m(rhs) {
if (rhs) {
this.x += rhs.x;
this.y += rhs.y;
this.z += rhs.z;
this.w += rhs.w;
return this;
}
else return null;
}
// calculate the magnitude (lol what are points)
magnitude() {
var magnitude = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
}
// copy
copy() {
return new Homogeneous3D(this.x, this.y, this.z, this.w);
}
}

View File

@ -107,6 +107,14 @@ function initVertexBuffers(gl) {
-1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, // v7-v4-v3-v2 down
1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0 // v4-v7-v6-v5 back
]);
var colors2 = new Float32Array([ // Vertex coordinates
1.0, 1.0, 1.0, 0, 1.0, 1.0, 0, 0, 1.0, 1.0, 0, 1.0, // v0-v1-v2-v3 front
1.0, 1.0, 1.0, 1.0, 0, 1.0, 1.0, 0, 0, 1.0, 1.0, 0, // v0-v3-v4-v5 right
1.0, 1.0, 1.0, 1.0, 1.0, 0, 0, 1.0, 0, 0, 1.0, 1.0, // v0-v5-v6-v1 up
0, 1.0, 1.0, 0, 1.0, 0, 0, 0, 0, 0, 0, 1.0, // v1-v6-v7-v2 left
0, 0, 0, 1.0, 0, 0, 1.0, 0, 1.0, 0, 0, 1.0, // v7-v4-v3-v2 down
1.0, 0, 0, 0, 0, 0, 0, 1.0, 0, 1.0, 1.0, 0 // v4-v7-v6-v5 back
]);
var colors = new Float32Array([ // Colors
0.4, 0.4, 1.0, 0.4, 0.4, 1.0, 0.4, 0.4, 1.0, 0.4, 0.4, 1.0, // v0-v1-v2-v3 front(blue)