From 215455f7684e60b8c200c5907f1a8ebf6e5fda45 Mon Sep 17 00:00:00 2001 From: Christiaan Goossens Date: Thu, 7 Jul 2016 08:39:29 +0200 Subject: [PATCH] Moved from Vector3f to Vector3d for precision + total calculations --- simulator/.idea/workspace.xml | 168 ++++++++++-------- .../out/artifacts/simulator_jar/simulator.jar | Bin 317994 -> 318525 bytes .../com/verictas/pos/simulator/Main.class | Bin 1074 -> 1132 bytes .../com/verictas/pos/simulator/Object.class | Bin 1802 -> 1800 bytes .../verictas/pos/simulator/Simulator.class | Bin 1937 -> 1942 bytes .../simulator/mathUtils/Vector3dMatrix.class | Bin 0 -> 2966 bytes .../simulator/mathUtils/Vector3fMatrix.class | Bin 1990 -> 0 bytes .../src/com/verictas/pos/simulator/Main.java | 8 +- .../com/verictas/pos/simulator/Object.java | 24 +-- .../com/verictas/pos/simulator/Simulator.java | 6 +- ...ector3fMatrix.java => Vector3dMatrix.java} | 73 ++++++-- 11 files changed, 176 insertions(+), 103 deletions(-) create mode 100644 simulator/out/production/simulator/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.class delete mode 100644 simulator/out/production/simulator/com/verictas/pos/simulator/mathUtils/Vector3fMatrix.class rename simulator/src/com/verictas/pos/simulator/mathUtils/{Vector3fMatrix.java => Vector3dMatrix.java} (55%) diff --git a/simulator/.idea/workspace.xml b/simulator/.idea/workspace.xml index d04d1ab..02f2090 100644 --- a/simulator/.idea/workspace.xml +++ b/simulator/.idea/workspace.xml @@ -30,8 +30,8 @@ - - + + @@ -40,8 +40,8 @@ - - + + @@ -52,8 +52,8 @@ - - + + @@ -61,17 +61,13 @@ - - + + - - + + - - - - @@ -100,10 +96,11 @@ @@ -154,6 +151,8 @@ + + @@ -203,12 +202,36 @@ + + + + + + + + + + + - - @@ -481,7 +504,7 @@ - + @@ -489,9 +512,10 @@ + - + @@ -504,9 +528,8 @@ - - + @@ -534,120 +557,117 @@ - - + + - + - - + + - - - - - - - - - + - + + + - - - - + - - - + + + + + - + - - + + - + - - - + + + + + - + + - - - - - - + + + - + + + + + + + + + - - + + - - + + - - + + - + - - + + - - - - - - + + diff --git a/simulator/out/artifacts/simulator_jar/simulator.jar b/simulator/out/artifacts/simulator_jar/simulator.jar index 0abd52d4f2280b9add84d15d0d4e4d52f4012c89..3da95b75f2203440e58fd4d2606c70a488a83c6c 100644 GIT binary patch delta 5626 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 b26moMsHXo=vJC_ZF$&O-BzF*w+aUi3ZXV-E delta 4993 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 jOdZ26V%{uvEuJ-;tH*IRj4aolhu?oG< diff --git a/simulator/out/production/simulator/com/verictas/pos/simulator/Main.class b/simulator/out/production/simulator/com/verictas/pos/simulator/Main.class index 025aeb4840819c60d201963278dc5e7487da75e8..ca4a983daa757a4cffc848ee35fb1464962a9dbe 100644 GIT binary patch literal 1132 zcma)6%Wm3G5IqrZ2Bfyn0Q8)dD z{zA81c16{wRaULkkE%M?1|p>e#fy8-%sn&5XZ-m6=i3heMU>;Xi**?rlKxSr3?M_3 zLIg;9EXW}a5lnVWDcdZSCCl9LqPm+B>(ab)9yv zW%{nC?U_!eOpV*LGt8;S)id+l)LLezsTscKbeiQr*z}sz>h^z*8DzI{W?TLy!{Q{V zgMdY11OC`9Z)+(K;X!DWIk) zChFdGsxp?kf1OH#W4e|E`8(Zdbk(Q}YerpMH|kPGFiN7B5x-*Y%6^u3P=u=9Qho_hs?9h++UU8nep1cIg2$=1i9~ ziU{US_aa~t3(7qWqJUXW5!_qC8zG8C6f}w&OU<*AP!19TdH+%7{ST2!)@?Xg4q!!N z)y5ju1#%3h{k%*Y)oRr*$&9G`M{-!#x8@H8ro!lr+-~%R6P)_;;sQ@`+6#$wGg3pFoNta)n0tZn*VhC1*2 zoiNL{0W3^#q6+6YK@3;u#U0ml&jkgO?{ua^8e_C3aET1EoV|i$t~+C^ber9OcekC diff --git a/simulator/out/production/simulator/com/verictas/pos/simulator/Object.class b/simulator/out/production/simulator/com/verictas/pos/simulator/Object.class index bc59a542bec94901fa31f0103bf7b195752888ca..aa8cdcb26bb617af97ac25ab0fc6c53e217104a8 100644 GIT binary patch delta 224 zcmeC;>)@NPfiY#`Mpvd3>&c8vVvH%1`5BvmZ^2#X>}j{=J*W6EYxpa#^f#lQkGgF&4^14x5d20#`g zgB*hZgCT<~0~1g+Cxa1#JWw4IgE50XP)-G?E*@w*Gmw_t%^)7h$HzB$16vdTyP+qJ delta 226 zcmeC+>*AZRfiZ33MpvdZ>&c8vVvK2%`5Bvm}j{=J*W7=k4mV=DOEesqCtPBhc23lJfSb&&S8;G;Dw6`+|ZetMY z6=4wG!62HS?FkmKVv%Igm@wI%O*}%L!HhwT!JI*t!2(D#FlaHbfJ|XfXV3uBAeI4; z#mFGfAjn|IAj`l6RK>+$1mv>-*~Sd|Ksgnlx_F@N%s^UlH-mU2H#hg>b!<@ph2JR0 diff --git a/simulator/out/production/simulator/com/verictas/pos/simulator/Simulator.class b/simulator/out/production/simulator/com/verictas/pos/simulator/Simulator.class index 3f14b2c029fed0eb95ba0c5b855477bcac7b1b13..b2b576506c59fa6aef093c533314e3bb84b357b1 100644 GIT binary patch delta 685 zcmXYtNl#Q!5QV?{`c3`v0z?4?K^heW8HHw0MiE*R5d{TjXz3gy~tLmJ(%egDLi=X#CYynZGJq{5K(@cv? zt4ABB9nN@IL|xi-?9i^$rAxyebQ#nu zFS!gkTy_{%*d3|a)bhfnN(50A6ThIwYkCykXnH;~m5ilkl8T(s)Wi9ics8A>dk}vd z_bH*&;fl{yMuI(6XOH?^<9g6&R1}Rd?lZ;>ML05-jc2mSM7hsRZUv8w`u@aFJex^9 z(Hm|%-0``~J)a3CMM*3zgb{@qNzY0MMQS5@Q{3Uc&lCxT@-$CUD2v|h8n2YdeQ8#S z|6&g1$h$Q+71w&r%D$k%D&1c!pQ+72Y02Ub2a{G|Z<*9=$&fFKi1+{Fa*jwA<|xN> zFQ{*rI1=;TV(bfTV1_zNir4rZY+B6)uR|?XfmOY=#%h68V6I}Xvl1Bgpq)?t28F?h zeYSdH$yDoqhV}dbnU`3*!NDa%incBmN%4)ahA0cR?AFB>)bpMOzEZ|_(f^ZHwrNv} zJmt`(a_Ro3c|dec^OOpX%Pj*u=LD5lgXb(1=u`J277EbBPf}GXEwP+*X^)GX3f7)Z|^C7?&Nc_*~_h&vkAD zuZ+^jAfpaxpPP&+l&7u77rqy1;eTg-)gk9nkaO1&8t0p=hYO$hL{qii2qE^&=j6KJLz_$CWl1M@39JYJv zM`uhm_h&%cZ4o=ch5}n>3=thImWrr{3{e@pwOeyfW&Q=4`6`3{kW@eAi>=Tmfr^z) zm)c18dW2pXGeeG@)JU{mp0JDE`hSqywZcr=c}IdearRiFUNl1oV~;Rd!Ww9l*iF*J faMtkDFDjA_&1#LXDqbbOinT&S&g_*l2K)X37$S3! diff --git a/simulator/out/production/simulator/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.class b/simulator/out/production/simulator/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.class new file mode 100644 index 0000000000000000000000000000000000000000..770a1654cc57b5630e60bf6694cf0558a7d89d47 GIT binary patch literal 2966 zcmbVO-*X#R75=VvrInP8?AVqgTXveX1r$4$potB3oKOnD*X1N^ti-V@zgI-FCeqb7-il*Aj%)I@A^PhH zq;W%}w?%qKUYicQB!9O=T@-0M0UtX_>|#%JB?mVh+){|mma3)jyh1cLKYwyf!M+%5 z`wBe^rK-QwtZe!9Rd1_IP2WOL^vY{qy(Hglr5)~-8VZvO#h_BS?bl1i&}$TGL8H(p zRhnfl4C;l77w%mNOXWsk%`Z}MdVA3e>!mwq6;zeaJfDg}Z^I8)O85Nvsxf2Oco?kE zvbw7)4S~z%3gK1V6+Sn+iLFY_;rQMGp85y32hFqgkJI1qF2+HNwUI`uloNhm2=TR=%R_+A`yS&)Nz(_GLhhE(#1)PxhUY@8TzT&%ygHeu@tqeCXn5*mv;}?kk-BKZaQ$Ev0o+ zzGjA8!Qp^h^Xmb@=VZa;TjpFLL9)4GY^6Tq=(RQM02h&crFqP&)%@zV!YMO|Pc6W+ zJJFf?B!jQG=SXPoDs~}=}py5JrXTdr*BB}?dS?5RP-~rZ0?M?eLBt~Pk-yu8R z7jGdkHZs~mvV}u^F2AlmM4m=+J~-YzI&6;m52&>DzNH>M`TclbO3wEq{P<+Ng`PhU zlcmXfiIjnK4Y0antSU#sCP~mDtGU8u-NQI{^aZ@fo&AV5ALAv>!x-y2j<+?|GFa2VuOPQz;)q}S1hH#oCzlC=f?U$CfwoiT|zz$S5; zX99e(!_j1$w>Y_(#1y$y_%6QJ2K$KdleC}aI1=pAgq5G2u=D5m$w`>D`D<^A6r&W? zQv7qI*E4n|mWe;YV3#oic#W{H;t<~AhFoJSHrV>>Y|af0_;p>>bO-Qshso(SlMZ08jp@|lTC%OZjH(6QJ zE?abyD9aq_Dv1tAa19sv*J_oz8wjz@v6Wf6Ozab^RVs_pYD8D&(DsO~EP*U8;QJhK zS>~M%Q#*K>I^J@42S1=igxQwpb%spI(DxwnC9)3Y9K50)(?oH0{zK3#36kBblY^)b zWMy@;?L6rqSJ^ICGqyDqP0QsGeSn#_LI0>1gVQW9iz5hF@ z8Y0QVLw1*}DN+RPwu2AY#1A>o`z+xXBY77NgauCM{0eK22JZgubjvlf|odNUL*q3~9HxK|)%JjWFZ&Vw*l&(>ILB69$Pn Vm{*#_H-tyvF{3JOom>kG{|1r5GtK}2 literal 0 HcmV?d00001 diff --git a/simulator/out/production/simulator/com/verictas/pos/simulator/mathUtils/Vector3fMatrix.class b/simulator/out/production/simulator/com/verictas/pos/simulator/mathUtils/Vector3fMatrix.class deleted file mode 100644 index 0e95b386c68ed3cf7a5f5e487e9504f13c766af2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1990 zcmbVMTT@$A7+pI#xpD|JT*55~w%UY1qNQjo0kzNoB|vT3&_Jsk(gPgLZIVO9j^k5( za&&n1#TjOtzUqtxY8(ym()Jugl1Sv=+U%;YHeuCFw28_=*pGxGAkwX=UWJ=E1t3 z-wh9LdGLXNJ7ts&b6&s|Sy_qZ1eAr!LtUUNW0dvv!_ux^yQA$E83|@81+AFVYKHWi zLB%{U>H;&FLZy^=q}PmssnrwJNx`I4O z>kzXxUtX>@ZH8H1o z(#vM^(JTrKM;8BU3z4<9NSQ54yzWRkosQ-(&IdZcXAig`M2%{l*e@DLuQSlpmqBk_u^#ZOJZ0?Y6 z$fgS!xa_-h{p`;>hd1&H?|VanwQpL=0!W>?h(PNi0u}(7540{~5>w5}C#>vZE=kHx z(S1!BRGjg-K}CtrGZOm=7rt&FNK@IN)6;ZZ(&?2>TM(o0uuhtSSfZAe5yVa6S>-7* zeEDk@wySop7Pchfq)%c?S|}w=$tHDPyusg_q*IXE=_cN1tRVZOs7T^npK``iQ%Zb} zF2!)1RA?wWmg%DDvQ77M^yNcJ$Q5#*qQA|XjXB4Po9MtjzLPCVdYjjJpU56qn3wH- sEzGGFpQ$FF9tuMub#m_|`KL$B7x^ssr$@AL^3H!g>**$m+<|xg0(pUT+yDRo diff --git a/simulator/src/com/verictas/pos/simulator/Main.java b/simulator/src/com/verictas/pos/simulator/Main.java index 22e59b7..828b178 100644 --- a/simulator/src/com/verictas/pos/simulator/Main.java +++ b/simulator/src/com/verictas/pos/simulator/Main.java @@ -5,10 +5,10 @@ import javax.vecmath.*; public class Main { public static void main(String[] args) { - Object object1 = new Object(1000, new Vector3f(1,2,3), new Vector3f(0,4,3)); - Object object2 = new Object(200, new Vector3f(2,38,2), new Vector3f(3,4,5)); - Object object3 = new Object(200, new Vector3f(2,-20,2), new Vector3f(3,4,5)); - Object object4 = new Object(200, new Vector3f(2,4,2), new Vector3f(3,4,5)); + Object object1 = new Object(1000, new Vector3d(1,2,3), new Vector3d(0,4,3)); + Object object2 = new Object(200, new Vector3d(2,38,2), new Vector3d(3,4,5)); + Object object3 = new Object(200, new Vector3d(2,-20,2), new Vector3d(3,4,5)); + Object object4 = new Object(200, new Vector3d(2,4,2), new Vector3d(3,4,5)); // Make a list of all the objects Object[] objects = {object1, object2, object3, object4}; diff --git a/simulator/src/com/verictas/pos/simulator/Object.java b/simulator/src/com/verictas/pos/simulator/Object.java index 9b7c965..d47dd1c 100644 --- a/simulator/src/com/verictas/pos/simulator/Object.java +++ b/simulator/src/com/verictas/pos/simulator/Object.java @@ -4,8 +4,8 @@ import java.lang.*; public class Object { public double mass; - public Vector3f position; - public Vector3f speed; + public Vector3d position; + public Vector3d speed; private double gravitationalConstant = 6.67384E-11; /** @@ -14,7 +14,7 @@ public class Object { * @param position The position vector of the object * @param speed The speed vector of the object */ - public Object(double mass, Vector3f position, Vector3f speed) { + public Object(double mass, Vector3d position, Vector3d speed) { this.mass = mass; this.position = position; this.speed = speed; @@ -24,7 +24,7 @@ public class Object { * Sets the speed vector of an object * @param speed Current speed vector */ - public void setSpeed(Vector3f speed) { + public void setSpeed(Vector3d speed) { this.speed = speed; } @@ -32,7 +32,7 @@ public class Object { * Sets the position vector of an object. * @param position Current position vector */ - public void setPosition(Vector3f position) { + public void setPosition(Vector3d position) { this.position = position; } @@ -47,22 +47,22 @@ public class Object { /** * Calculates the force of the passed object on the current object. * @param secondObject The passed object - * @return Vector3f The gravitational force + * @return Vector3d The gravitational force */ - public Vector3f getForceOnObject(Object secondObject) { + public Vector3d getForceOnObject(Object secondObject) { double scale = gravitationalConstant * ((this.mass * secondObject.mass) / Math.pow(getDistance(secondObject).length(), 3.0)); - Vector3f force = getDistance(secondObject); - force.scale((float) scale); + Vector3d force = getDistance(secondObject); + force.scale(scale); return force; } /** * Get the vector distance between the current position vector and the position vector of the passed object. * @param secondObject The passed object. - * @return Vector3f The distance vector + * @return Vector3d The distance vector */ - private Vector3f getDistance(Object secondObject) { - Vector3f distance = new Vector3f(0,0,0); // Empty + private Vector3d getDistance(Object secondObject) { + Vector3d distance = new Vector3d(0,0,0); // Empty distance.sub(this.position, secondObject.position); return distance; } diff --git a/simulator/src/com/verictas/pos/simulator/Simulator.java b/simulator/src/com/verictas/pos/simulator/Simulator.java index 7ca08b3..41ed4d2 100644 --- a/simulator/src/com/verictas/pos/simulator/Simulator.java +++ b/simulator/src/com/verictas/pos/simulator/Simulator.java @@ -1,6 +1,6 @@ package com.verictas.pos.simulator; import javax.vecmath.*; -import com.verictas.pos.simulator.mathUtils.Vector3fMatrix; +import com.verictas.pos.simulator.mathUtils.Vector3dMatrix; public class Simulator { public static void run(int rounds, Object[] objects) { @@ -22,7 +22,7 @@ public class Simulator { /** * Define the forces matrix for this round */ - Vector3fMatrix matrix = new Vector3fMatrix(objects.length,objects.length); + Vector3dMatrix matrix = new Vector3dMatrix(objects.length,objects.length); for(int i = 0; i < objects.length; i++) { /** @@ -36,7 +36,7 @@ public class Simulator { break; } - Vector3f force = objects[i].getForceOnObject(objects[o]); + Vector3d force = objects[i].getForceOnObject(objects[o]); matrix.setPosition(force, i, o); System.out.println("Force " + (i + 1) + " on " + (o + 1) + " - " + force); diff --git a/simulator/src/com/verictas/pos/simulator/mathUtils/Vector3fMatrix.java b/simulator/src/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.java similarity index 55% rename from simulator/src/com/verictas/pos/simulator/mathUtils/Vector3fMatrix.java rename to simulator/src/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.java index 9730cd1..f0cdfa3 100644 --- a/simulator/src/com/verictas/pos/simulator/mathUtils/Vector3fMatrix.java +++ b/simulator/src/com/verictas/pos/simulator/mathUtils/Vector3dMatrix.java @@ -1,15 +1,15 @@ package com.verictas.pos.simulator.mathUtils; import javax.vecmath.GMatrix; -import javax.vecmath.Vector3f; +import javax.vecmath.Vector3d; -public class Vector3fMatrix extends GMatrix { +public class Vector3dMatrix extends GMatrix { /** * Creates a new matrix with some helper functions for use with Vector3f. The created matrix will be empty. * @param n The number of rows. * @param m The number of columns. */ - public Vector3fMatrix(int n, int m) { + public Vector3dMatrix(int n, int m) { // Change the size to suit Vector3f super(n, m * 3); this.setZero(); @@ -66,7 +66,7 @@ public class Vector3fMatrix extends GMatrix { * @param n The row to insert into * @param m The column to insert into */ - public void setPosition(Vector3f settable, int n, int m) { + public void setPosition(Vector3d settable, int n, int m) { int[] position = translatePosition(n, m); n = position[0]; m = position[1]; @@ -80,16 +80,69 @@ public class Vector3fMatrix extends GMatrix { * Provides a way to get a vector from a certain position in the matrix * @param n The row to get from * @param m The column to get from - * @return Vector3f The vector in that position + * @return Vector3d The vector in that position */ - public Vector3f getPosition(int n, int m) { + public Vector3d getPosition(int n, int m) { int[] position = translatePosition(n, m); n = position[0]; m = position[1]; - float x = (float) this.getElement(n, m); - float y = (float) this.getElement(n, m + 1); - float z = (float) this.getElement(n, m + 2); - return new Vector3f(x, y, z); + double x = this.getElement(n, m); + double y = this.getElement(n, m + 1); + double z = this.getElement(n, m + 2); + return new Vector3d(x, y, z); + } + + /** + * Provides a way to calculate the result vector of a certain row + * @param row The row to calculate the total of + * @return Vector3d + */ + public Vector3d getRowTotal(int row) { + double[] rowTotal = new double[this.getNumCol()]; + this.getRow(row, rowTotal); + + // Create an empty vector to store the result + Vector3d resultVector = new Vector3d(0,0,0); + + for(int i = 0; i < this.getNumCol(); i = i + 3) { + // For every third entry (including 0). + double x = this.getElement(row, i); + double y = this.getElement(row, i + 1); + double z = this.getElement(row, i + 2); + resultVector.add(new Vector3d(x, y, z)); + } + + System.out.println(resultVector); + return resultVector; + } + + /** + * Provides a way to calculate the result vector of a certain column + * @param column The column to calculate the total of + * @return Vector3d + */ + public Vector3d getColumnTotal(int column) { + double[] columnTotal = new double[this.getNumRow()]; + + // Translate the column number to the correct vector column + int[] position = translatePosition(0, column); + column = position[1]; + + this.getColumn(column, columnTotal); + + // Create an empty vector to store the result + Vector3d resultVector = new Vector3d(0,0,0); + + for(int i = 0; i < this.getNumRow(); i++) { + // For every entry (including 0). + double x = this.getElement(i, column); + double y = this.getElement(i, column + 1); + double z = this.getElement(i, column + 2); + resultVector.add(new Vector3d(x, y, z)); + } + + System.out.println(resultVector); + return resultVector; } } \ No newline at end of file