From 48f781fb6e61539ba9d17efcfd9f9e38245cf6c0 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 23 May 2018 16:42:38 -0400 Subject: Refactor package structure --- .../bezier/transforms/geom/TDHMatrixTransform.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java (limited to 'CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java') diff --git a/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java b/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java new file mode 100644 index 0000000..ace590d --- /dev/null +++ b/CSMath/src/bezier/transforms/geom/TDHMatrixTransform.java @@ -0,0 +1,32 @@ +package bezier.transforms.geom; + +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