diff --git a/fr/alnotz/Application.java b/fr/alnotz/Application.java index e526f0a..3a2ff18 100644 --- a/fr/alnotz/Application.java +++ b/fr/alnotz/Application.java @@ -3,5 +3,6 @@ package fr.alnotz; public class Application { public static void main(String[] args){ System.out.println("Hi."); + } } diff --git a/fr/alnotz/Dual.java b/fr/alnotz/Dual.java index 40c4aa1..defb25c 100644 --- a/fr/alnotz/Dual.java +++ b/fr/alnotz/Dual.java @@ -3,6 +3,10 @@ package fr.alnotz; public class Dual implements IsDual{ private double r; private double d; + public Dual(){ + this.r = 0; + this.d = 0; + } public Dual(double r, double d){ this.r = r; this.d = d; @@ -10,6 +14,15 @@ public class Dual implements IsDual{ public static Dual plus(IsDual dual0, IsDual dual1){ return new Dual(dual0.getR() + dual1.getR(), dual0.getD() + dual1.getD()); } + public static Dual times(IsDual dual0, IsDual dual1){ + return new Dual(dual0.getR() * dual1.getR(), dual0.getR() * dual1.getD() + dual1.getR() * dual0.getD()); + } + public static Dual conjugate(IsDual dual){ + return new Dual(dual.getR(), -1 * dual.getD()); + } + public static boolean equals(IsDual dual0, IsDual dual1){ + return dual0.getR() == dual1.getR() && dual0.getD() == dual1.getD(); + } @Override public double getR() { return this.r; @@ -35,15 +48,21 @@ public class Dual implements IsDual{ this.r += dual.getR(); this.d += dual.getD(); } - @Override public void times(IsDual dual) { this.r *= dual.getR(); - this.d = 2 * this.r * dual.getD(); + this.d = this.r * dual.getD() + this.d * dual.getR(); + } + @Override + public void conjugate(){ + this.d *= -1; } - @Override public boolean equals(IsDual dual) { - return this.r == dual.getR() && this.d == dual.getR(); + return this.r == dual.getR() && this.d == dual.getD(); + } + @Override + public String toString(){ + return String.format("%+f %+fε\n", this.r, this.d); } } diff --git a/fr/alnotz/IsDual.java b/fr/alnotz/IsDual.java index 221bd0e..e5ee819 100644 --- a/fr/alnotz/IsDual.java +++ b/fr/alnotz/IsDual.java @@ -7,5 +7,7 @@ public interface IsDual { void setD(double d); void plus(IsDual dual); void times(IsDual dual); + void conjugate(); boolean equals(IsDual dual); + String toString(); } diff --git a/fr/alnotz/IsQuaternion.java b/fr/alnotz/IsQuaternion.java new file mode 100644 index 0000000..4ff97f5 --- /dev/null +++ b/fr/alnotz/IsQuaternion.java @@ -0,0 +1,17 @@ +package fr.alnotz; + +public interface IsQuaternion { + double getS(); + double getI(); + double getJ(); + double getK(); + void setS(); + void setI(); + void setJ(); + void setK(); + void plus(IsQuaternion quaternion); + void times(IsQuaternion quaternion); + void conjugate(); + boolean equals(IsQuaternion quaternion); + String toString(); +} diff --git a/fr/alnotz/Quaternion.java b/fr/alnotz/Quaternion.java new file mode 100644 index 0000000..d68d338 --- /dev/null +++ b/fr/alnotz/Quaternion.java @@ -0,0 +1,79 @@ +package fr.alnotz; + +public class Quaternion implements IsQuaternion{ + private double s; + private double i; + private double j; + private double k; + public Quaternion(){ + this.s = 0; + this.i = 0; + this.j = 0; + this.k = 0; + } + public Quaternion(double s, double i, double j, double k){ + this.s = s; + this.i = i; + this.j = j; + this.k = k; + } + @Override + public double getS() { + return 0; + } + + @Override + public double getI() { + return 0; + } + + @Override + public double getJ() { + return 0; + } + + @Override + public double getK() { + return 0; + } + + @Override + public void setS() { + + } + + @Override + public void setI() { + + } + + @Override + public void setJ() { + + } + + @Override + public void setK() { + + } + + @Override + public void plus(IsQuaternion quaternion) { + + } + + @Override + public void times(IsQuaternion quaternion) { + + } + + @Override + public void conjugate() { + + } + + @Override + public boolean equals(IsQuaternion quaternion) { + return false; + } +}