Revision 00d86f0f
Added by Leszek Koltunski over 8 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.