46 lines
945 B
JavaScript
46 lines
945 B
JavaScript
class Vector {
|
|
constructor(components) {
|
|
this.components = components;
|
|
}
|
|
show(canvas){
|
|
|
|
}
|
|
neg() {
|
|
const components = [];
|
|
this.components.forEach(component => {
|
|
components.push(-component);
|
|
});
|
|
return new Vector(components);
|
|
}
|
|
add(vector) {
|
|
length = Math.max(this.components.length, vector.components.length);
|
|
const components = [];
|
|
for (let i=0; i<length; i++) {
|
|
components.push(this.components[i]+vector.components[i]);
|
|
}
|
|
return new Vector(components);
|
|
}
|
|
sub(vector) {
|
|
return this.add(vector.neg())
|
|
}
|
|
rmul(scalar) {
|
|
const components = [];
|
|
this.components.forEach(component => {
|
|
components.push(scalar * component);
|
|
});
|
|
return new Vector(components);
|
|
}
|
|
}
|
|
|
|
// export default Vector;
|
|
|
|
//
|
|
// a = new Vector([1,2,3]);
|
|
// b = new Vector([3,2,1]);
|
|
// v1 = b.sub(a);
|
|
// v2 = a.rmul(5);
|
|
//
|
|
// // console.log(v.components);
|
|
//
|
|
// alert(v2.components);
|