Revision cb137f36
Added by Leszek Koltunski about 3 years ago
src/main/java/org/distorted/objects/TwistyDino.java | ||
---|---|---|
32 | 32 |
import org.distorted.library.mesh.MeshSquare; |
33 | 33 |
import org.distorted.library.type.Static3D; |
34 | 34 |
import org.distorted.library.type.Static4D; |
35 |
import org.distorted.main.RubikSurfaceView; |
|
36 | 35 |
|
37 | 36 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
38 | 37 |
|
... | ... | |
140 | 139 |
return 1; |
141 | 140 |
} |
142 | 141 |
|
143 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
144 |
|
|
145 |
int mulQuat(int q1, int q2) |
|
146 |
{ |
|
147 |
Static4D result = RubikSurfaceView.quatMultiply(QUATS[q1],QUATS[q2]); |
|
148 |
|
|
149 |
float rX = result.get0(); |
|
150 |
float rY = result.get1(); |
|
151 |
float rZ = result.get2(); |
|
152 |
float rW = result.get3(); |
|
153 |
|
|
154 |
final float MAX_ERROR = 0.1f; |
|
155 |
float dX,dY,dZ,dW; |
|
156 |
|
|
157 |
for(int i=0; i<QUATS.length; i++) |
|
158 |
{ |
|
159 |
dX = QUATS[i].get0() - rX; |
|
160 |
dY = QUATS[i].get1() - rY; |
|
161 |
dZ = QUATS[i].get2() - rZ; |
|
162 |
dW = QUATS[i].get3() - rW; |
|
163 |
|
|
164 |
if( dX<MAX_ERROR && dX>-MAX_ERROR && |
|
165 |
dY<MAX_ERROR && dY>-MAX_ERROR && |
|
166 |
dZ<MAX_ERROR && dZ>-MAX_ERROR && |
|
167 |
dW<MAX_ERROR && dW>-MAX_ERROR ) return i; |
|
168 |
|
|
169 |
dX = QUATS[i].get0() + rX; |
|
170 |
dY = QUATS[i].get1() + rY; |
|
171 |
dZ = QUATS[i].get2() + rZ; |
|
172 |
dW = QUATS[i].get3() + rW; |
|
173 |
|
|
174 |
if( dX<MAX_ERROR && dX>-MAX_ERROR && |
|
175 |
dY<MAX_ERROR && dY>-MAX_ERROR && |
|
176 |
dZ<MAX_ERROR && dZ>-MAX_ERROR && |
|
177 |
dW<MAX_ERROR && dW>-MAX_ERROR ) return i; |
|
178 |
} |
|
179 |
|
|
180 |
return -1; |
|
181 |
} |
|
182 |
|
|
183 | 142 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
184 | 143 |
|
185 | 144 |
float getScreenRatio() |
Also available in: Unified diff
Objects: tidy up some repeated code.