Revision 00d86f0f
Added by Leszek Koltunski over 7 years ago
src/main/java/org/distorted/examples/matrix3d/Matrix3DEffect.java | ||
---|---|---|
131 | 131 |
float sinAnorm = (float)Math.sin(qa/2)/len; |
132 | 132 |
mSta4.set(sinAnorm*qx,sinAnorm*qy,sinAnorm*qz, cosA); |
133 | 133 |
break; |
134 |
case MOVE : float sw = mAct.get().getScreenWidth()/50.0f; |
|
135 |
float sh = mAct.get().getScreenWidth()/50.0f; |
|
136 |
float xm = (mInter[0]-50)*sw; |
|
137 |
float ym = (mInter[1]-50)*sh; |
|
138 |
float zm = (mInter[2]-50)*(sw+sh)/2; |
|
134 |
case MOVE : float s = 0.04f; |
|
135 |
float xm = (mInter[0]-50)*s; |
|
136 |
float ym = (mInter[1]-50)*s; |
|
137 |
float zm = (mInter[2]-50)*s; |
|
139 | 138 |
mSta3.set(xm,ym,zm); |
140 | 139 |
break; |
141 |
case SCALE : float xs = (mInter[0]-50)/10.0f; |
|
142 |
float ys = (mInter[1]-50)/10.0f; |
|
143 |
float zs = (mInter[2]-50)/10.0f; |
|
140 |
case SCALE : double coeff = Math.PI / 100; |
|
141 |
|
|
142 |
if( mInter[0]<= 0 ) mInter[0]= 1; |
|
143 |
if( mInter[0]>=100 ) mInter[0]=99; |
|
144 |
if( mInter[1]<= 0 ) mInter[1]= 1; |
|
145 |
if( mInter[1]>=100 ) mInter[1]=99; |
|
146 |
if( mInter[2]<= 0 ) mInter[2]= 1; |
|
147 |
if( mInter[2]>=100 ) mInter[2]=99; |
|
148 |
|
|
149 |
float xs = (float)Math.tan((mInter[0]-50)*coeff); |
|
150 |
float ys = (float)Math.tan((mInter[1]-50)*coeff); |
|
151 |
float zs = (float)Math.tan((mInter[2]-50)*coeff); |
|
144 | 152 |
mSta3.set(xs,ys,zs); |
145 | 153 |
break; |
146 | 154 |
case SHEAR : float xsh = (mInter[0]-50)/25.0f; |
... | ... | |
211 | 219 |
} |
212 | 220 |
if( mName==EffectNames.SCALE ) |
213 | 221 |
{ |
214 |
mInter[0]= 60;
|
|
215 |
mInter[1]= 60;
|
|
216 |
mInter[2]= 60;
|
|
222 |
mInter[0]= 75;
|
|
223 |
mInter[1]= 75;
|
|
224 |
mInter[2]= 75;
|
|
217 | 225 |
} |
218 | 226 |
} |
219 | 227 |
|
... | ... | |
270 | 278 |
|
271 | 279 |
private void fillCenterStatics() |
272 | 280 |
{ |
273 |
Matrix3DActivity act = mAct.get(); |
|
274 |
|
|
275 |
float x = (mInterCenter[0]*0.012f - 0.1f)*act.getWidth(); |
|
276 |
float y = (mInterCenter[1]*0.012f - 0.1f)*act.getHeight(); |
|
277 |
float z = (mInterCenter[2]*0.012f - 0.1f)*act.getDepth(); |
|
281 |
float x = (mInterCenter[0]-50)*0.02f; |
|
282 |
float y = (mInterCenter[1]-50)*0.02f; |
|
283 |
float z = (mInterCenter[2]-50)*0.02f; |
|
278 | 284 |
|
279 | 285 |
mCenterSta.set(x,y,z); |
280 | 286 |
} |
... | ... | |
292 | 298 |
|
293 | 299 |
private void setCenterText() |
294 | 300 |
{ |
295 |
int f0 = (int)mCenterSta.getX();
|
|
296 |
int f1 = (int)mCenterSta.getY();
|
|
297 |
int f2 = (int)mCenterSta.getZ();
|
|
301 |
float f0 = ((int)(mCenterSta.getX()*100))/100.0f;
|
|
302 |
float f1 = ((int)(mCenterSta.getY()*100))/100.0f;
|
|
303 |
float f2 = ((int)(mCenterSta.getZ()*100))/100.0f;
|
|
298 | 304 |
|
299 | 305 |
mTextCenter.setText("center ("+f0+","+f1+","+f2+")"); |
300 | 306 |
} |
Also available in: Unified diff
One more APP converted. Only 2 remain.