多语言展示
当前在线:801今日阅读:23今日分享:25

Mathematica基础——给几何图形贴上花纹

本文,介绍一下怎么用Mathematica的Texture函数,为图片加上指定的花纹。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

首先,准备一个图片,并准备在该图片上选取纹路作为粘贴的目标!其实,这个“纹路”,类似于PhotoShop里的“笔刷”功能!不懂PhotoShop的朋友,请忽略我这句话!

2

画一个三角形。

3

然后,给这个三角形贴上第一步里面的花纹。

4

观察发现,花纹被压扁了,跟原先图片里的纹路不符。其实,我更喜欢标准的正三角形纹路,不乐意见到她被压扁!这就要了解VertexTextureCoordinates。我们给定的图片必定是一个长方形,但是当Mathematica把这个图片转化为纹路(Texture[图片])之后,系统会把这个长方形压缩为一个边长为1的正方形,四个顶点的坐标依次是{0, 0}, {1, 0}, {1, 1}, {0, 1}。为此,可以验证一下,先观察纹路图片的长度与宽度的比值:

5

观察得知,纹路图片的长度与宽度的比值为4:3,再用VertexTextureCoordinates 指定选取纹路的区域——{{0, 0}, {3/4, 0}, {0, 1}},此时的运行结果里面的纹路没有被压缩!

6

如果我们改变三角形的形状,会发生什么?这里把三角形Polygon[{{0, 0}, {1, 0}, {0, 1}}改为Polygon[{{0, 0}, {1, 0}, {0, 2}},看看纹路会发生什么变化。事实上,纹路被拉长了。纹路就是一个橡皮胶,伸缩自如。

7

再来做几组实验,以便更好地理解这段代码!

注意事项
1

这个代码确实有点不容易理解,大家如果要绘制复杂的图形,要谨慎使用这段代码!

2

可以多做实验,这样有助于更深入的理解!

推荐信息