光整复杂画图和算法大家看着也累,这里时不时发点有趣的小程序,这期是绘制一个三维的彭罗斯三角形:

绘制效果


完整代码

就是画几个立方体拼在一起,其中一个立方体削掉一块,啥也不说了直接上代码,反正就几行:

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 | 趣味编程——三维彭罗斯三角形可视化相关推荐

  1. 如何用纯 CSS 绘制一个世界上不存在的彭罗斯三角形

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RyvgMZ 可交互视频教 ...

  2. 28.纯 CSS 绘制一个世界上不存在的彭罗斯三角形

    28.纯 CSS 绘制一个世界上不存在的彭罗斯三角形 原文地址:https://segmentfault.com/a/1190000014946883 感想:三个平面图形旋转 HTML代码: < ...

  3. 前端每日实战:28# 视频演示如何用纯 CSS 绘制一个世界上不存在的彭罗斯三角形...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RyvgMZ 可交互视频教程 此视频 ...

  4. 彭罗斯阶梯(Penrose stairs

    彭罗斯阶梯(Penrose stairs)是一个有名的几何学悖论,指的是一个始终向上或向下但却走不到头的阶梯,可以被视为彭罗斯三角形的一个变体,在此阶梯上永远无法找到最高的一点或者最低的一点.彭罗斯阶 ...

  5. AI设计彭罗斯悖论三角教程

    今天分享一个彭罗斯悖论三角,先来解释下意思, 彭罗斯阶梯(Penrose stairs)是一个有名的几何学悖论,指的是一个始终向上或向下但却无限循环的阶梯,可以被视为彭罗斯三角形的一个变体,在此阶梯上 ...

  6. 学术-物理:彭罗斯楼梯

    ylbtech-学术-物理:彭罗斯楼梯 彭罗斯阶梯(Penrose stairs)是一个有名的 几何学悖论,指的是 一个始终向上或向下但却走不到头的阶梯,可以被视为 彭罗斯三角形的一个变体, 在此阶梯 ...

  7. python三维建模_3D One 2.5引爆新思维,用趣味编程来实现3D建模!

    原标题:3D One 2.5引爆新思维,用趣味编程来实现3D建模! 3D One2.5正式版终于和大家见面啦!新版本全新推出趣味编程,让3D模型也能通过编程逻辑来完成,丰富你的创新想象力.这给有计划开 ...

  8. 在Matlab下编程实现二维与三维的航迹跟踪控制、路径跟踪控制和轨迹跟踪控制,实现编队集群控制与避障控制

    在Matlab下编程实现二维与三维的航迹跟踪控制.路径跟踪控制和轨迹跟踪控制,实现编队集群控制与避障控制. 研究对象有空中无人机.地面机器人.水面无人艇.水下机器人以及多智能体等. ID:321006 ...

  9. matlab充分利用性能,Matlab高性能编程——代码优化和并行计算

    Jeremy Lin  @HQU Update: 2014/4/29 Matlab代码优化 Matlab是一种高级计算机语言,同时也是一个用于算法开发,数据可视化,数据分析和数值计算的交互式工作环境. ...

最新文章

  1. Linux下MySQL的字符集乱码问题总结
  2. CollegeStudent
  3. 香蕉派安装64位linux,在香蕉派里安装配置archlinux到树莓派
  4. 大话数据结构21 :关键路径
  5. Eigen+suitesparse for windows 安装
  6. python程序设计实践教程答案-Python程序设计实践教程
  7. 计算机应用技术基础教案,计算机应用技术基础实训教案.doc
  8. 【Hadoop代码笔记】Hadoop作业提交之客户端作业提交
  9. 正则表达式学习笔记003--问号和加号的认识与应用
  10. 今日头条面试题——LRU原理和Redis实现
  11. golang:map转json字符串
  12. (附源码)springboot超市仓库管理系统 毕业设计164555
  13. 原子结构示意图全部_所有原子结构示意图(1-118号)最新元素周期表
  14. 约瑟夫环问题java_Java求解约瑟夫环问题
  15. Mac操作系统下怎么显示隐藏文件
  16. Linux各目录及每个目录的详细介绍
  17. 添加离线地图服务(搭建内网地图服务)
  18. 数据分析八大模型:OGSM模型
  19. 2022-01-24 工作记录--CSS-TweenMax动画效果
  20. 完美陌生人百度云资源

热门文章

  1. 一文弄懂什么是大数据中的OLAP
  2. PSN下载加速相关程序教程(PS3.ProxyServer和PSN DM)
  3. PWA---新生代手机APP
  4. Jmeter使用之——对参数进行加密
  5. 中秋节的来源|创说|故事
  6. 体系结构 第二章习题知识点
  7. fastadmin json形式的数据form表单
  8. 吃透Chisel语言.01.大家Verilog和VHDL用得好好的,为什么要整个Chisel语言出来?
  9. 字体样式,文本样式,背景样式,边框样式,线性渐变,伪类选择器,css权重
  10. 定时器Timer--追赶可执行性