MATLAB提供了设置视点的函数view。其调用格式为:
view(az,el)
az是azimuth(方位角)的缩写,EL是elevation(仰角)的缩写。它们均以度为单位。系统缺省的视点定义为方位角-375°,仰角30°。
当x轴平行观察者身体,y轴垂直于观察者身体时,az=0; 以此点为起点,绕着z轴顺时针运动,az为正,逆时针为负。
EL为观察者眼睛与xy平面形成的角度。
当观察者的眼睛在xy平面上时,el=0; 向上el为正,向下为负;
下面是一些例子:
AZ = -375, EL = 30 是默认的三维视角
AZ = 0, EL = 90 是2维视角,从图形正上方向下看,显示的是xy平面
AZ = EL = 0 看到的是xz平面
AZ = 180,EL=0 是从背面看到的xz平面
VIEW(2) 设置默认的二维视角, AZ = 0, EL = 90
VIEW(3) 设置默认的三维视角, AZ = -375, EL = 30
VIEW([X Y Z]) 设置Cartesian坐标系的视角,[X Y Z]向量的长度大小被忽略。
[AZ,EL] = VIEW 返回当前的方位角和仰角。
例子1:从不同视点绘制多峰函数曲面
subplot(2,2,1);mesh(peaks);
view(-375,30); %指定子图1的视点
title('azimuth=-375,elevation=30')
subplot(2,2,2);mesh(peaks);
view(0,90); %指定子图2的视点
title('azimuth=0,elevation=90')
subplot(2,2,3);mesh(peaks);
view(90,0); %指定子图3的视点
title('azimuth=90,elevation=0')
subplot(2,2,4);mesh(peaks);
view(-7,-10); %指定子图4的视点
title('azimuth=-7,elevation=-10')
例子2:旋转观察多峰函数曲面
mesh(peaks); %绘制多峰函数
el=30; %设置仰角为30度。
for az=0:1:360 %让方位角从0变到360,绕z轴一周
view(az,el);
drawnow;
end
az= 0; %设置方位角为0
for el=0:1:360 %仰角从0变到360
view(az,el);
drawnow;
end
区别:在activity测试暂时没发现区别,如果d出一个对话框获取对话框的view的话,那么窗口的y x大小肯定小于屏幕大小了。
viewgetX 获取屏幕的位置的左边距离 getY 就是顶部距离了
viewgetTranslateX() 表示相对于原来自身偏移了多少,默认是0 ,如果往右边偏移数值越大,如果往左偏移y就是负数,如果往上偏移就是y负数
触摸事件 getY() 获取当前view相对父亲的顶边界到触摸点的距离 getX() 同理,
getRawY() 就是获取屏幕到点击触摸点的距离
模拟点击模拟的是 getRaw
触摸滑动计算滑动距离用 getRaw 可以解决抖动问题
有了这些坐标体系,QQ语音红包就要开始下手了
getLeft() 等等就是获取view距离父view的距离了
以上就是关于MATLAB中view(x,y,z)怎么理解全部的内容,包括:MATLAB中view(x,y,z)怎么理解、android手机坐标系之getLocationOnScreen getLocationInWindow等总结、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)