From 5fdb8554aa59432924c6cf2cf4e8c178c5856deb Mon Sep 17 00:00:00 2001 From: student Date: Wed, 11 Apr 2018 17:06:20 -0400 Subject: Update --- .../src/bezier/transforms/TDHMatrixTransform.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 CSMath/src/bezier/transforms/TDHMatrixTransform.java (limited to 'CSMath/src/bezier/transforms/TDHMatrixTransform.java') diff --git a/CSMath/src/bezier/transforms/TDHMatrixTransform.java b/CSMath/src/bezier/transforms/TDHMatrixTransform.java new file mode 100644 index 0000000..6cfc3cc --- /dev/null +++ b/CSMath/src/bezier/transforms/TDHMatrixTransform.java @@ -0,0 +1,32 @@ +package bezier.transforms; + +import bezier.geom.Matrix; +import bezier.geom.TDHPoint; + +public class TDHMatrixTransform implements TDHTransform { + public final Matrix mat; + + public TDHMatrixTransform(Matrix mat) { + this.mat = mat; + } + + public TDHMatrixTransform(double[][] mat) { + this.mat = new Matrix(mat); + } + + @Override + public TDHTransformType type() { + return TDHTransformType.MATRIX; + } + + @Override + public TDHPoint transform(TDHPoint punkt) { + double[] mult = mat.scalarMultiply(new double[] { punkt.x, punkt.y, punkt.z }); + + return new TDHPoint(mult[0], mult[1], mult[2]); + } + + public TDHTransform then(TDHMatrixTransform trans) { + return new TDHMatrixTransform(mat.multiply(trans.mat)); + } +} \ No newline at end of file -- cgit v1.2.3