Rhino3D犀牛中文网
标题:
【GH基础教学】用大小圆拼成图片
[打印本页]
作者:
admin
时间:
2014-11-28 23:47
标题:
【GH基础教学】用大小圆拼成图片
本帖最后由 深蓝 于 2014-11-28 23:57 编辑
这是最近一位朋友提出的问题,之前也有遇到过相似的提问,所以写个简单的教学,效果如下图。
要做这个效果,首先要准备一张图片,然后利用GH获取到该图片上的颜色信息,再进一步做其他操作。
因此要用到
Image Sampler 运算器
,双击这个运算器,加载一张图片即可,其他参数不做更改。
默认的图片采样范围 X Y均为
0~1
如何从图片上获取数据,这时候需要用到
MD Slider 运算器
,这是一个多维度滑块,默认的X Y 取值范围也为
0~1
将这两个运算器连接起来,因为它们有相同的取值范围(区间),这样通过调整滑块的数值,就可以获取图片上的颜色信息,下图中获取到的是这张图片某处的
RGB值
(默认类型)
将采样通道类型切换为
颜色亮度通道
,获取到的将是这张图片某处的亮度信息。
通过改变滑块的位置不难发现,图片上越亮的区域,获取到的数值越大,反之越小,这个值介于
0~1
之间。
熟悉了
Image Sampler 运算器
的基本用法以后,就可以将它应用在这个小练习中。
下面介绍下我的思路。
确定圆心的位置-->创建圆-->根据图片的信息对这些圆半径做更改
1.做一张400*200的图(长宽比根据具体图片来定),那么我就需要在一个400*200的长度范围内确定圆心的位置,使用
Square 运算器
,每个小方块边长为
4
,点阵总长宽为
400*200
,如下图所示:
为了方便观察,我将图片插入到Rhino的视窗中(指令:
PictureFrame
),尺寸调节为
400*200
. 可以看到这组正方形矩阵的位置。
2.从
Square 运算器
右侧
P
输出的点阵可以作为圆心
假设,我们先不对圆做缩放处理,那么圆最大的半径就是小方块
边长的一半
,后期在这个圆的基础上再做调整即可
效果如下图:
3.把
Image Sampler 运算器
与点阵连接,输出与点阵 数据结构一致的 亮度值,即
一个点对应一个亮度值
,如下图:
4.将图片采样的范围值修改,范围最大值与点阵总尺寸一致即可,即
X 0~400 Y 0~200
5.我们可以将采样输出的亮度值
作为缩放比
,对圆做缩放处理,做法是直接
将这些数值与第2步圆的半径相乘
,如下图所示:
效果如下图:
6.很明显这个效果不好,图片上越接近白色(越亮)的区域,圆的缩放量应该越大,所以可以用
1
减去缩放比, 即可反转。
再将小方块的边长设置小一点,这样最终效果会明显。
效果如下图:
最后我们还可以根据图片给这些圆对应的颜色,这一步很简单,就不讲解了。
请尝试,假如第4步中将图片采样的范围值设置成其他(比如 0~100),效果怎样,如下图所示:
贴图方式默认为平铺模式,得到的结果:
请思考下
,这个值不改行不行,保持默认的0~1,因为每次修改图片尺寸,还得修改采样的范围,很麻烦。
图片
,
朋友
,
教学
,
如何
,
通道
本主题由 Dixon 于 2017-4-3 20:55 移动
作者:
admin
时间:
2014-11-29 08:50
很详细啊~~~
作者:
admin
时间:
2014-11-29 17:57
干货呀。谢谢深蓝版大呀~~~~
作者:
admin
时间:
2014-12-1 12:51
学习学习!
作者:
admin
时间:
2014-12-8 16:07
老师,如何赋予相应的颜色啊,我不知道,以前有相关的帖子么?请多指教
作者:
admin
时间:
2014-12-8 19:46
可以提供程序吗
作者:
admin
时间:
2015-8-2 17:55
在这个教程的基础上怎样把小于一个半径的圆全部去掉
作者:
admin
时间:
2015-8-3 09:08
很好,很详细,谢谢版主,你辛苦了。
作者:
admin
时间:
2016-12-7 15:36
谢谢楼主分享,太强大
欢迎光临 Rhino3D犀牛中文网 (https://rhino3d.asia/)
Powered by Discuz! X3.3