Android 3D 旋转问题。求高人指点。

upzhai 2013-01-08 12:47:57
这两天需要做一个旋转的效果,用的事android demo 里面的代码。
做出来以后怎么看都不满意。

大家看图应该能感觉出来。图片的再旋转过后,上下宽度的比例有点太大了。

有什么办法能让旋转出来的图片,上面的宽度和下面比例能变小一点。

自己想来应该是自己写变换矩阵,可惜数学没学好啊。


@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final float fromDegrees = mFromDegrees;
float degrees = fromDegrees + ((mToDegrees - fromDegrees) * interpolatedTime);

final float centerX = mCenterX;
final float centerY = mCenterY;
final Camera camera = mCamera;

final Matrix matrix = t.getMatrix();

camera.save();
if (mReverse) {
camera.translate(0.0f, 0.0f, mDepthZ * interpolatedTime);
} else {
camera.translate(0.0f, 0.0f, mDepthZ * (1.0f - interpolatedTime));
}
camera.rotateY(degrees);
camera.getMatrix(matrix);
camera.restore();

matrix.preTranslate(-centerX, -centerY);
matrix.postTranslate(centerX, centerY);
}






...全文
425 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
upzhai 2013-02-25
  • 打赏
  • 举报
回复
最后还是自己写了矩阵算法。哎~
upzhai 2013-01-14
  • 打赏
  • 举报
回复
引用 6 楼 vb748 的回复:
你是对透视效果不满意吧,试试openGL呢? 感觉java里面运行矩阵运算就是效率不高。
问题是没有接触过openGL,虽然效果满意,看了代码,学习曲线太深。
vb748 2013-01-12
  • 打赏
  • 举报
回复
引用 楼主 upzhai 的回复:
本帖最后由 upzhai 于 2013-01-08 12:49:22 编辑 这两天需要做一个旋转的效果,用的事android demo 里面的代码。 做出来以后怎么看都不满意。 大家看图应该能感觉出来。图片的再旋转过后,上下宽度的比例有点太大了。 有什么办法能让旋转出来的图片,上面的宽度和下面比例能变小一点。 自己想来应……
你是对透视效果不满意吧,试试openGL呢? 感觉java里面运行矩阵运算就是效率不高。
迎着太阳上学 2013-01-12
  • 打赏
  • 举报
回复
很好 支持楼主
upzhai 2013-01-12
  • 打赏
  • 举报
回复
等待等待等待等待等待等待
upzhai 2013-01-09
  • 打赏
  • 举报
回复
懂矩阵运算的就木有嘛?
longer262110 2013-01-08
  • 打赏
  • 举报
回复
我是来看美女滴
upzhai 2013-01-08
  • 打赏
  • 举报
回复
难道没人知道吗?

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧