Revision b63235a0
Added by Leszek Koltunski over 1 year ago
src/main/java/org/distorted/objectlib/objects/TwistyMasterball.java | ||
---|---|---|
21 | 21 |
import org.distorted.objectlib.main.ObjectType; |
22 | 22 |
import org.distorted.objectlib.shape.ShapeDiamond; |
23 | 23 |
import org.distorted.objectlib.scrambling.ScrambleState; |
24 |
import org.distorted.objectlib.touchcontrol.TouchControlBall; |
|
24 | 25 |
|
25 | 26 |
import java.io.InputStream; |
26 | 27 |
|
... | ... | |
192 | 193 |
} |
193 | 194 |
|
194 | 195 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
195 |
// A = PI/8 |
|
196 | 196 |
|
197 | 197 |
public Static3D[] getFaceAxis() |
198 | 198 |
{ |
199 |
final float sinA = (float)(0.5f*Math.sqrt(2-SQ2)); |
|
200 |
final float cosA = (float)(0.5f*Math.sqrt(2+SQ2)); |
|
201 |
|
|
202 |
float X = sinA*cosA/(1+cosA*cosA); |
|
203 |
float Y = cosA*cosA/(1+cosA*cosA); |
|
204 |
float Z = cosA*cosA/(1+cosA*cosA); |
|
205 |
|
|
206 |
float LEN = (float)Math.sqrt(X*X + Y*Y + Z*Z); |
|
207 |
X /= LEN; |
|
208 |
Y /= LEN; |
|
209 |
Z /= LEN; |
|
210 |
|
|
211 |
return new Static3D[] |
|
212 |
{ |
|
213 |
new Static3D( X, Y, Z), |
|
214 |
new Static3D( X,-Y, Z), |
|
215 |
new Static3D( Z, Y, X), |
|
216 |
new Static3D( Z,-Y, X), |
|
217 |
new Static3D( Z, Y,-X), |
|
218 |
new Static3D( Z,-Y,-X), |
|
219 |
new Static3D( X, Y,-Z), |
|
220 |
new Static3D( X,-Y,-Z), |
|
221 |
new Static3D(-X, Y,-Z), |
|
222 |
new Static3D(-X,-Y,-Z), |
|
223 |
new Static3D(-Z, Y,-X), |
|
224 |
new Static3D(-Z,-Y,-X), |
|
225 |
new Static3D(-Z, Y, X), |
|
226 |
new Static3D(-Z,-Y, X), |
|
227 |
new Static3D(-X, Y, Z), |
|
228 |
new Static3D(-X,-Y, Z), |
|
229 |
}; |
|
199 |
return TouchControlBall.FACE_AXIS; |
|
230 | 200 |
} |
231 | 201 |
|
232 | 202 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Make it possible to create Diamond and Icosahedron-shaped objects to be read from json.