cos

图形学入门1

江枫思渺然 提交于 2020-08-14 08:34:04
变换 什么是变换? 2D变换 Scale Reflection Matrix Shear Matrix Rotation Linear Transforms = Matrices 齐次坐标 Translation Homogeneous Coordinates Affine map = linear map + translation 文章资源及内容来自 闫令琪博士的GAMES101课程 什么是变换? 这里的变换分成两种类型的变换 -Modeling:模型变换 -Viewing:视角变换(3D to 2D) 2D变换 2D变换顾名思义就是在二维空间中的变换,包括缩放,旋转,切变等等 二维的变换最主要的是要把矩阵,和变换联系起来 Scale 首先,我们认识一下缩放变换 我们看到两张图,它的左下角在世界的原点(0,0),接下来我们要做一个缩放,把它变小 对于这个例子来说,横轴和纵轴都缩放了0.5,都变为原来的二分之一,那么它写成数学形式就是 我们之前学过线性代数,对于这两个式子,我们可以写成矩阵形式如下 这就是缩放矩阵。 如果说,我们的缩放不是均匀的,假如说X和Y缩放的各不相同,比如下图 X的缩放是按照0.5的比例来缩放,Y的不变 也就是X和Y是不均匀的缩放,我们来看一下它的矩阵 X和Y虽然是不均匀的缩放,但是我们仍然可以写成这种对角矩阵的形式 只要Sx和Sy不相同就可以了

多快好省!原来还能这样搭建信息流社区?

佐手、 提交于 2020-08-14 07:28:28
「玩转腾讯云」 有奖征文活动正在如火如荼进行当中,不时有优秀的作品出现,本文是对其中一篇的摘录。当前热门的各大垂直类社区,feed流屡见不鲜,渐渐为用户所接纳,但是想要实现这样的社区功能却面临着诸多问题,本期将由云+社区专栏作者,腾讯高级后台开发netkiddy教大家基于腾讯云COS+CI+MPS等服务,解决社区功能中的图文音视频方案! 引言 从早期的门户网站,到后面的feeds流,再到如今的各种垂直行业的社区分享,一次次的变更成就了近几年行业中的领跑者。微博,手百、小红书、陌陌、B站等,都可以看到feeds流和社区的影子。其中的原始素材便是基础的图片、音频和视频等。 本文将主要介绍如何通过腾讯云下的对象存储COS,数据万象CI,视频处理MPS、CMQ和CDN等服务来一招解决社区功能中的图文音视频方案。 问题分析 在介绍方案之前,我们需要先进行分析:当我们需要做feeds和社区的时候,针对这些原始素材会遇到哪些典型的问题: 1. 类型兼容 从类型来看,在做当前的社区功能或者feeds流时,主要涉及到的还是在文本、图片、音频和视频这四类素材,当然在产品角度,这四类基本素材是可以相互结合的,如图文、多图、文本+视频等等组合形式。因此,我们需要对这些基本素材有支持存储、读取的功能等等。 2. 数据安全 从数据安全角度,素材分公有和私有,排列组合下来也就是需要有:公有读+公有写,公有读

【LeetCode】42 从上到下打印二叉树 II

不想你离开。 提交于 2020-08-14 06:29:10
牛客网LC 47binary-tree-level-order-traversal 思路: 代码: class Solution { public List<List<Integer>> levelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); List<List<Integer>> res = new ArrayList<>(); if(root != null) queue.add(root); while(!queue.isEmpty()) { List<Integer> tmp = new ArrayList<>(); for(int i = queue.size(); i > 0; i--) { TreeNode node = queue.poll(); tmp.add(node.val); if(node.left != null) queue.add(node.left); if(node.right != null) queue.add(node.right); } res.add(tmp); } return res; } } 详细解释: https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu

Serverless Framework + OCR 快速搭建通用文字识别应用

我只是一个虾纸丫 提交于 2020-08-14 06:16:44
在日常的工作生活中,文字识别与我们息息相关,比如身份证识别、随手拍扫描、纸质文档电子化等,无不显示着文字识别技术的重要性。为此,腾讯云通用文字识别产品 General OCR 应运而生,基于行业前沿的深度学习技术,支持将图片上的文字内容智能识别为可编辑的文本,大幅提升信息处理效率。而 Serverless Framework 与 OCR 的结合,则为用户提供了方便快捷、成本更低的通用文字识别应用部署方案。 为什么要用 Serverlesss Framework 来搭建,我们看看 Serverlesss Framework 有哪些优势: 0 配置,弹性扩缩容:Serverless Framework 基于云上 Serverless 资源完成开发,无需复杂配置,即可高效、快速构建 OCR 应用,并支持弹性扩缩容,降低使用成本,助力业务上线; 实时监控,方便运维:部署成功后,您可通过 Serverless Dashboard 实时查看基础监控指标和应用级别的监控指标,并支持实时日志的输出和远端调试能力,屏蔽本地和云端环境的差异,提供完善的排障功能; 组件化开发:提供组件化的开发和集成,便于用户修改和资源复用,使用更加灵活。 接下来我们一起通过 Serverless Framework Component,快速搭建一个基于腾讯云 OCR 的文字识别应用 该模版主要包含以下组件:

Serverless 应用实践及典型案例解析

天大地大妈咪最大 提交于 2020-08-14 05:26:11
本文整理自 ServerlessDay · China 大会 - 《Serverless 应用实践及典型案例解析》的分享,讲师为腾讯云 Serverless 高级架构师卢萌凯、猎豹移动前端总监董文枭、江娱互动技术经理董文强、新东方高级工程师李垦。 本文主要分为四部分: Serverless 的优势和价值 基于 Serverless 构建 REST API Serverless 和服务端渲染的结合 Serverless 构建音视频转码方案 Serverless 的优势和价值 为什么我们投入这么大时间和精力来做 Serverless 呢?因为我们坚信云计算的未来趋势之一就是 Serverless。因为 Serverless 让云服务的应用变得更加简单、高效。比如用云主机部署应用的时候,不仅要搭建和维护环境,同时也要评估业务的资源用量,尤其是对于运营类的活动,如果一旦评估的不准确,要么会造成资源的巨大浪费,要么服务可能会被打爆,甚至停服下线。 而 Serverles 能够做到按需使用,让业务完美的弹性伸缩,对于运维同学来讲,简直不能更爽。而且和预付费的实例不同,Serverless 是 pay as you go的模式,只有当业务运行时才会占用资源,只有源被占用了才会计费,简单来讲,就是,我实际用多少就付多少钱。这种计费模式对于存在明显波峰波谷的服务,优势相当明显。 另外,云计算的发展

量子纠缠2——CHSH不等式

泪湿孤枕 提交于 2020-08-14 05:10:04
问题 有 A lice和 B ob两个人,随机给他们两个数x和y(0或1),然后A和B根据他们得到数(x和y)给两个个数a和b(0或1)。 规则如下: 如果输入的x和y都是1,那么,Alice和Bob给出不一样的数获胜;否则,Alice和Bob给出相同的数获胜。 Alice和Bob在拿到x和y后就不能交谈了,但是在拿到前可以交流。 问: Alice和Bob怎样约定获胜的可能性最大? 一共有以下十六中情况: x y a b result 0 0 0 0 赢 0 0 0 1 输 0 0 1 0 输 0 0 1 1 赢 0 1 0 0 赢 0 1 0 1 输 0 1 1 0 输 0 1 1 1 赢 1 0 0 0 赢 1 0 0 1 输 1 0 1 0 输 1 0 1 1 赢 1 1 0 0 输 1 1 0 1 赢 1 1 1 0 赢 1 1 1 1 输 经典解法 我们可以看到,如果Alice和Bob随机输出a和b,即输出的a和b与输入的x和y无关,那么他们获胜了可能性是50%,也就是0.5。 如果有提前约定呢? 当输入x和y都是0的时候,Alice和Bob可以约定都出0(约定都出1也是一样的道理),这样,输入是(0,0)的25%可能是一定获胜。 但是当你的输入是1的时候,你不知道另一个人是的输入是0还是1。 如果约定出0,即,无论输入是什么都出0,则,获胜的可能性是75%,只有输入是

JavaScript图形实例:Koch曲线

烂漫一生 提交于 2020-08-14 04:47:50
Koch曲线的构造过程是:取一条长度为L0的直线段,将其三等分,保留两端的线段,将中间的一段改换成夹角为60度的两个等长直线;再将长度为L0/3的4个直线段分别进行三等分,并将它们中间的一段均改换成夹角为60度的两段长为L0/9的直线段;重复以上操作直至无穷,可得以一条具有自相似结构的折线,如图1所示。 图1 Koch曲线的生成 Koch曲线采用递归过程易于实现,编写如下的HTML代码。 <!DOCTYPE html> <head> <title>Koch曲线</title> </head> <body> <canvas id="myCanvas" width="600" height="400" style="border:3px double #996633;"> </canvas> <script type="text/javascript"> var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); var maxdepth =5; var curdepth = 0; ctx.lineWidth = 2; Koch({x:50,y:150},{x:550,y:150},Math.PI/3); function Koch(p1,p2,angle) {

Shader学习 (十二)使用Unity和UE4实现三个经典光照模型

不想你离开。 提交于 2020-08-14 03:43:48
文中内容主要参考书籍《unity shader入门精要》,作者为冯乐乐。 本文中将会实现三个经典着色模型:Lambert、Phong、Blinn。这些经典的光照模型在大部分早期建模软件中都出现过,其中有一些软件中至今还存在,现在一看到这些光照模型的材质球效果就可以想起那些古旧的电脑界面和Low爆的画面效果以及风扇嘶吼着的破电脑。这些光照模型效果简陋,但是写Shader最应该先理解清楚它们的原理,这些思路在以后的工作中经常需要用到,而且以后的基于物理的看起来高大上的光照模型也都有这些经典光照模型的原理来支持。 需要注意的是,这里的光照模型都是经验模型,在物理上并不一定是正确的。 之前写过,我认为学习一个知识,如果能把这个知识用结构图的方式画出来,会更深刻的理解它的原理和各知识点互相之间的关系。UE4的可视化节点材质编辑器,简称连连看,给展示材质的结构图提供了一个非常好用的工具,所以在本文中我就分别使用UnityShader和UE4材质连连看实现同一个效果。 我学习材质的时候发现UE4的连连看是真的好用,非常直观且浅显易懂,可以实时地查看效果,比敲代码爽很多。尤其是想要换一个光照模式贼几儿方便,不需要修改很多代码,只需要切换几个选项。可以节省你很多敲键盘的时间,用来思考实现效果的方法。 一、一些基础的概念和定义 光源:平行光、环境光、点光源、聚光灯以及其他一些体积光照

在canvas上绘制3d图形 -转载

馋奶兔 提交于 2020-08-13 16:03:09
项目简介 文章里有相当多的用到中学数学中的知识,推导3d的几何模型是如何绘制到2d平面中去的,最终利用推导出的结论编写代码,实现一个波纹的demo 项目地址: https://github.com/zz632893783/canvas-3d 效果13.gif 安装项目依赖模块 npm install 运行项目 npm run dev 从z轴观察yz平面上的点 01.png 想象一下有这么一个三维空间(如图),有一个点B,我们从A点观察B点。那么B点在xy平面上的投影即AB的延长线与平面xy的交点C。而xy平面不就是可以看一个二维的canvas画布吗。 我们暂且将A点放在z轴,B点放在yz平面,则A点的三维坐标可以表示为 A(0,0,zA),B点的三维坐标可以表示为B(0,yB,zB)。从B点做一条垂线垂z轴于D点。 ADB与AOC是相似三角形,所以有 图片3.png 变换得 图片6.png 其中DB即B点的y坐标,AO即A点的z坐标,DO即B点的z坐标,所以 图片7.png 这里的OC也就是C点的y坐标。 从z轴观察xz平面上的点 02.png 同理我们从A点观察平面xz上的某一点E(xE,0,zE),ADE与AOF是相似三角形 图片8.png 变换得 图片9.png 从z轴观察空间内任意坐标 之前所观测的B点是位于yz平面内,E点是位于xz平面内,但是如果是空间内任意位置的点呢

单相锁相放大器,双相锁相放大器(AD630详解)

一个人想着一个人 提交于 2020-08-13 11:39:42
电路图是经过资料搜集验证并优化之后,实测好用。 如何测量被噪声埋没了的信号? 在测量各种物理量(温度、加速度等)时,用传感器将其变换成为电信号,然后输入到分析仪器(测量仪器)中去。但是,仅想获得必要的信号是很难做到的。通常是连不必要的信号(也就是噪声)也一起被测量了。在各种情况下,噪声都有可能混进来。 锁相放大就是解决在噪声中微弱信号提取的一种很好的方法。 为什么不使用带通滤波器: 使用带通滤波器只让想要测量的频率信号通过,可以抑制噪声,让目的信号浮现出来。但是,使带通滤波器的通带宽度变窄,这也是有限度的。在带通滤波器中,中心频率与通带宽度的比值称作 Q 值,作为衡量带通滤波器的滤波尖锐程度的一项指标来使用。Q 值越大,通带宽度就越窄,抑制噪声的能力就越强。但是,一般的滤波器所能够实现的Q 值, 大约在 100 左右。 对于 1kHz 的中心频率, 相应的通带宽度的限界大约在 10Hz 左右。Q 值不能任意增大的原因,在于组成滤波器的零部件的精确度和时间 /温度的稳定性是有限的。 锁相放大器用特殊的方法,使 Q 提高到约为 10^7 (通常的带通滤波器约为100左右),而且实现了一种特殊的带通滤波器,能够 自动地将中心频率跟踪和保持在测量频率上 。 锁相放大器采用在无线电电路中已经非常成熟的外差式振荡技术, 把被测量的信号通过频率变换的方式转变成为直流。