MATLAB 设置视点的函数view

MATLAB提供了设置视点的函数view。其调用格式为:

view(az,el)
az是azimuth(方位角)的缩写,EL是elevation(仰角)的缩写。它们均以度为单位。系统缺省的视点定义为方位角-37.5°,仰角30°。

当x轴平行观察者身体,y轴垂直于观察者身体时,az=0; 以此点为起点,绕着z轴顺时针运动,az为正,逆时针为负。

EL 为观察者眼睛与xy平面形成的角度。
当观察者的眼睛在xy平面上时,el=0; 向上el为正,向下为负;
下面是一些例子:
    AZ = -37.5,
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 = -37.5, EL = 30.
    
VIEW([X Y Z]) 设置Cartesian坐标系的视角,[X Y Z]向量的长度大小被忽略.
[AZ,EL] = VIEW 返回当前的方位角和仰角.
例子1:从不同视点绘制多峰函数曲面
subplot(2,2,1);mesh(peaks);
   
view(-37.5,30);         
%指定子图1的视点
   
title(‘azimuth=-37.5,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

时间: 2024-08-10 02:09:51

MATLAB 设置视点的函数view的相关文章

matlab学习笔记 bsxfun函数

matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下.   函数bsxfun [功能描述]两个数组间元素逐个计算. [应用场合]当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只能用循环方法或者利用repmat函数将要操作的向量a复制成和A一样尺寸的矩阵,进而进行操作.从MATLAB R2007a开始

Matlab 最小二乘法拟合非线性函数

1.最小二乘原理 参考资料: 1.http://blog.csdn.net/lotus___/article/details/20546259 2.http://blog.sina.com.cn/s/blog_5404ea4f0101afth.html 2.matlab实现最小二乘法 利用matlab的最小二乘拟合函数对非线性函数进行拟合,具体地拟合的函数: [q r] = lsqcurvefit(fun, q_0, xdata, ydata);输入参数:fun:需要拟合的函数,假定有n个需要拟

Matlab调用C语言函数

Matlab调用C语言函数 如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数:double add(double x, double y) { return x + y ;}现在我想要在Matlab中使用它,比如输入:>> a = add(1.1, 2.2)                                                     3.3000要得出以上的结果,那应该怎样做呢?解决方法之一是要通过使用MEX文件,MEX文件使得调用C函数和调用Matl

python实现类似于Matlab中的magic函数

参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵. #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np def magic(n): row,col=0,n//2 magic=[] for i in range(n): magic.append([0]*n) magic[row][col]=1 for i in range(2,n*n+1): r,l=(row-1+n)%n,(col+1)

在Inspector 中 设置添加回调函数 - Unity3d编辑器扩展

在做一些开场动画或者其它指定事件触发 一类功能时,需要在编辑环境下设置添加回调函数. 一开始尝试直接使用delegate 来编写,测试发现没有效果,在谷歌搜索到Unity论坛有人提到 delegate 不能被序列化到Inspector 中使用,建议使用 UnityEvent . UnityEvent ,其实在UGUI中经常用到,只是平时不知道是它. 比如按钮的点击事件就是 直接从 UGUI Button 的源代码中搬运出来. 先提供一个带有 UnityEvent 的类 TimeEventPlug

R语言笔记 R中设置图形参数--函数par()详解

R有着非常强大的绘图功能,我们可以利用简单的几行代码绘制出各种图形来,但是有时候默认的图形设置没法满足我们的需要,甚至会碰到各种各样的小问题:如坐标轴或者标题出界了,或者图例说明的大小或者位置遮挡住了图形,甚至有时候默认的颜色也不能满足我们的需求.如何进行调整呢?这就用到了"强大"的函数par().我们可以通过设定函数par()的各个参数来调整我们的图形,这篇博文就是对函数par()的各个参数进行一下总结. 函数par()的使用格式如下: par(..., no.readonly =

自己编写的一个Cookie设置与获取函数

自己编写的一个Cookie设置与获取函数,大家有什么感觉需要改进的地方,请告知与我,我一定虚心接受. Code: 1 function setCookie(name,value,time){ 2 if(name){ 3 var date = new Date(); 4 if(time){ 5 var lastword = time.slice(-1); 6 switch(lastword){ 7 case 'd' : date.setDate(date.getDate()+parseInt(ti

Matlab设置Legend横排、分块

高级用法1:指定legend显示的位置: legend({'str1','str2','strn'},'Location','SouthEast'); 比较鸡肋,画好图后树手动拖动就好了 高级用法2:指定显示某几条曲线的legend: 例如你有25条曲线,想显示其中1,6,11,16,21的legend H = plot(data); legend(H([1 6 11 16 21],'1,'6','11’,'16','21'); 高级用法3:legend横排 hl = legend(H([1 6

UIView 设置alpha后, 子view也随着变化alpha, 解决方法

//        _closeContainerBar.alpha = 0.7; [_closeContainerBar setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.7]]; UIView 设置alpha后, 子view也随着变化alpha, 解决方法