粉丝53获赞507

终于用 python 完成了柏林噪声动画展示效果,今天让我们来继续探索 mini, 用 python 编程来制作这样的三 d 动画,点赞收藏,相信你一定有所收获。话不多说,开始编程, 打开 vs code 之后,将上一次的随机地形文件复制一份,作为我们本次引入柏林噪声地形 copy, 这个可以删除,前面改成四, 还没安装纳米膜的小伙伴可以从合集中找到前面的教程。那我们首先来进行第一步,要使用柏林超声的话,要首先在 python 里面安装柏林超声 p i p install 柏林超声 noise 回车。如果你之前没有安装过的话,接下来下面会显示安装的过程, 我这个地方展示的是我之前已经安装过了哎。 requirement already satisfied 已经安装好了,那怎么使用呢?我们在上面加上一行代码 from 下面柏林噪声这个模块 import 这样一个类,这是我们这一次要用的, 接下来在我们代码的基础之上,哎,这是之前的标题,如果想改的话也可以我们改成柏林噪声地形动画演示。 接下来的改动点其实就是把我们之前用普通的随机数 random 模块生成的高度呢,换成用柏林噪声来生成。那我们首先来促使化一下柏林噪声,它的用法是刚才你 import 进来的这样一个类,促使化一下, 里面呢要填两个参数,我们直接把它填成二或者四都可以。 seed 是 一个种子,如果你填固定的数值,那下一次生成的也是固定的随机数。前面这个参数呢是决定了地形的丰富程度,我把这个注字呢写到这个地方来, 可以灵活的来调整。 seed 呢是一个随机种子,如果你固定的话,每一次效果都是相同的,生成好之后呢,我们把它存到一个变量里,给它取一个名字叫 noise generation, 进吧,后面呢我们就用这个变量就可以了, 在什么地方使用呢?在每一次生成高度之前,哎,把它注射掉,我们都要去调用一下我们这个变量,去生成一个由柏林噪声算法控制的这样一个随机数,它里面呢要有两个根据,我们的 i 和 j 不 一样,加上中括号 i 除以一个,我们叫缩放因子,这个缩放因子呢大一点的话,它的效果就会不同,可以灵活来调整,保持都是三点零 生成的。这个结果呢,我们把它存到一个新的变量里面,这个变量它的范围呢就是在柏林照射的负零点五到零点五,这是一个默认的范围, 那我们的高度显然不应该是负零点五到零点五,对吧?我们之前也专门做过这样的一个处理, radum 呢,它默认是零到一,我们这样处理之后呢,它就是零点五到二了,那我们这个呢是负零点五到零点五,所以呢还是要处理一下,我们可以简单的怎么来做呢?把这个变量 它等于它加上零点五,是不是跟之前的 random 一 样,就是零到一了?在它的技术之上,我们把原来的这个调整给它拿过来,这样其实就可以了。我们把柏林噪声的理念呢,就已经用到我们的程序里面来了,可以运行一下,让它生成动画视频来看一下效果, 视频生成好之后呢,我们来看一下效果,会发现虽然我们的标题变了,说明我们的程序呢,它生效了,但是呢它的效果呢,并不是那么理想, 主要是两个原因。第一个我们的这个立方柱是不是太少了呀?看起来呢,他就不够密集,而且虽然能看出来他的高度呢,相对变化呢,没有那么跳跃了,但是还是不连续。 这个不连续体现在什么地方呢?比如说这两个,他们两个可能高度,比如说一个是一点六,一个是一点五,虽然离得很近,但他依然是从一点六突然变成一点五的,而不是从一点六慢慢的滑向一点五,导致呢,我们这个效果并不是像一开始展示的那样一个平滑的曲线, 那提到这个曲线呢,这就是 menu 里面另外一个跟我们之前讲过的立方体,还有这种长方体不一样的另外一个对象了。我们接下来的改造呢,就是在这个基础之上引入曲面的概念,让它更加的平滑。这里面就需要安装另外一个模块 pip install, 这是一个在数据处理里面经常用的模块 number pip。 好, 那这一次呢,我们用它呢,就是配合我们生成曲线来用的 import number p y 给它起一个简写,这是这个模块通常的用法,引入进来之后起个别名, s 就是 起别名的意思叫 n p, 以 后你但凡想用 number p y 这个模块,用 n p 就 可以了。好的,接下来呢,我们再来修改,这个地方我们保持不变,接下来要改的是不用两个 for 循环依次来生成 block 的 方式了,我们这一次把这些代码就可以全部删除掉了, 我们要用刚才我们生成的柏林方程的这个变量呢,用到一个叫曲面函数的这个逻辑里面去生成曲面 surface。 好, 我们定义这样一个函数,它有两个参数, u 和 v, 是 生成曲面的时候要用的这个地方,我们把这个变量复制过来,它里面的参数呢,跟刚才我们用 i 和 g 来表示是一样的,我们用 u 和 v 曲面里面的两个参数的固定用法,生成好之后,我们跟之前一样把它存到一个变量里面,跟之前一样可以起这个名字。 接下来就是高度的计算,刚才我们删除找了啊,其实还是要用到计算高度的这个变量的,在原来的基础之上,我们是负零点五到零点五啊,刚才讲过了,我们在它基础之上加上零点五之前我们是乘以一点五再加上零点五,这样的话它的高度呢,就是 我们先写上吧,一点五加上零点五,待会呢可以再来调整这个计算公式。最后一步我们要在这个函数后面加上一个返回值, 用到了刚才我们提到的 number p y, 它需要返回的是由三个变量组成的这样一个列表,好, u 和 v 曲线,再加上不断变化的这个高度。好,没问题,下面刚才没删除的。接下来就是创建一个曲面的叫 surface 对 象了,地形这个变量 surface 名字。然后呢,我们在这里面写上曲面函数,是刚才我们建的这个函数,它的 u 的 变化范围,我们让它是 负二到二,这些是创建曲面固定的一些用法,那详细的解释呢?我们在这个地方就不重复了,大家可以先模仿一下,感兴趣的话也可以再去 deepsea 里面详细问一问这些参数它到底是什么作用。这个呢, opacity 我 们用过很多次了,它是一个透明度对不对? 再往下我们也可以设定曲面的一个颜色变化,它呢有一个自己的函数 color, 跟之前是一样的,我们可以指定三个颜色, blue, green, 还有 yellow。 接下来就到动画的程度了,我们之前呢是标题,坐标轴,还有我们创建的很多个 blocks, 现在 blocks 没有了,我们就把这个 blocks 删掉,我们要把它改成把曲面给显示出来,所以新建一个 self 点 play, 还是要播放一个显示的效果。不过这一次我们 create 出来的就是曲面这样一个变量。然后呢,我们可以延长一下它的时间,让我们能够更清楚的看到这个曲面是如何创建出来的。 曲面创建,然后我们再往下看,哎,之前是不是还有一个 rotate 旋转我们这些之前生成的 blocks 的 代码呀?把这个呢也去掉,当时持续的是五秒钟,我们把 blocks 给它去成刚才新建的曲面地形曲面。好的,到这里呢,我们就可以生成了。走你 之前提过有一个 config 点 quality, 给它配置了一个叫 low quality, 这样的话它生成的在这个地方 media 能看到 videos 里面就是四八零,四八零 p 就是 分辨率低一些,它的质量低一些, 如果你想生成高级别的它清晰度更高的幺零八零 p 的 话呢,把这个代码注视掉就可以了,它默认生成的是清晰度比较高的效果,当然花费的时间也会比较长。你的电脑如果好的话,它会进度快一点,慢的话就选这个 low quality, 会更快速一点,看到效果哈, 能明显的感觉到,我们用上了曲面之后呢,它生成的速度就变慢了很多,然后你仔细看到也能看到这里面有 service of 九百。之前呢,我们虽然是两个负循环,但是呢,他就是二十五个立方体,相对来讲还是对象比较少的。那现在呢,要形成这样一个曲面,其实他要生成的元素呢,比之前是多了很多的,他只有足够多足够小的组合在一起,才能形成这个曲面的效果,所以这一步呢,要稍微耐心一点, 马上就可以了。好的,视频已经生成好了,我们能看到标题变了,我们生成柏林噪声地形也没问题,一点点生成,并且最后呢有一个旋转的效果 啊,非常不错。好的,那我们用 mini 探索三 d 动画的这个过程就到这里了,感兴趣的小伙伴呢,可以尝试把我们前面做的这几个部分呢整合到一起, 就是一个简单的介绍柏林招生概念的动画视频了,对不对?下一集做什么内容呢?欢迎小伙伴们积极留言,都看到这里了,别忘了点个赞哦, goodbye, 下期见!

manum 写代码做数学动画课程第一课,导入语句及文本类。按我以前教的打开 python 运行 from manumplor, 没报错即可,千万不要直接 manumplor, 有 些学过的知道 manumplor 库名是导入库语句,但是导入不了库的依赖项。 from manumplor 是 从一个叫 manum 的 库里导入所有工具,这样包括依赖项也导入好了。 首先要创建一个类,这个类什么名字都可以,但是只能是英文,且首字母大写,这是类的规则。还有我以后教 python, 除了字母串都不能用除英文以外的字母。 class 是 创建类的关键字,比如类名叫 case, 就是 class, case 冒号是声明,以下这些代码是类里面的,以后用 for, with, wow, diff 等语句都要后面有冒号声明。但是这个类必须要继承 man, 内置 sin 复类的,要某个类继承某复类的话,就在括号里写复类名,如 class, case, scene。 然后在类里必须创建一个 construct 函数,创建函数用 diff, 因为函数在内里,所以要缩进四个空格,因为空格我这里不好显示, 我用代替四个空格,这四个空格也是用来声明的。如果在函数你写代码,想必你已经知道,那就是八个空格了,也就是 def construct 如果在函数的括号里写,那就是添加参数,参数用逗号分隔。 self 参数是类里面的函数必须有的,且要写在第一位。在类里面用的函数里面,函数叫做 self。 首先创建一个变量存储文本, n 等于三,就是把三存储进变量 n 里, 等于是赋值符。把右边的内容存进左边的变量里。带单引号或双引号的里面就是字母串,单引号和双引号本质没有什么区别,但是比如要存储 i n 奈一个符串,就要用双引号了, 因为如果还是单引号的话,就会导致系统把 i 识别成一个字母串,后面没有两个单引号,导致单引号被识别为字母,而后面的字母没有引号也就不是字母串,系统不认识就会报错。你也可以字母串引号用单引号, i 合影之间用双引号也可以一个单引号和一个双引号不成对。 变量名不能是特殊字母,除了下划线。变量名不能是关键字。变量名的数字必须在字母后面,在整个变量中心也不可。 关键词包括 and as deaf 掉 alive else false from if be poor then is none not war for true want the third the signal wait break class continue except global land down nonlocap 写 rate return try with yield。 如果你发现你按照我的方法更新了曼德 nonlocap 写 rate return try with yield 如果你发现你按照我的方法更新了曼德 nonlocap 写 rate。 如果你发现你按照我的方法更新成功,却导入的还是老了。 终端运行 pivot install manne, 可以 删除现有的所有 manne, 再输入框输入外,回车确认删除,再运行 pivot install manne。 零点幺八点零安装版本为零点幺八点零的 manne, 然后就可以了,这个版本是最稳定的。 设文本的变量为 text, 要存 text 类,这是 manne 渲染文本的文本类。 text l l l form 等于 sum height 等于四十八,克尔等于布 through, 克尔等于 white through 柜子等于零点五。 trc 等于世界 lit t r f 等于上开 t i line 等于 lit lines 配信等于一点五, 就是渲染文本内容为世界上 l l l。 设字体为 sum high 黑体,字体大小为四十八,这是不写这个参数时的默认值。设字体颜色为 sum high 黑体,字体大小为一点五。 设单独世界的颜色为锐红。设单独上的字体为 k t i。 楷体设行间距为一点五,倍数关系,多行生效。把这个存进 text 里。 text 等于 text 省略,然后 self play write text play 就是 播放动画的函数。 write 类是播放文本模拟手写的类。接着 if name main 省略四个空格 main 省略四个空格。 main 短 以下是完整代码 from manual input class text scene 省略四个空格 def construct self 省略八个空格。 text 等于 text l l l font 等于 sum height font size 等于四十八。克勒尔等于 blue stroke 克勒尔等于 white stroke width 等于零点五。 t r c e 等于世界 red t r f 等于上 key i alignment 等于 lift line space 等于一点五,省略八个空格。 self play write text if name main 省略四个空格吸引等于 t s 省略四个空格吸引。 render 为什么要加 if 省略? 因为定义好了类要运行,这就是运行类。开始渲染。不懂私信我,感谢点赞、收藏、关注评论私信者!

work for me work for me come on baby let me see your work for me come on baby lucky i'm a lovely long time come on baby, let me see your word from there shut the lights come a lock it down baby to know we gonna bring the party out we gonna get get get right get over here i'm gonna show you how to the ground and if you're lucky i'm gonna love you long time hey, what's up coming back with me i'm gonna tell you what i want if you work for me oh baby let me see your work come on baby let me see your work from there come on baby let me see your work for day come on baby let me see your work from there come on baby let me see your work from me work for me work for me come on baby let me see your work for me。
