MATLAB | 趣味编程——三维彭罗斯三角形可视化
光整复杂画图和算法大家看着也累,这里时不时发点有趣的小程序,这期是绘制一个三维的彭罗斯三角形:
绘制效果
完整代码
就是画几个立方体拼在一起,其中一个立方体削掉一块,啥也不说了直接上代码,反正就几行:
function penroseTriangle
% @author : slandarer
vertex=[0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1];
facet=[1 2 4 3;1 2 6 5;1 3 7 5;2 4 8 6;3 4 8 7;5 6 8 7];
faceColor=[.9,.9,.9];
for i=1:5,patch('Vertices',vertex+[i,3,0],'Faces',facet,'FaceColor',faceColor);end
for i=1:4,patch('Vertices',vertex+[1,3,i],'Faces',facet,'FaceColor',faceColor);end
for i=1:2,patch('Vertices',vertex+[1,3-i,4],'Faces',facet,'FaceColor',faceColor);end
vertex=[0 1 0;0 0 1;0 1 0;0 1 1;1 1 0;1 0 1;1 1 0;1 1 1];
patch('Vertices',vertex+[1,0,4],'Faces',facet,'FaceColor',faceColor)ax=gca;hold on;axis off;light
ax.XLim=[0,6];
ax.YLim=[0,6];
ax.ZLim=[0,6];
ax.DataAspectRatio=[1 1 1];
set(gcf,'Color',[1,1,1])
view(-45.1099,35.3223)
end
至于那个视角-45.1099,35.3223
数值是咋设定的,其实就是鼠标转动调整到合适视角后get(gca,'View')
获取的比较合适的数值,以下展示不同视角的图像:
MATLAB | 趣味编程——三维彭罗斯三角形可视化相关推荐
- 如何用纯 CSS 绘制一个世界上不存在的彭罗斯三角形
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RyvgMZ 可交互视频教 ...
- 28.纯 CSS 绘制一个世界上不存在的彭罗斯三角形
28.纯 CSS 绘制一个世界上不存在的彭罗斯三角形 原文地址:https://segmentfault.com/a/1190000014946883 感想:三个平面图形旋转 HTML代码: < ...
- 前端每日实战:28# 视频演示如何用纯 CSS 绘制一个世界上不存在的彭罗斯三角形...
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RyvgMZ 可交互视频教程 此视频 ...
- 彭罗斯阶梯(Penrose stairs
彭罗斯阶梯(Penrose stairs)是一个有名的几何学悖论,指的是一个始终向上或向下但却走不到头的阶梯,可以被视为彭罗斯三角形的一个变体,在此阶梯上永远无法找到最高的一点或者最低的一点.彭罗斯阶 ...
- AI设计彭罗斯悖论三角教程
今天分享一个彭罗斯悖论三角,先来解释下意思, 彭罗斯阶梯(Penrose stairs)是一个有名的几何学悖论,指的是一个始终向上或向下但却无限循环的阶梯,可以被视为彭罗斯三角形的一个变体,在此阶梯上 ...
- 学术-物理:彭罗斯楼梯
ylbtech-学术-物理:彭罗斯楼梯 彭罗斯阶梯(Penrose stairs)是一个有名的 几何学悖论,指的是 一个始终向上或向下但却走不到头的阶梯,可以被视为 彭罗斯三角形的一个变体, 在此阶梯 ...
- python三维建模_3D One 2.5引爆新思维,用趣味编程来实现3D建模!
原标题:3D One 2.5引爆新思维,用趣味编程来实现3D建模! 3D One2.5正式版终于和大家见面啦!新版本全新推出趣味编程,让3D模型也能通过编程逻辑来完成,丰富你的创新想象力.这给有计划开 ...
- 在Matlab下编程实现二维与三维的航迹跟踪控制、路径跟踪控制和轨迹跟踪控制,实现编队集群控制与避障控制
在Matlab下编程实现二维与三维的航迹跟踪控制.路径跟踪控制和轨迹跟踪控制,实现编队集群控制与避障控制. 研究对象有空中无人机.地面机器人.水面无人艇.水下机器人以及多智能体等. ID:321006 ...
- matlab充分利用性能,Matlab高性能编程——代码优化和并行计算
Jeremy Lin @HQU Update: 2014/4/29 Matlab代码优化 Matlab是一种高级计算机语言,同时也是一个用于算法开发,数据可视化,数据分析和数值计算的交互式工作环境. ...
最新文章
- Linux下MySQL的字符集乱码问题总结
- CollegeStudent
- 香蕉派安装64位linux,在香蕉派里安装配置archlinux到树莓派
- 大话数据结构21 :关键路径
- Eigen+suitesparse for windows 安装
- python程序设计实践教程答案-Python程序设计实践教程
- 计算机应用技术基础教案,计算机应用技术基础实训教案.doc
- 【Hadoop代码笔记】Hadoop作业提交之客户端作业提交
- 正则表达式学习笔记003--问号和加号的认识与应用
- 今日头条面试题——LRU原理和Redis实现
- golang:map转json字符串
- (附源码)springboot超市仓库管理系统 毕业设计164555
- 原子结构示意图全部_所有原子结构示意图(1-118号)最新元素周期表
- 约瑟夫环问题java_Java求解约瑟夫环问题
- Mac操作系统下怎么显示隐藏文件
- Linux各目录及每个目录的详细介绍
- 添加离线地图服务(搭建内网地图服务)
- 数据分析八大模型:OGSM模型
- 2022-01-24 工作记录--CSS-TweenMax动画效果
- 完美陌生人百度云资源