把爆球带回来

巴克球提供了一个优雅的图形例子,巴克敏斯特富勒测地线圆顶的连通性。
我们还演示了用Live Editor发布这个博客。在文章的结尾有一个按钮,可以下载实时脚本,这样你就可以在自己的电脑上运行动画。
您可能会在文章的结尾看到第二个按钮,它允许MATLAB Online执行实时脚本,并将结果显示在浏览器中。该功能仍在开发中,在一些浏览器中无法工作。

巴基

该声明
B =巴基;
创建一个稀疏的60乘60矩阵,一个测地线圆顶、一个足球、一个碳60分子或一个截断的二十面体的连接图的邻接矩阵。这些物体都有32个面;其中12个是五边形,20个是六边形。

间谍

这个矩阵的一个视图是它 间谍 图,显示节点和边的逻辑结构。
间谍(B)

要获得其他视图,使用MATLAB图形对象。该声明
图G = (B);
使一个图表 图形本身没有任何几何结构。为了画出它,你指定a 布局 ,或节点的坐标。想出好的布局是一门艺术,也是一门科学。目前有六个可用的布局:'circle', 'force', 'layered', 'subspace', 'force3'和'subspace3'。让我们用“force3”。这将给出三维图的节点和边的位置。由此产生的图像在地球上的任何地方都可以被识别为标准足球或足球。
顺便说一下,我对名称-值对使用了新的赋值操作符语法。
情节(G,布局=“force3”,线宽= 1.5)
广场了

历史

帮助 条目 巴基
巴克敏斯特富勒测地线圆顶的巴克基连通图。
B = BUCKY为的60 × 60稀疏邻接矩阵
球丘连通图,足球,
还有碳60分子。
[B,V] = BUCKY也返回顶点的xyz坐标。
看看代码 巴基
巴基类型
我在30年前写过这个函数,当我们第一次发展稀疏矩阵的时候。差不多有一百行。现在来看,很难看出它是如何工作的。大部分的工作都花在放置顶点上。我们不再需要坐标了。与三维 force3 布局, 图/图 函数可以做到这一点。

像贝克汉姆一样弯曲

在足球上旋转一下会让它看起来更有趣。在两个五边形上放置透明的补丁。
k1 = 1:5;
k2 = 56:60;
颜色= get (0,“defaultaxescolororder”);
P = plot(G, layout=“force3”, markersize=3, nodefontsize=8, line - width=1.5);
补丁(P.XData (k1) P.YData (k1) P.ZData (k1),颜色(2:),facealpha = 0.5);
补丁(P.XData (k2) P.YData (k2) P.ZData (k2),颜色(5:),facealpha = 0.5);
紧方形的vis3d
关闭节点编号。
P.NodeLabel = {};
让她走了。在我的笔记本电脑上,完成这个循环大约需要20秒。动画正在被录制,最终会出现一个回放小部件。
抽搐
nframes = 120;
d = 360 / nframes;
= 0;
e = 0;
帧= 1:nframes
视图(a, e);
A = A - d;
E = E + d;
drawnow
结束
视图(a, e)
toc
运行时间为16.221153秒。

谢谢

感谢Cheng Chen, Bill York和Christine Tobler对这篇文章的帮助。

未完待续

我还没完呢。通过试验这些代码,我学到了很多。我会带着我学到的东西回来。
与此同时,试试吧
  • 增量一个e一个人。
  • 删除vis3d
有些事情需要思考,
  • 你能给两个相对的六边形而不是两个五边形上色吗?
  • 为什么节点标签和颜色有时会交换半球?
  • 半球交换的是bug还是特性?
  • 你是否觉得在动画循环结束后,球仍然在轻微地移动?
|
  • 打印
  • 发送电子邮件

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。