cos

炫酷波浪效果动画

白昼怎懂夜的黑 提交于 2021-02-08 07:44:33
炫酷波浪效果动画 GitHub地址 如果喜欢,请给一个小星星。O(∩_∩)O谢谢! 实现思想 主要要根据振幅、偏移、角速度使用贝塞尔曲线来画出整个过程 核心代码 static double i = 0; CGFloat A = 10.f;//A振幅 CGFloat k = 0;//y轴偏移 CGFloat ω = 0.03;//角速度ω变大,则波形在X轴上收缩(波形变紧密);角速度ω变小,则波形在X轴上延展(波形变稀疏)。不等于0 CGFloat φ = 0 + i;//初相,x=0时的相位;反映在坐标系上则为图像的左右移动。 //y=Asin(ωx+φ)+k _path = [UIBezierPath bezierPath]; _path2 = [UIBezierPath bezierPath]; [_path moveToPoint:CGPointZero]; [_path2 moveToPoint:CGPointZero]; for (int i = 0; i < 376; i ++) { CGFloat x = i; CGFloat y = A * sin(ω*x+φ)+k; CGFloat y2 = A * cos(ω*x+φ)+k; [_path addLineToPoint:CGPointMake(x, y)]; [_path2 addLineToPoint

傅里叶变换->小波变化

僤鯓⒐⒋嵵緔 提交于 2021-02-07 17:52:12
傅里叶变换->小波变化 声明:文中大多数内容来自( 知乎1335 )[ https://www.zhihu.com/people/zhi-yuan-ya-77 ],matlab源代码: 1368069096/From_FT_to_WT_examples- ,部分为个人理解阐明 傅里叶变换FT 基础知识 (FOURIER TRANSFORM,简称FT) 为什么傅里叶变换可以把一个信号从时域变换到频域? 先给出公式,傅里叶变换的形式为:$X(w)=\int_{-\infty}^{+\infty} x(t) e^{-j w t} d t$ PS:傅里叶变换还存在系数,有的文章写的是 $\frac{1}{2 \pi}$ ,有的文章写的是$\sqrt\frac{1}{2 \pi}$ ,两个系数只要满足正变换系数乘上逆变换系数等于$\frac{1}{2 \pi}$ 即可。这是为了保证经过一次正变换和反变换之后,得到的信号与原信号幅值相同,与我们接下来的讨论关系不大。 1.理解变换公式 我们知道,根据欧拉公式,$e^{-j w t}=\cos (w t)-j \sin (w t)$。也就是说,傅里叶变换的本质就是:将原始信号乘上一组 三角函数 (正余弦),之后 在整个时间域上积分 。就这么简单! y=sin(3t)图 我们来看一个信号:y = sin(3t),如下图: 很好的周期性质

OpenCV 【二十二】霍夫线变换/霍夫圆变换

坚强是说给别人听的谎言 提交于 2021-02-05 16:38:00
目录 1. 霍夫线变换¶ 1.1 原理 1.2 霍夫线性变换 1.3 标准霍夫线变换和统计概率霍夫线变换¶ 1.4 代码 1.5运行结果 2 .霍夫圆变换¶ 2.1 原理¶ 2.2霍夫圆变换¶ 2.3代码 2.4 运行结果 1. 霍夫线变换 ¶ 使用OpenCV的以下函数 HoughLines 和 HoughLinesP 来检测图像中的直线. 1.1 原理 众所周知, 一条直线在图像二维空间可由两个变量表示. 例如: 在 笛卡尔坐标系: 可由参数: 斜率和截距表示. 在 极坐标系: 可由参数: 极径和极角表示 对于霍夫变换, 我们将用 极坐标系 来表示直线. 因此, 直线的表达式可为: 化简得: 一般来说对于点 , 我们可以将通过这个点的一族直线统一定义为: 这就意味着每一对 代表一条通过点 的直线. 如果对于一个给定点 我们在极坐标对极径极角平面绘出所有通过它的直线, 将得到一条正弦曲线. 例如, 对于给定点 and 我们可以绘出下图 (在平面 - ): 只绘出满足下列条件的点 and . 我们可以对图像中所有的点进行上述操作. 如果两个不同点进行上述操作后得到的曲线在平面 - 相交, 这就意味着它们通过同一条直线. 例如, 接上面的例子我们继续对点: , 和点 , 绘图, 得到下图: 这三条曲线在 - 平面相交于点 , 坐标表示的是参数对 ( ) 或者是说点 , 点 和点

基础渲染系列(四)——光照(Unity)

你离开我真会死。 提交于 2021-02-04 04:26:50
本文重点内容: 1、法线从物体空间转化为世界空间 2、让方向光生效 3、计算漫反射和镜面反射 4、加强节能 5、金属材质工作流 6、利用Unity的PBS算法 这是关于渲染的系列教程的第四部分。上一部分是关于组合纹理的。这次,我们将研究如何计算光照。 本教程是使用Unity 5.4.0b17。 (是时候照亮物体了) 1、法线 我们可以看到东西,因为我们的眼睛可以检测到电磁辐射。单个光量子称为光子。我们可以看到一部分电磁波谱,它们被称为可见光。其余的频谱对我们来说是看不见的。 整个电磁频谱是多少? 频谱分为频谱带。从低频到高频,这些被称为无线电波,微波,红外线,可见光,紫外线,X射线和伽马射线。 光源发光。其中一些光线会撞击物体。一些光线会从物体上反射出来。如果那束光最终射到我们的眼睛或相机镜头上,那么我们就可以看到物体了。 为了能让光照在3D环境里也能正常表现,就需要先了解这些对象的表面。前面的教程里,我们已经知道了它的位置,但不知道它反正光的方向。为此,我们需要表面法线向量。 1.1 使用Mesh 法线 复制我们的第一个着色器,并将其用作我们的第一个照明着色器。使用此着色器创建材质并将其分配给场景中的某些立方体和球体。为对象赋予不同的旋转度和比例(有些不均匀),以得到变化的场景。 (立方体和球体) Unity的立方体和球面网格包含顶点法线

ThreeJS实现波纹粒子效果

核能气质少年 提交于 2021-02-04 03:46:07
  今天我们来用ThreeJS的库实现一个波纹粒子效果,我们用到的ThreeJS的库有CanvasRenderer.js,OrbitControls.js,Projector.js,stats.min.js和three.js。这些库都是不可或缺的,我们先来看看实现的效果,如下图所示。   我们再来看看项目结构是怎么样的,项目结构如下图所示。 我们的效果全部写在了index.html里,现在我们直接贴出index.html的代码,同学们可以直接拿来运行,代码如下。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>演示页面</title> <script src="three.js"></script> <script src="Projector.js"></script> <script src="CanvasRenderer.js"></script> <script src="stats.min.js"></script> <script src="OrbitControls.js"></script> </head> <body> </body> <script> var SEPARATION = 200 , AMOUNTX = 60 , AMOUNTY = 60 ; var

Serverless 音视频转码 —— 芒果 TV 落地实践(下)

ε祈祈猫儿з 提交于 2021-02-04 02:25:51
在 《Serverless 音视频转码——芒果 TV 落地实践(上)》 中,我们回顾了芒果 TV 吴坚强老师在 techo 大会的精彩分享,芒果TV 音视频编解码业务团队通过使用腾讯云 Serverless 音视频转码服务,成本降低 45% 以上,引起大家的广泛关注,小伙伴们都跃跃欲试! 本文我们将带领大家一起使用云函数 + COS + CLS + FFmpeg 构建高可用、并行处理、实时日志、高度自定义的视频转码服务。我们在此提供了两种方案,您可以直接用转码应用,一键部署,也可以通过 用函数的长运行方案来自己处理。 实现方案 方案一: 使用官网的流式音视频转码,一键部署。查看 详情 方案二: 利用云函数的异步执行机制,自主研发。查看 详情 流式音视频转码方案 通过云函数创建 FFmpeg 任务进程,云函数进程与 FFmpeg 任务进程通过 pipe 和 FIFO 的方式进行数据传输。云函数进程中的两个任务线程分别接收 FFmpeg 任务进程向函数进程输出的 FFmpeg 日志流与转码后的文件流,从而实现流式读写 COS 和实时日志输出的转码应用场景。 方案优势 流式转码 采用流式拉取源视频文件,流式上传转码文件的工作方式,突破了本地存储的限制,且不需要额外部署 CFS 等产品。 实时日志 视频转码过程中,可通过 CLS 日志实时查看转码进度。同时支持输出 FFmpeg

MATLAB绘图总结

点点圈 提交于 2021-02-02 10:45:12
目录 一些常用的MATLAB绘图方法 二维图像绘制 plot和fplot 对数坐标图 极坐标图 条形图 直方图 面积图 散点图 矢量图 双坐标轴 三维作图 三维曲面 热力图 图形修饰 基本绘图指令 图形标注 图形窗口处理 色彩处理 总结 一些常用的MATLAB绘图方法 总结一下一些常用的MATLAB的绘图函数和参数设置,增强结果的可视化程度。 二维图像绘制 二维图像是在不同的平面坐标上将数据点连接起来的平面图像。常用的平面坐标有,直角坐标、极坐标、对数坐标等,MATLAB有很多常用的指令来绘制不同的二维图像。 plot和fplot MATLAB中最常用的两个二维函数绘制函数 plot() 和 fplot() plot - 二维线图 此 MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。 如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。 如果 X 或 Y中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等. 如果矩阵的行数等于向量长度,则 plot函数绘制矩阵中的每一列对向量的图。 如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。 如果 X 或Y

PBR:基于物理的渲染(Physically Based Rendering)+理论相关

半城伤御伤魂 提交于 2021-02-02 05:43:49
一: 关于能量守恒 出射光线的能量永远不能超过入射光线的能量(发光面除外)。如图示我们可以看到,随着粗糙度的上升镜面反射区域的会增加,但是镜面反射的亮度却会下降。如果不管反射轮廓的大小而让每个像素的镜面反射强度(Specular Intensity)都一样的话,那么粗糙的平面就会放射出过多的能量,而这样就违背了能量守恒定律。这也就是为什么正如我们看到的一样,光滑平面的镜面反射更强烈而粗糙平面的反射更昏暗。 当一束光线碰撞到一个表面的时候,它就会分离成一个折射部分和一个反射部分。反射部分就是会直接反射开来而不会进入平面的那部分光线,这就是我们所说的镜面光照。而折射部分就是余下的会进入表面并被吸收的那部分光线,这也就是我们所说的漫反射光照。 通过物理学我们可以得知,光线实际上可以被认为是一束没有耗尽就不停向前运动的能量,而光束是通过碰撞的方式来消耗能量。每一种材料都是由无数微小的粒子所组成,这些粒子都能如下图所示一样与光线发生碰撞。这些粒子在每次的碰撞中都可以吸收光线所携带的一部分或者是全部的能量而后转变成为热量。 一般来说,并非所有能量都会被全部吸收,而光线也会继续沿着(基本上)随机的方向发散,然后再和其他的粒子碰撞直至能量完全耗尽或者再次离开这个表面。而光线脱离物体表面后将会协同构成该表面的(漫反射)颜色。 而有一些被称为次表面散射(Subsurface Scattering

使用matplotlib画图

好久不见. 提交于 2021-02-02 05:26:14
一、介绍 官方文档: https://www.matplotlib.org.cn/home.html 安装: pip install matplotlib Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。 二、使用例子 1、 波形图 import matplotlib.pyplot as plt import numpy as np x =np.linspace(0,2*np.pi,100) # 100个点组成的2*np.pi线 y1=np.sin(x) # y1线 y2=np.cos(x) # y2线 plt.title( " sin&cos title " ) # 标题 plt.xlabel( " x " ) # x轴的名称 plt.ylabel( " y " ) # y轴的名称 plt.plot(x,y1) #画 y1线 plt.plot(x,y2) #画 y2线 plt.show() # 显示 图片 2、柱状图 import matplotlib.pyplot as plt name_list = [ " A " , " B " , " C " , " D "

80行Python实现-HOG梯度特征提取(转载)

被刻印的时光 ゝ 提交于 2021-02-01 04:20:32
本文原文链接:https://blog.csdn.net/ppp8300885/article/details/71078555 本文用80行代码的Python实现了HOG算法,代码在Github Hog-feature,虽然OpenCV有实现好的Hog描述器算法,但是本文目的是完全理解HOG特征提取的具体方法和实现原理,以及检验相关参数对实验结果的影响,提升检测到的特征的性能以及优化代码的运行速度。 1. 方法简介 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的描述子。通过计算和统计局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。现如今如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。 主要思想:在一幅图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。其本质是梯度的统计信息,而梯度主要存在于边缘所在的地方。 实现过程:简单来说,首先需要将图像分成小的连通区域,称之为细胞单元。然后采集细胞单元中各像素点的梯度或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。 算法优点:与其他的特征描述方法相比,HOG有较多优点