当前课程知识点:Grasshopper参数化设计与建模 >  第九章 Kangaroo物理模拟 >  9.4 CirclePacking >  9.4

返回《Grasshopper参数化设计与建模》慕课在线视频课程列表

9.4在线视频

下一节:9.5

返回《Grasshopper参数化设计与建模》慕课在线视频列表

9.4课程教案、知识点、字幕

这一节讲解了一个案例

CirclePacking

最后再给大家介绍一个

使用kangaroo来实现

circlepacking的案例

所谓circlepaking

就是用很多的圆在一个表面上进行堆积

尽量紧密地让这些圆组合在一起

形成特殊的这种图案

我们来到rhino

和grasshopper的界面

我在这里已经做了一个曲面的形态

然后把它拿到grasshopper里面来

我们可以使用vector里面的

populate geometry

在上面生成若干这个随机分布的点

我们可以在kangaroo2里头

找到这个运算器

它是什么

它可以让很多的object

很多的物体

按照一定的半径

一定的radius

相互堆积在一起

可以做这样的一种物理的模拟

实际上是一种碰撞模拟的效果

我们把这里的点给它输入到object上面去

然后这里有一个缺省的值是1

我们先不修改它

然后把这些点

给它吸附到一个表面上去

我们这里用基础的曲面做mesh

然后把这些点输入过去

注意这里需要输入的是一个mesh

它实际上

这里的surface做了一个强制类型转换

我们下面把bouncysolver挪过来

我们把这两个物体

这两个goal object

都输入到bouncysolver里面去

现在我们如果在这里的count

点的数量

我们可以增加到一个200的数量

可以把这个slider改一下

它的上限改到200

不要太多

然后用一个botton

来重启这样一个模拟的过程

我们看一下这些点已经开始有些运动

我们可以把这里的半径给它增加一点

让这些点更密集

我们看到

点就会在曲面上

自己去找位置、找平衡

把前面的输入关掉

这个曲面可以预览打开

我们看一下

这样一个优化的结果

在右边

我们可以输入

利用这里的输出

这些点的输出

去找一下它们在曲面上相应的位置

用cp

这是我们的surface

这边是点

找到最近点

找到曲面上的最近点

然后在这里用evaluate surface的方法

找到曲面上的

其实我们可以在这里双击得到一个节点

然后就把这个数据分开

然后把uv坐标接上去

点所对应的曲面上的uv坐标接上去

这样这边就得到了相应的点

它的法线方向和一些切线的方向

我们在这里construct一个plane

用这里的点作为原点

然后u和v分别作为x和y

然后在这里再画上一个circle

大家看到这是现在的一个效果

我们可以把这边输入的点的半径接上来

我们就会看到实际的结果是

我们在这个曲面上分布了200个圆

这些圆的半径大概是1.68的样子

是一个满铺的状态

这就是我们说的circlepacking的效果

我们可以用一个toggle

先暂停一下这样一个模拟

我们先让它随机地生成点

reset以后

然后我们启动circlepacking的模拟

就得到这样的效果

当然

我们也可以去生成一系列随机的半径

我们可以用random

运算器来生成200个随机数

这里的半径的范围我们可以用

一个domain把它构造出来

用两个slider去构造它的

半径的下限和上限

这时候的下限可以是一个比较小的数

上限可以稍微大一些

构造出来的半径去替换这里的radius

同样替换右边画圈用的半径

现在是这样一个效果

我们reset一下

先把模拟暂停下来

然后reset一下

大家看到是这样一种杂乱的分布

然后我们让它去运转

这个程序就自动地生成了

这样一种分布

大家现在也许觉得还不够紧密

就可以去增加这里半径的大小

再大一点这些圆就会有些重叠

再小一点它们就会是一种相对松散的状态

这时候我们可以把其他的预览都关掉

然后看一下

这样一个circlepacking在曲面上

满铺大小不同的圆的效果

总结一下这个案例的步骤

首先使用Populate Geometry运算器

在曲面上生成

分布均匀的点

接下来

使用Kangroo中的Collider和OnMesh

将点约束在曲面上

第三步

通过Kangroo的动态模拟

生成曲面上满铺的圆环

最后

我们尝试添加随机半径

调整CirclePacking的效果

Grasshopper参数化设计与建模课程列表:

第一章 参数化设计简介

-1.1 参数化设计简介

--1.1

--模型文件

第二章 Grasshopper简介

-2.1 Grasshopper简介

--2.1

-2.2 Grasshopper界面与基本操作

--2.2

-2.3 Bake与Internalize Data操作

--2.3

-第二章习题--作业

第三章 Grasshopper基本数据类型

-3.1 Math运算器

--3.1.1

-3.2 点与向量

--3.2.1

--3.2.2

-3.3 Grasshopper曲线运算器

--3.3.1

--3.3.2

-3.4 Grasshopper曲面运算器

--3.4.1

--3.4.2

-3.5 案例:水波

--3.5

-3.6 案例:螺旋曲面

--3.6

-第三章习题--作业

第四章 Grasshopper数据结构(一)

-4.1 Grasshopper数据结构基础

--4.1

-4.2 数据流匹配

--4.2

-4.3 Dispatch运算器

--4.3.1

--4.3.2

-4.4 案例:项链

--4.4.1

--4.4.2

--4.4.3

-第四章 Grasshopper数据结构(一)--第四章习题

第五章 Nurbs曲线与曲面建模

-5.1 Nurbs原理简介

--5.1

-5.2 Nurbs建模演示

--5.2

-5.3 Evaluate操作

--5.3

-5.4 由点建立曲线

--5.4

-5.5 Nurbs与向量

--5.5.1

--5.5.2

-5.6 案例:凤凰中心曲线环廊

--5.6.1

--5.6.2

-5.7 案例:鸟巢表皮钢结构

--5.7.1

--5.7.2

-第五章习题(一)--作业

-第五章 Nurbs曲线与曲面建模-- 第五章习题(二)

期中大作业

-期中作业:工艺品设计

--期中作业

第六章 Grasshopper数据结构(二)

-6.1 Grasshopper树状数据结构(1)

--6.1.1

--6.1.2

--6.1.3

-6.2 案例:2016年BIG事务所蛇形画廊

--6.2.1

--6.2.2

-6.3 Grasshopper参数化表皮

--6.3.1

--6.3.2

-6.4 案例:凤凰中心表皮结构

--6.4.1

--6.4.2

-第六章 Grasshopper数据结构(二)--第六章习题

第七章 Grasshopper建模技巧

-7.1 Image Sampler

--7.1.1

--7.1.2

-7.2 案例:望京soho表皮

--7.2

-7.3 Vironoi运算器

--7.3

-7.4 Metaball运算器

--7.4

-7.5 参数化设计在大型项目中的应用案例-“红飘带”景观装置

--7.5

--第七章 Grasshopper建模技巧--第七章习题

第八章 Mesh建模基础

-8.1 Mesh原理

--8.1

-8.2 SubDivision与银河Soho案例

--8.2

-8.3 地形建模

--8.3

-8.4 面板划分:以银河soho为例

--8.4.1

--8.4.2

-第八章 Mesh建模基础--第八章习题

第九章 Kangaroo物理模拟

-9.1 Kangaroo插件简介

--9.1

-9.2 悬链线

--9.2.1

--9.2.2

--9.2.3

--9.2.4

-9.3 张拉膜,充气膜与可受弯面

--9.3.1

--9.3.2

-9.4 CirclePacking

--9.4

-结语

--9.5

-第九章 Kangaroo物理模拟--第九章习题

期末作业

-期末作业: 综合运用

--期末大作业

9.4笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。