在J2ME/MIDP中实现图象旋转[Java编程]
本文“在J2ME/MIDP中实现图象旋转[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
J2ME是尺度版java(J2SE)面向手机、PDA等各类移动和嵌入式设备的缩减版本,是一种得到众多厂商的支持和遍及利用的移动设备开辟平台.图一展示了J2ME技术的体系构造.它分为三层:虚拟机层,配置层,和简表层. 配置层(Configuration)通过对功效的描写,把千差万别的嵌入式设备举行了功效的阐明和分类.它把运算功效有限、内存较小、电力有限的设备,定义在CLDC(有限衔接设备配置)标准中,这类设备有PDA 、手机等;把运算本领相对较佳、内存相对较大、电力供应对比充沛的设备,定义在CDC(衔接设备配置)标准之中,这类设备有电冰箱、机顶盒、车载计算设备等.
虚拟机层(Virtual Machine)基于宿主操作系统,按照某一种配置,实现了Java虚拟机.CDC配置对应的虚拟机叫CVM,CLDC对应的虚拟机叫做KVM.
简表层(Profile)成立在配置层之上,供应了面向用户的更高层次的功效,如用户接口,网络,数据存储等.底子标准(Foundation Profile)和个人标准(Personal Profile)是CDC之上的两个重要的标准,移动信息设备标准(MIDP)和PDA标准(PDAP)是CLDC之上的两个重要的标准.当前,无线利用程序的开辟主如果在MIDP之上举行的.
配置层和简表层共同构成了J2ME的运行环境.如CLDC/MIDP架构修建了手机利用程序的开辟和运行环境.本文所实现的图象旋转算法就是基于这种架构的.
图一 J2ME 体系构造 需求注意的是,这些标准也是在不断发展的.如早期很多的设备的计算本领非常有限,CLDC1.0就只支持整型数值.后来数随着设备运算本领的提高,CLDC1.0发展到CLDC1.1,就加如了对浮点运算的支持.对MIDP标准也一样,从1.0发展到2.0,它通过扩大类和接口的功效,加强了对游戏开辟的支持,增添了图象处理功效(旋转要用到),加强了对网络功效的支持,如串口、套接字、https等.
2D旋转的数据底子
考虑笛卡儿直角坐标系中单个点旋转的情形.如图二示,这里点P(x,y)到原点O绕O点逆时针旋转角度θ后到点P′(x′,y′).由三角函数的多少意义,有x = r*cos α ,y = r*si n α和x′ = r*cos(α +θ) , y′ = r*sin(α + θ),推出:
x′ = x * cos θ – y * sin θ
y′ = y * cos θ + x * sin θ
当把旋转点普通化为Q(x0,y0),得到:
x′ = x0 + (x - x0) cos θ - (y - y0) sin θ
y′ = y0 + (y - y0) cos θ + (x - x0) sin θ
在开辟时,我们利用设备坐标系,它以屏幕的左上角为坐标原点,y轴方向向下.此时,我们无妨视θ为饶旋转点顺时针旋转的角度,这样,上面的公式仍然成立.
图二 2D点的旋转 普通图象的旋转算法
以上是“在J2ME/MIDP中实现图象旋转[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |