matlab图像的主视图,求助大佬【如用MATLAB实现满足投影关系的三视图】
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请问,在只能利用三维投影变换矩阵的前提下,如何用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实现满足投影关系的三视图】相关推荐
- 二值图填充原理 matlab,图像Ostu二值化原理及matlab实现代码
Ostu假设图像是由前景区域和背景区域两部分组成的,通过遍历计算不同阈值(通常为[0 255]区间范围内)下分割结果中前景区域和背景区域的灰度直方图,然后比较两者之间的方差,使得方差最大化的那个灰度阈 ...
- matlab图像导数求积分_第二讲matlab求微分方程导数积分
第二讲matlab求微分方程导数积分 第二讲 导数与微分方程 一.实验内容 1.实际引例 (牛顿冷却模型)警察上午9点钟发现一被谋杀者,并测得尸体温 度为32.4℃,一小时以后,尸体的温度变为31.7 ...
- matlab 图像 热量图,请问,怎样用MATLAB把一幅图像的傅里叶变换后的能量分布图做出来?...
匿名用户 1级 2014-05-02 回答 内·冈萨雷斯的图像处理解释很形象:一个恰当的比喻为傅立叶变换的玻璃棱镜.棱镜可以是光被分解成不同颜色的物理设备中,每个组件的颜色由波长(或频率)来确定. 傅 ...
- matlab怎么标注极限,求助注释一段MATLAB极限腐蚀程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear, close all ;clc; FileName=['钢筋图片.bmp'] A11=imread(FileName); B=ones(3); ...
- matlab顺序消元法例题,求助,关于用matlab解列主元消去法的题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给定一个n阶线性方程组Ax=b,其中A的元素aij(i,j,=1,-,n)与阶数为:aij=(i+j-1)2, n=3,4,5,-,9; 这是我所编的程序 ...
- matlab计算阶乘,紧急求助:怎么用matlab计算1000的阶乘啊?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我又试了一下,第一行错了, 应该是:x=sym(1) 祝好运. 结果是: 4023872600770937735437024339230039857193 ...
- matlab 报错 javax,[求助]安装报错,求大佬帮忙
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 mathworks_迦南.log: 安装文件夹: C:\Program Files\MATLAB\R2018b 安装大小: 2,464 MB 产品: MA ...
- matlab 把图像变成二维的,matlab图像怎么变成二维矩阵
求:matlab二维直方图图像分割程序.. 我给你个网站``里面的教学很详细~~希望能帮到你~~~~反正里面的软件教程很多``就是不知道有没你要找的``如果有~~给我加分哈``http://tech. ...
- matlab图像融合评价,MATLAB 图像融合评估算法
MATLAB 图像融合评价算法 function laplacian(ori_A,ori_B) path(path,'FusionEvaluation/') %Ori_A = imread('cloc ...
最新文章
- python登录网页账号密码_python03网页用户名密码登录
- for 循环里调用ajax,for循环中ajax异步问题如何解决?
- 安卓错误Emulator: error: x86 emulation currently......
- Linq to objects示例
- 改:今天看到的一个有趣面试题:return *this和return this有什么区别?
- java常用的缓存_java 常用缓存 - 只对肉有感觉的个人空间 - OSCHINA - 中文开源技术交流社区...
- android类似QQ空间,微信朋友圈,微博主页源码
- Scala class
- 注册表把html设置成桌面,[注册表] 将Windows 10默认应用程序设置页面添加到桌面右键菜单中...
- Linux系统Bash的常用功能(9)
- 使用 Time Machine 恢复 .ssh等隐藏文件夹
- 使用web3和infura开发以太坊ethereum区块链
- 《机器学习实战》学习总结(三)朴素贝叶斯在文本分类的应用
- .Net 的 Web 项目中 关于TreeView 的 checkBox 的操作……
- tensorflow之tfrecord
- 老李分享云计算基本概念 2
- 海康Ehome协议java开发
- 0基础可不可以学大数据
- 利用libjpeg库实现jpg与bmp图片互转指南
- MongoDB日常运维之用户管理
热门文章
- Lock和Synchronized区别
- Elasticsearch(六) java代码操作Es进行高级查询match、match_all
- go string 转 uint64_如何优雅的使用Go接口?
- extjs 获取id的值_Extjs combox获取显示值和ID值
- java冒泡排序代码_JAVA
- 宿主不能访问本机虚拟机中的web服务器
- 手机端滚动屏幕加载更多
- java代码中出现乱码怎么解决?
- java.lang.IllegalStateException: closed
- Eclipse 下如何引用另一个项目的Java文件