×

工业设计互动平台

手机短信,快捷登录

微信登录,快人一步

QQ登录

只需一步,快速开始

来源:rhino3d
作者: Jessesn
==================================

这是最近一位朋友提出的问题,之前也有类似的提问,Shaper3d论坛版主深蓝写了一个简单的教学,效果如下图。



要做这个效果,首先要准备一张图片,然后利用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,因为每次修改图片尺寸,还得修改采样的范围,很麻烦。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩回复

文明上网理性发言、请文明用语

jdtd002 | 实习生 | 发表于 2017-10-22 12:28:39
希望可以用些时间了~````
0 回复

举报

jdtd002 | 实习生 | 发表于 2017-10-28 21:37:10
(*^__^*) 嘻嘻……
0 回复

举报

ytryrerte | 实习生 | 发表于 2018-4-30 01:32:07
之前也有类似的提问
0 回复

举报

yuddfhfd | 实习生 | 发表于 2018-4-30 01:56:09
获取到的将是这张图片某处的亮度信息
0 回复

举报

推荐学习