首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Unity基础系列(三)——数学表面(数字雕刻)

最后得到的正弦波的形状保持不变,但只有先前的一半大小。 ? 这个给定的函数我们也可以用公式来表达 。 ? 当正弦函数的正极值和负极值均为1和?1时,这个新函数的最大值和最小值将分别为1.5和?1.5。...当x变得等于分辨率时,一行就完成了,所以可以在循环顶部的if块来处理这个问题。然后用x代替i来计算X坐标。 ? 接下来,每一行必须沿Z维偏移。这也可以通过向for循环中添加一个z变量来完成。...因为Sz的频率和速度是其他二次波的两倍,所以我们会给它一半的振幅。这导致函数 ? ,它必须除以5.5才能规范为?1-1范围。为此创建一个MultiSine2DFunction方法。 ?...首先,可以根据到圆点的距离来创建一个正弦波。这个距离可以用勾股定理(毕达哥拉斯定理)求出,即a2+b2=c2,其中c是直角三角形的斜边,a和b是它的两个直角边。...在XZ平面上的二维点,一个三角形的斜边就是原点和那个点之间的直线,而X和Z坐标就是2个直角边的距离。因此,我们每个点与原点之间的距离是 ? 。 ?

1.6K40

vim的快捷键大全

nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行的所有修改 ctrl+r:对撤消的撤消 i 在光标前插入 I 在行首插入 a 在光标后插入 A 在行末插入 o:在当前行的下面另起一行...移动到结束行,输入y’a会复制当前行到标记a之间的文本。d’a会删除。 或者是v进入可视模式,再13G跳转到相应行,y即可。...ctrl+u\d 向上\下滚动半屏 ctrl+e\y 向上\下滚动一行 ctrl+b\f 向上\下滚动一屏  这个比较实用,记住。...之间的 str1为 str2 :10,$s/str1/str2/g 替换从行10到最后一行之间的 str1为 str2 :s/str1/str2/g 替换当前行的 str1为 str2 ....在屏幕中移动: H、M、L分别移动到屏幕的顶部、中间和尾部。 nH、nL 移动到距离屏幕顶部和顶部n行的位置。 Enter:到下一行的第一个字符。 +:到下一行的第一个字符。

2.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    振动试验规范对比——半正弦冲击

    本篇先从最简单的试验讲解:半正弦冲击” 00 — 前言 工作中,经常会被同事问到:10g, 10ms的半正弦冲击和 10g,20ms的半正弦冲击,哪个试验条件更严酷?...图2 02 — 半正弦加速度冲击响应计算 利用Duhamel积分,计算Mass的相对位移响应,如图3: ?...图7 视频2 04 — 正向最大相对位移的SRS曲线 图8,图9分别是当fn=50Hz,fn=90Hz时,相同半正弦冲击激励下,Base和Mass的位移(上图)及Mass相对于Base的相对位移(下图)...让我们回到最初的问题:不同的半正弦冲击信号如何判断哪个对结构更严酷? A....当知道结构的力学特性时(可以通过正弦扫频或宽频随机测试频响特性,或CAE仿真): 直接计算出图8所示的相对位移,从而判断各冲击信号激励下较大相对位移(对应应力应变)的大小及次数。 B.

    7.1K23

    Vim基本命令

    移动命令 h 左移 ;l 右移 ;k 上移 ;j 下移; w 前移一个单词 ;b 后移一个单词; 当然,所有的移动都可以在前面加数字表示移动的距离。... 行首;行尾; gg 文件头;G 文件尾; Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏...u 撤销 Ctrl + r 重做 删除操作: 命令 功能 x 删除当前字符用 dd 删除当前行用 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行....D 删除当前字符至行尾 :1,10d 删除1-10行 拷贝粘贴 命令 功能 yy 拷贝当前行 10yy 拷贝当前后开始的10行 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴...ddp 交换当前行和其下一行,实际上就是删除当前行然后放在下一行的后面 在可视模式下,用jklh命令移动即可选择某些行或字符,再按y即可复制。

    45320

    求编辑距离

    实现 用leva,b(i,j)lev_{a,b}(i,j)来表示a和b的Leveinshtein距离(i和j分别代表a和b的长度),则: 当min(i,j)=0时,leva,b(i,j)=max(i,j...,leva,b(i,j)=leva,b(i−1,j−1),比如xxcz和xyz的距离=xxc和xy的距离当a_i=b_j时,lev_{a,b}(i,j)=lev_{a,b}(i-1,j-1),比如xxcz...全矩阵 以xxc和xyz为例,建立一个矩阵,通过矩阵记录计算好的距离: ?...当min(i,j)=0时,leva,b(i,j)=max(i,j)当min(i,j)=0时,lev_{a,b}(i,j)=max(i,j),根据此初始化矩阵的第一行和第一列: ?...,计算当前格子时,只需要左、上、左上的值,左面的值可以直接得到,上面的值是当前格子修改前的旧值,也可以直接得到,左上角的值是左面格子修改前的旧值,需要暂存,这时空间复杂度为O(n)O(n)。

    65830

    CSS3盒子模型

    各行两两紧靠住同时在弹性盒容器中居中对齐,保持弹性盒容器的侧轴起始内容边界和第一行之间的距离与该容器的侧轴结束内容边界与第最后一行之间的距离相等。...space-around:各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'center'。...在其它情况下,各行会按一定方式在弹性盒容器中排列,以保持两两之间的空间相等,同时第一行前面及最后一行后面的空间是其他空间的一半。 stretch:各行将会伸展以占用剩余的空间。...space-around:弹性盒子元素会平均地分布在行里,两端保留子元素与子元素之间间距大小的一半。如果最左边的剩余空间是负数,或该行只有一个伸缩盒项目,则该值等效于'center'。...在其它情况下,伸缩盒项目则平均分布,并确保两两之间的空白空间相等,同时第一个元素前的空间以及最后一个元素后的空间为其他空白空间的一半。

    1.1K20

    CSS 布局_2 Flex弹性盒

    ; 确立主轴justify-content; 定义了在当前行上,弹性项目沿主轴如何排布align-items; 定义了在当前行上,弹性项目沿侧轴默认如何排布align-self; 定义了单个弹性项目在侧轴上应当如何对齐...center伸缩元素向每行中点排列,每行第一个元素到行首的距离将与每行最后一个元素到行尾的距离相同space-between在每行上均匀分配弹性元素,相邻元素间距离相同,即空白在子项之间每行第一个元素与行首对齐...,每行最后一个元素与行尾对齐space-around在每行上均匀分配弹性元素,相邻元素间距离相同,即空白围绕着子项每行第一个元素到行首的距离和每行最后一个元素到行尾的距离将会是相邻元素之间距离的一半#main...,每行互相紧挨,相对于容器居中对齐容器的 cross 轴起始边界和第一行的距离相等于容器的 cross 轴结束边界和最后一行的距离space-between所有行在容器中平均分布,相邻两行间距相等容器的...cross 轴起始边界和结束边界分别与第一行和最后一行的边对齐space-around所有行在容器中平均分布,相邻两行间距相等容器的 cross 轴起始边界和结束边界分别与第一行和最后一行的距离是相邻两行间距的一半

    1.5K40

    理解OVER子句

    ROWS 或者 RANGE子句可以决定在分区内部的行数的子集。当使用ROWS 和 RANGE的时候,可以指定窗口函数的开始和结束点  ,如下图所示: ?...下面是有效规范的窗口函数: -- 从分区中指定整个结果集 BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING -- 指定五行,并且在当前行的前四行...尤其当计算当前行所占的总行数的百分比的时候应用比较多。    “Last2Count” 列表示在分区内对于当前行和其前面一行的行数。...有点拗口,具体点就是对于每个Account 最小date的数据就是第一行,那么对于第一行距离第一行的计数就是1,其他行和都是计算它和它前面一行的数值都是2。...SumByRows 列通过计算第一行到当前行的所有行的值作为总数,而RANGE子句是计算到排序字段(SALARY)的值相同的列的所有值得总和。

    2K90

    vim 常用命令

    替换命令 ra 将当前字符替换为a,当期字符即光标所在字符。...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v

    1.4K21

    教程 | Vim 教程【命令-操作-快捷键】

    i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    1K20

    教程 | Vim 教程【命令-操作-快捷键】

    i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    62420

    138 条 Vim 命令、操作、快捷键全集

    i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    1K00

    Vim 命令、操作、快捷键(建议收藏)

    I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个。...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    1.2K10

    Vim 命令、操作、快捷键(收藏大全)

    I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个。...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    96730

    138 条 Vim 命令、操作、快捷键全集

    i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    1.3K60

    vim基本命令

    ddp 交换光标所在行和其下紧邻的一行。 移动命令 h 左移一个字符 l 右移一个字符,这个命令很少用,一般用w代替。...Ctrl + e 向下滚动一行 Ctrl + y 向上滚动一行 Ctrl + d 向下滚动半屏 Ctrl + u 向上滚动半屏 Ctrl + f 向下滚动一屏 Ctrl + b 向上滚动一屏 撤销和重做...X=dh dl 删除当前字符, dl=x dh 删除前一个字符 dd 删除当前行 dj 删除上一行 dk 删除下一行 10d 删除当前行开始的10行。 D 删除当前字符至行尾。...拷贝和粘贴 yy 拷贝当前行 nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。 p  在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。...正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制 ddp交换当前行和其下一行 xp交换当前字符和其后一个字符 剪切命令 正常模式下按v(逐字)或

    1.4K20

    vi编辑器

    ,操作系统管理和维护时非常有用,vi是visual interface to the ex editor 的前两个单词的首字母。...:进入插入模式并在当前行之下开启新的一行O:进入插入模式并在当前行之上开启新的一行修改、删除与复制操作:修改、删除和复制等操作只能在命令模式下进行,使用频率较高的一些编辑命令如下:?...快速移动光标:适合长距离快速移动光标在文件中位置的命令:G:跳转到文件的最后一行、G是go的第1个字母nG:跳转到文件的第n行 ------ n为自然数1、2、3等Ctrl+d:光标下移半屏幕、d是down...的第1个字母Ctrl+u:光标上移半屏幕、u是up的第1个字母快速在屏幕中移动光标的位置的命令:H(High):光标跳到屏幕第1行 ------ 即最上面一行M(Middle):光标跳到屏幕正中间的那一行...的前3个字母:n#:跳转到前一个文件、可用来在两个问价之间来回跳转。

    2.9K40

    vi编辑器参数

    1G 移动到文件第一行。 G 移动到文件最后一行。 nG 移动到文件第 n 行。 :n 移动到文件第 n 行。 H 移动到屏幕顶部。 nH 移动到距离屏幕顶部第 n 行的位置。 M 移动到屏幕中间。...nL 移动到距离屏幕底部第 n 行的位置。 :x x 是一个数字,表示移动到行号为 x 的行。...控制命令 有一些控制命令可以与 Ctrl 键组合使用,如下: 命令 描述 CTRL+d 向前滚动半屏 CTRL+f 向前滚动全屏 CTRL+u 向后滚动半屏 CTRL+b 向后滚动整屏 CTRL+e 向上滚动一行...有很多命令可以从普通模式切换到编辑模式,如下所示: 命令 描述 i 在当前光标位置之前插入文本 I 在当前行的开头插入文本 a 在当前光标位置之后插入文本 A 在当前行的末尾插入文本 o 在当前位置下面创建一行...命令 说明 J 将当前行和下一行连接为一行 前行左移一个单位(一个缩进宽度) >> 将当前行右移一个单位(一个缩进宽度) ~ 改变当前字符的大小写 ^G Ctrl+G组合键可以显示当前文件名和状态

    92840

    Unity 基于Cinemachine计算透视摄像机在地图中的移动范围

    ,如何动态生成一个透视摄像机的碰撞盒子以限定摄像机的视野永远不会超出地图的边界。...其实基本都是纯粹的数学运算,开始之前,必须先弄清楚透视摄像机的一些基本原理,它的视窗大小和屏幕分辨率之间到底是什么关系: 1.FOV:这是透视摄像机区别于正交摄像机最重要的一个特性——视口大小,它表示的是当前摄像机视野范围的开口角度...知道了上面这些后我们才能更愉快的进行接下来的计算,不然只会计算出许多错误也搞不清是什么原因。 在Cinemachine中,一般会设置一个跟随目标,且跟踪该目标的距离是一个常量,可以从面板中取得: ?...我们先分析摄像机的左右运动范围是如何计算的:(本例中的摄像机只在X轴向上存在旋转值,一般斜向的摄像机也只需要旋转一个轴即可,左右看上去一般追求对称性) ?...以下均为弧度计算: 1 //计算的角度均为弧度值,传入纵向的(高)Fov的一半得到横向的(宽)Fov的一半 2 public float GetHorizontalFovHalf(float

    2.1K10

    VIM的使用

    j: 向下移动 k: 向上移动 xh: 向左移动x个字符距离 单词移动: w: 将光标移动到下一个单词的开头 b: 将光标移动到前一个单词的开头 e: 将光标移动到下一个单词的词末 E: 移动到单词的结尾...2列 fx:将光标移动到当前行的第一个字符x上 3fx: 将光标移动到航前行的第3个字符x上 tx: 将光标移动到目标字符x的前一个字符上 fx和tx可以通过;和,进行正向或反向重复移动 %: 用于符号间的移动...在当前光标的前面插入字符 a: 在当前光标的后面追加字符 o: 在当前光标的下一行行首插入字符 I:在一行的开头添加文本 A:在一行的结尾处添加文本 O:在光标当前行的上一行插入文本 s:删除当前光标处的字符并进入到插入模式...,将当前行与下一行合并 文本复制、剪切与粘贴 y: 复制 p:粘贴 yw: 复制一个单词 y2w: 复制2个单词 y$: 复制从当前光标到行结尾的所有单词 y0: 复制从当前光标到行首的所有单词 yy:...zf200G: 将光标和200行之间的代码折叠起来 折叠的打开与关闭 za: 打开和关闭折叠 zr/zm: 一层一层地打开和关闭折叠 zR/zM: 分别打开和关闭所有的折叠 折叠键的光标移动 zj

    1.3K10
    领券