当前课程知识点:Grasshopper参数化设计与建模 > 第七章 Grasshopper建模技巧 > 7.1 Image Sampler > 7.1.1
返回《Grasshopper参数化设计与建模》慕课在线视频课程列表
返回《Grasshopper参数化设计与建模》慕课在线视频列表
在第七章,我们将给大家介绍一些
Grasshopper当中的常用的建模技巧
7.1节,我们将给大家讲解的是
ImageSampler 这样一个可以将图像的信息
转化为建模参数的工具
我们将介绍ImageSampler运算器的使用方法
以及
使用ImageSampler运算器
生成参数化表皮的编程逻辑
同学们大家好
在这一章呢
我们给大家介绍一些
在参数化建模当中
常用的一些小技巧
说是小技巧呢
其实它们是一些相对特别的建模工具
但是在日常的建模工作当中
还是非常有用的
我们要介绍的第一个工具呢
是在params底下的这个
叫image sampler
或者我们输入image sampler
这样一个工具
image sampler它有什么样的作用呢
它能够帮助我们把一张图片
里面的信息转化成一个参数化的表皮
那么我们双击image sampler
我们看到这里可以选择一个图片
我们选择这张柯布西耶的图片
那么在这里我们可以设定
在image sampler里面可以设定
x的范围是从多少到多少
y的范围是从多少到多少
比如说我们x方向是1到10
y方向也是1到10
同时注意我在这里选择
输出的是colour brightness
也就是输出一张黑白图片的信息
Ok那么有了这张图片以后
我们现在vector底下我们看到
在Grid底下有
grasshopper给我们提供了生成各种
网格的工具
比如说我们选择这个square
square是生成像这样的网格
就是x方向和y方向
都是这样间距相同的
这样的方形的网格
好 那么我们在Ex Ey这里
输入一个slider 让它是10
这样我们就得到了很多的点
我们看一下
就是这些网格上的点
那么这些点的范围正好是
因为我们现在的网格的间距是1
所以如果输入10乘10呢
它得到的范围正好是0到10
x方向是0到10 y方向也是0到10
所以这个网格呢跟我们刚才在
image sample里面设定的
0到10的范围是一致的
我们把这个点输入过来
那么在右边就会得到什么呢
我们看一下
它会得到一系列的灰度值
我们说就是照片的亮度值
好 那么这样我们在这里
画上一个circle
画上一个圆圈
这个圆圈我们让它的起点
它的圆心点是一开始设定的这些点
就是从square SqGrid上面得到的这些点
然后我们把这里取到的灰度值
作为半径输入进去
我们看一下这样的话
我们就生成了一个
由这些圆组成的图案
当然现在这些圆的半径有点大
我们可以给它乘上一个slider
然后再去作这个半径
那么大概就能看到一个
在这里有的一个图案
当然现在还不是很明显
是因为我们说这里的网格的细分还不够
就是它的分格数还太少
所以我们可以增加它的分格数
比如说这里我们输入100
那么现在的结果是这样
相应的
我们其实应该在image sampler里面
把这里的范围也变成0到100
好 这样的话我们就看到了
这个柯布西耶的头像
所以image sampler
它可以帮我们做的事情
是把一张图片里的色彩信息
或者灰度信息提取出来
然后变成一个图案
这个图案是我们
经常用到的一种设计思路
就是把照片或者把图像
转化成一个用很多元素堆积起来的
一个参数化表皮
我想大家很快就会发现这里的问题
我们这里输入的是
x方向和y方向都是等长的
或者是数量相同是方形网格
而这张图片它本身不是一个
1比1 的比例
长宽比不是1比1的比例
我们如果把鼠标放在这里
我们会看到这张图片是297*374像素
所以在这里
我们应该把这张图的
把它的长宽比做一个校准
所以在这里
我们可以做的事情是
输入一个division
然后上面这里我们用一个panel
输入374
就是它的y坐标 y方向的尺度
再看一下 374
然后它的x方向是297
我们算一下这个比例会得到这个数
这个数是1.259
所以我们应该在这里呢
对这个x输入的100
不管是多少
我们要让它乘上这个比例
从而得到y方向的我们需要的尺度
所以x方向是100 y方向就是126
但是看起来仍然没有解决
我们想要解决的问题
我们看到在这里
这个图片上面是我们得到的结果
在比例上已经符合这个图片的比例
但是这个图片的内容仍然是被压缩的
这是为什么呢
是因为我们在image sampler里面
还是0到100和0到100
如果我们在y方向输入126
我们大家看到这样的结果
就是正常的结果了
当然这种做法其实呢它不是很有效
因为我们要经常去修改这里图片的
对应的这个比例
所以如果我们用缺省的图片的
就是我们做一个image sampler
我们还用柯布西耶的这张图
我们保持它是0到1的范围不变
如果我们在外面编程序的时候
我们去实现坐标的校准可不可以呢
实际上是可以的
在这里我们先把这边的结果
把它的预览关掉
然后我们把这边的
这部分程序拷贝下来
用这些点呢
我们准备接入到这里去
但是大家看到这里的点的范围
其实是一个比较大的范围
所以我们需要对这里构造出来的
这个点阵做一个缩放
另外我们也注意到
如果是在vector里面
我们用这里的grid
来生成不同的网格的时候
比如说我们生成这个六边形的网格
或者是生成三角形的网格
那么得到的这个点阵的长宽比
虽然我们在x和y这里
输入的我们看到它的缺省值都是5
但是当我们输入相同的x和y方面的
数据的时候
得到的点的分布的范围却是不一样
比如我们这里输入pt 看一下这些点
它的范围
实际上并不是一个等比例的关系
并不像我们前面用到的
这个方形网格的关系
所以我们也需要在计算参数的时候
考虑到这个因素
所以下面我们要带大家做一个
通用的解决方案
我们先把三角形网格删掉
然后基于这个六边形网格
来做我们的通用解决方案
现在我们可以在x和y这里
输入一个比较大的数
比如说50
到一个很大的六边形grid
生成这个grid的目的是为了
我们去测量一下它到底
x方向和y方向的比例是什么样的
这个时候我们会用到一个运算器
叫bounds 2D
所以我们把这些点给它之后
当然这里要做一个flatten
我们看到这个数据是一个复杂的路径
这些点是分布在不同的路径上
所以我们在这里做一个flatten
之后我们就会这些点在空间中的分布
在u方向也就是x方向是0到73.5
在v方向也就是y方向是0到85.7
我们把这个数据解开
那么还是在domain底下有一个
deconstruct domain
2D的domain
我们把它解成u方向和v方向的两个范围
接下来我们再把它进一步地分解
用deconstruct domain
就得到了这个范围的起点和终点
然后去计算一下它的宽度
就是这个domain 它的宽度
用subtraction 就是减法
用终点减去起点就得到了73.5
同样我们可以对v方向也就是y方向
做这样的减法
得到了另外一个方向的尺度
-1.1 参数化设计简介
--1.1
--模型文件
-2.1 Grasshopper简介
--2.1
-2.2 Grasshopper界面与基本操作
--2.2
-2.3 Bake与Internalize Data操作
--2.3
-第二章习题--作业
-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
-第三章习题--作业
-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数据结构(一)--第四章习题
-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曲线与曲面建模-- 第五章习题(二)
-期中作业:工艺品设计
--期中作业
-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数据结构(二)--第六章习题
-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建模技巧--第七章习题
-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建模基础--第八章习题
-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物理模拟--第九章习题
-期末作业: 综合运用
--期末大作业