diff options
Diffstat (limited to 'CSMath/src/bezier/transforms')
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHCombination.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHIdentity.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHLineReflection.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHMatrix.java | 40 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHMatrixTransform.java | 32 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHPointRotation.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHRotation.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHScale.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHShear.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHTransform.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHTranslate.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHXAxisReflection.java | 2 | ||||
| -rw-r--r-- | CSMath/src/bezier/transforms/TDHYAxisReflection.java | 2 |
13 files changed, 43 insertions, 51 deletions
diff --git a/CSMath/src/bezier/transforms/TDHCombination.java b/CSMath/src/bezier/transforms/TDHCombination.java index 4f9fe10..83b3858 100644 --- a/CSMath/src/bezier/transforms/TDHCombination.java +++ b/CSMath/src/bezier/transforms/TDHCombination.java @@ -3,7 +3,7 @@ package bezier.transforms; import java.util.ArrayList;
import java.util.List;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHCombination implements TDHTransform {
public final List<TDHTransform> forms;
diff --git a/CSMath/src/bezier/transforms/TDHIdentity.java b/CSMath/src/bezier/transforms/TDHIdentity.java index c0ae7c2..d1b55d0 100644 --- a/CSMath/src/bezier/transforms/TDHIdentity.java +++ b/CSMath/src/bezier/transforms/TDHIdentity.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
/**
* A transform that does nothing.
diff --git a/CSMath/src/bezier/transforms/TDHLineReflection.java b/CSMath/src/bezier/transforms/TDHLineReflection.java index 1cf4a48..db50fd5 100644 --- a/CSMath/src/bezier/transforms/TDHLineReflection.java +++ b/CSMath/src/bezier/transforms/TDHLineReflection.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHLineReflection implements TDHTransform {
public final double a;
diff --git a/CSMath/src/bezier/transforms/TDHMatrix.java b/CSMath/src/bezier/transforms/TDHMatrix.java deleted file mode 100644 index b4e5bb0..0000000 --- a/CSMath/src/bezier/transforms/TDHMatrix.java +++ /dev/null @@ -1,40 +0,0 @@ -package bezier.transforms;
-
-import bezier.TDHPoint;
-
-public class TDHMatrix implements TDHTransform {
- public final double[][] mat;
-
- public TDHMatrix(double[][] mat) {
- super();
- this.mat = mat;
- }
-
- @Override
- public TDHTransformType type() {
- return TDHTransformType.MATRIX;
- }
-
- @Override
- public TDHPoint transform(TDHPoint punkt) {
- double x = (punkt.x * mat[0][0]) + (punkt.y * mat[1][0]) + (punkt.z * mat[2][0]);
- double y = (punkt.x * mat[0][1]) + (punkt.y * mat[1][1]) + (punkt.z * mat[2][1]);
- double z = (punkt.x * mat[0][2]) + (punkt.y * mat[1][2]) + (punkt.z * mat[2][2]);
-
- return new TDHPoint(x, y, z);
- }
-
- public TDHTransform then(double[][] matr) {
- double[][] ret = new double[3][3];
-
- for (int i = 0; i < 3; i++) {
- for (int j = 0; j < 3; j++) {
- for (int k = 0; k < 3; k++) {
- ret[i][j] += mat[i][k] * matr[k][j];
- }
- }
- }
-
- return new TDHMatrix(ret);
- }
-}
\ No newline at end of file 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 diff --git a/CSMath/src/bezier/transforms/TDHPointRotation.java b/CSMath/src/bezier/transforms/TDHPointRotation.java index 30f1854..5b8736c 100644 --- a/CSMath/src/bezier/transforms/TDHPointRotation.java +++ b/CSMath/src/bezier/transforms/TDHPointRotation.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHPointRotation extends TDHRotation {
public final double x0;
diff --git a/CSMath/src/bezier/transforms/TDHRotation.java b/CSMath/src/bezier/transforms/TDHRotation.java index b2255d4..64a6c2c 100644 --- a/CSMath/src/bezier/transforms/TDHRotation.java +++ b/CSMath/src/bezier/transforms/TDHRotation.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHRotation implements TDHTransform {
public final double theta;
diff --git a/CSMath/src/bezier/transforms/TDHScale.java b/CSMath/src/bezier/transforms/TDHScale.java index 09ab237..5cfd300 100644 --- a/CSMath/src/bezier/transforms/TDHScale.java +++ b/CSMath/src/bezier/transforms/TDHScale.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
/**
* Transform that does coordinate scaling.
diff --git a/CSMath/src/bezier/transforms/TDHShear.java b/CSMath/src/bezier/transforms/TDHShear.java index 40b3814..7dbb4c5 100644 --- a/CSMath/src/bezier/transforms/TDHShear.java +++ b/CSMath/src/bezier/transforms/TDHShear.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHShear implements TDHTransform {
public final double shx;
diff --git a/CSMath/src/bezier/transforms/TDHTransform.java b/CSMath/src/bezier/transforms/TDHTransform.java index 48f60a5..3b8c52e 100644 --- a/CSMath/src/bezier/transforms/TDHTransform.java +++ b/CSMath/src/bezier/transforms/TDHTransform.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
/**
* Transformation applicable to TDHPoints.
diff --git a/CSMath/src/bezier/transforms/TDHTranslate.java b/CSMath/src/bezier/transforms/TDHTranslate.java index eb5cfa9..3d2afe9 100644 --- a/CSMath/src/bezier/transforms/TDHTranslate.java +++ b/CSMath/src/bezier/transforms/TDHTranslate.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
/**
* A transform that does coordinate translation.
diff --git a/CSMath/src/bezier/transforms/TDHXAxisReflection.java b/CSMath/src/bezier/transforms/TDHXAxisReflection.java index 5eea8cd..1969b9c 100644 --- a/CSMath/src/bezier/transforms/TDHXAxisReflection.java +++ b/CSMath/src/bezier/transforms/TDHXAxisReflection.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHXAxisReflection implements TDHTransform {
@Override
diff --git a/CSMath/src/bezier/transforms/TDHYAxisReflection.java b/CSMath/src/bezier/transforms/TDHYAxisReflection.java index f302fe4..eb462ba 100644 --- a/CSMath/src/bezier/transforms/TDHYAxisReflection.java +++ b/CSMath/src/bezier/transforms/TDHYAxisReflection.java @@ -1,6 +1,6 @@ package bezier.transforms;
-import bezier.TDHPoint;
+import bezier.geom.TDHPoint;
public class TDHYAxisReflection implements TDHTransform {
@Override
|
