该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

请问,在只能利用三维投影变换矩阵的前提下,如何用MATLAB画出满足投影关系的三视图?

目前小弟还只是画出了三视图,立体图,但是侧视图和俯视图不满足投影关系,求大佬指教。

下面是MATLAB代码及运行结果:

close all

>> clear all

>> v=[0 0 0;

70 0 0;

70 40 0;

0 40 0;

70 0 10;

70 40 10;

30 40 10;

30 10 10;

55 10 10;

55 0 10;

19.376 30 27;

19.376 40 27;

0 40 27;

0 30 27;

55 0 42;

55 10 42;

10 10 42;

10 30 42;

0 30 42;

0 0 42];%构建顶点表

f=[1 2 3 4 1 2;

1 2 5 10 15 20;

2 3 6 5 2 3;

3 4 13 12 7 6;

4 13 14 19 20 1;

5 6 7 8 9 10;

10 9 16 15 10 9;

9 8 17 16 9 8;

8 7 12 11 18 17;

11 12 13 14 11 12;

11 14 19 18 11 14;

15 16 17 18 19 20];%构建面表

>> subplot(2,2,4);

>> patch('faces',f,'vertices',v,'FaceColor','b');

view(120,30)

axis equal

axis off

>> title('立体图')

>> %1.画三视图

T1=[1 0 0 0;

0 0 0 0;

0 0 1 0;

0 0 0 1];%构建变换矩阵;

x=[1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1];

c=[v,x];

v1=c*T1;

v1(:,4)=[];

>> subplot(2,2,1);

>> patch('faces',f,'vertices',v1,'FaceColor','b');

view(30,30)

axis tight

patch('faces',f,'vertices',v1,'FaceColor','b');

view(180,30)

axis tight

axis off

>> title('正视图')

>>

T3=[0 0 0 0;

-1 0 0 0;

0 0 1 0;

0 0 0 1];

v3=c*T3;

v3(:,4)=[];

>> subplot(2,2,2);

>> patch('faces',f,'vertices',v3,'FaceColor','b');

view(30,30)

axis tight

>> patch('faces',f,'vertices',v3,'FaceColor','b');

view(180,30)

axis tight

axis off

%侧视图

>> title('侧视图')

>> T2=[1 0 0 0;

0 0 -1 0;

0 0 0 0;

0 0 0 1];%构建变化矩阵

v2=c*T2;

v2(:,4)=[];

>> subplot(2,2,3)

>> patch('faces',f,'vertices',v2,'FaceColor','b');

view(30,30)

axis tight%俯视图

>> patch('faces',f,'vertices',v2,'FaceColor','b');

view(0,150)

axis tight

axis off

%俯视图

>> title('俯视图')

运行结果如下:

matlab图像的主视图,求助大佬【如用MATLAB实现满足投影关系的三视图】相关推荐

  1. 二值图填充原理 matlab,图像Ostu二值化原理及matlab实现代码

    Ostu假设图像是由前景区域和背景区域两部分组成的,通过遍历计算不同阈值(通常为[0 255]区间范围内)下分割结果中前景区域和背景区域的灰度直方图,然后比较两者之间的方差,使得方差最大化的那个灰度阈 ...

  2. matlab图像导数求积分_第二讲matlab求微分方程导数积分

    第二讲matlab求微分方程导数积分 第二讲 导数与微分方程 一.实验内容 1.实际引例 (牛顿冷却模型)警察上午9点钟发现一被谋杀者,并测得尸体温 度为32.4℃,一小时以后,尸体的温度变为31.7 ...

  3. matlab 图像 热量图,请问,怎样用MATLAB把一幅图像的傅里叶变换后的能量分布图做出来?...

    匿名用户 1级 2014-05-02 回答 内·冈萨雷斯的图像处理解释很形象:一个恰当的比喻为傅立叶变换的玻璃棱镜.棱镜可以是光被分解成不同颜色的物理设备中,每个组件的颜色由波长(或频率)来确定. 傅 ...

  4. matlab怎么标注极限,求助注释一段MATLAB极限腐蚀程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear, close all ;clc; FileName=['钢筋图片.bmp'] A11=imread(FileName); B=ones(3); ...

  5. matlab顺序消元法例题,求助,关于用matlab解列主元消去法的题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给定一个n阶线性方程组Ax=b,其中A的元素aij(i,j,=1,-,n)与阶数为:aij=(i+j-1)2, n=3,4,5,-,9; 这是我所编的程序 ...

  6. matlab计算阶乘,紧急求助:怎么用matlab计算1000的阶乘啊?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我又试了一下,第一行错了, 应该是:x=sym(1) 祝好运. 结果是: 4023872600770937735437024339230039857193 ...

  7. matlab 报错 javax,[求助]安装报错,求大佬帮忙

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 mathworks_迦南.log: 安装文件夹: C:\Program Files\MATLAB\R2018b 安装大小: 2,464 MB 产品: MA ...

  8. matlab 把图像变成二维的,matlab图像怎么变成二维矩阵

    求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...

  9. matlab图像融合评价,MATLAB 图像融合评估算法

    MATLAB 图像融合评价算法 function laplacian(ori_A,ori_B) path(path,'FusionEvaluation/') %Ori_A = imread('cloc ...

最新文章

  1. python登录网页账号密码_python03网页用户名密码登录
  2. for 循环里调用ajax,for循环中ajax异步问题如何解决?
  3. 安卓错误Emulator: error: x86 emulation currently......
  4. Linq to objects示例
  5. 改:今天看到的一个有趣面试题:return *this和return this有什么区别?
  6. java常用的缓存_java 常用缓存 - 只对肉有感觉的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. android类似QQ空间,微信朋友圈,微博主页源码
  8. Scala class
  9. 注册表把html设置成桌面,[注册表] 将Windows 10默认应用程序设置页面添加到桌面右键菜单中...
  10. Linux系统Bash的常用功能(9)
  11. 使用 Time Machine 恢复 .ssh等隐藏文件夹
  12. 使用web3和infura开发以太坊ethereum区块链
  13. 《机器学习实战》学习总结(三)朴素贝叶斯在文本分类的应用
  14. .Net 的 Web 项目中 关于TreeView 的 checkBox 的操作……
  15. tensorflow之tfrecord
  16. 老李分享云计算基本概念 2
  17. 海康Ehome协议java开发
  18. 0基础可不可以学大数据
  19. 利用libjpeg库实现jpg与bmp图片互转指南
  20. MongoDB日常运维之用户管理

热门文章

  1. Lock和Synchronized区别
  2. Elasticsearch(六) java代码操作Es进行高级查询match、match_all
  3. go string 转 uint64_如何优雅的使用Go接口?
  4. extjs 获取id的值_Extjs combox获取显示值和ID值
  5. java冒泡排序代码_JAVA
  6. 宿主不能访问本机虚拟机中的web服务器
  7. 手机端滚动屏幕加载更多
  8. java代码中出现乱码怎么解决?
  9. java.lang.IllegalStateException: closed
  10. Eclipse 下如何引用另一个项目的Java文件