手把手教你自动绘制二元函数图像
手把手教你自动绘制二元函数图像
一、引言
二元函数的图像通常表现为一张空间曲面;根据其表达式“Z=F(X,Y)”,给定X、Y两个方向的坐标值就可以计算出唯一的高度Z。举个最简单的例子——比如说函数“Z=X·Y”:
- 当X=1、Y=-2时,代入可得Z=-2;
- 当X=-3、Y=4时,代入可得Z=-12;
- 当X=0或Y=0时,代入可得Z≡0……
以此类推,每一组(X,Y)都对应着空间中的一个点——把所有枚举出的散点连接成光滑的曲面,就可以得到函数的图像了√
二、思路
然而就是这样一个简单的操作,我却翻遍全网都没能找见一种方法在三弟动画软件儿中实现——就连支持程序化建模的插件儿们也无计可施,搞得好像只有MATLAB才能做到似的。幸运的是,C4D里有个类似的功能叫“置换”:只要为其赋予黑白渐变的深度图,置换效果器就能自动作用在平面上;将黑色视作低谷、白色视作高峰,使平面具有高度差距——这就实现了从亮度映射到高度的关联。
这个思路妙啊!既然如此,只要在二维平面上根据(X,Y)坐标生成亮度不同的灰色像素不就大功告成了?
三、映射
话虽如此,黑白渐变的深度图又该怎么做呢?躺在床上的我辗转反侧,试图从脑中检索出一种把数字转换为颜色的方法……等等!这不就是EXCEL里的“条件格式”吗?
新建一张XLS表格儿,全选单元格儿并将行列宽高统一成正方形;然后在第一行、第一列分别从左向右、自下而上地生成-10至10的数字序列作为X、Y坐标轴——这里我取0.1的精度向下、向右填充,把定义域分割成200*200个格子的矩阵;紧接着,在第一个单元格里输入函数的表达式,引用第一行、第一列的坐标值并分别按两次和三次“F4”添加标记为“$”符号儿的半绝对引用以锁定“1行”和“A列”避免其在填充过程中被移动到其他位置,再将其填满整张表格儿——这样每个位置就都写入对应的Z值了!接下来,选中所有40000个格子并为之添加“条件格式”下的“色阶”、自定义规则为黑白渐变,一张用颜色代表函数值相对大小的渐变深度图就跃然于眼前了~
我们截图保存这个方块儿,准备将其导入C4D来使用……
四、置换
在C4D中创建一个平面儿,分段儿数量随意;添加置换效果器作为其子集并加载刚才创造出的深度图作为采样纹理——接下来,就是见证奇迹的时刻!
当然为了美观,你也可以将平面儿和置换二者“连接对象+删除”以合并、然后切换到顶视图用框选工具删除曲面儿四边儿的那圈儿厚度;你还可以勾选边缘线框儿、或者为曲面儿贴上五彩斑斓的黑来加强可视性,这些操作就很基础了……至此,从函数值到色阶、从色阶到高度——经过两次映射,我们的二元函数图像终于新鲜出炉了√
除了本期视频以外,我还拍摄过科技感函数曲线与数学公式动画的制作教程——感兴趣的朋友们可以在@原力总督 这个账号儿的空间中翻阅这两期作品。