当程序中遇到三角函数的时候我是懵逼的,于是百度了“初中三角函数”, 忘了这几个公式的,自己打脸. 目的是通过Canvas画一个五角星, 突破口:只要能通过给定的两个外圈点的半径,和内圈点的半径,借助上面的公式计算出每个五角星点的坐标. 主要代码如下: [300]指的是外圈的半径 [150]指的是内圈的半径 <canvas id="canvas" width="800" height="800"></canvas> var…
最近一个小伙遇到一个需求,客户需要绘制圆点样式的线条. 大致效果是这样的: 思路一:计算并使用arc填充 他自己实现了一种思路,然后咨询我有没有更好的思路. 先看看他的思路是如何实现的,大致代码如下: // 绘制圆点线,通过计算在线条上进行插值运算,计算出需要绘制圆点的一系列点位 // 然后调用drawDot方法绘制圆点 function DrawDottedLine(x1,y1,x2,y2,dotRadius,dotCount,dotColor){ var dx=x2-x1; var dy=y…
最近一直在使用 css-doodle 实现一些 CSS 效果. css-doodle 是一个基于 Web-Component 的库.允许我们快速的创建基于 CSS Grid 布局的页面,以实现各种 CSS 效果(或许可以称之为 CSS 艺术).后续几篇文章可能都会与之有关. 当然,本文的主角并不是 css-doodle. CSS本身一直在快速发展更新,标准也与时俱进,各种新特性层出不穷,为了能够使用 CSS 来创造各种布局实现各种形状,除了合理运用及搭配各个属性之外,去理解压榨每个属性的每个细节…
最近搞Canvas绘图,知道了JavaScript中提供了atan2(y,x)这样一个三角函数.乍眼一看,不认识,毕竟在高中时,学过的三角函数有:sin,cos,arcsin,arccos,tan,arctan等,并没有这个.而工作中又需要用到它,所以这里就做了个简单的了解. 在坐标系中理解tan 和atan 为何存在atan2 ? atan2 应用 何时需要用到 atan2 在坐标系中理解tan 和 atan 回顾一下三角函数tan: tanθ,用三角函数来表示时,它的值等于sinθ/cosθ…
前言: 上一篇已经介绍了用自己定义的属性怎么简单定义一个view<Android 自定义view(二) -- attr 使用>,那么接下来我们继续深究自定义view,下一步将要去简单理解自定义view的一个比较重要的方法 onDraw(Canvas canvas) ,在探究 onDraw方法之前,我们必须先深入了解两个类Paint和Canvas .   第一:认识Paint 在探究onDraw之前首先必须要认识两个类,这里给出非常不错的两个资料参考网站,我也是从这里得到想要知道的东西,简单的说…
在游戏开发过程中,光照应该是必不可少部分,当然,这是指大多数的稍微大型一些的3D游戏会需要,给模型或者山山水水加上光照,会看上去更加的真实,获得更好的体验.一个本身不发光物体显示什么颜色,在于本身反射什么颜色,比如一块石头,在太阳光的照射之后,你看到是红色的,而太阳光是白色的,白色是因为RGB组合而成,这快石头吸收了绿色和蓝色,反射了红色,那么你看到这块石头就会是红色的! 那么谈到反射,就分为了漫反射(diffuse)和镜面反射(specular),先说漫反射 因为表面凹凸不平,所有法线的方向也…
机器学习牛人博客 机器学习实战之SVM 三种SVM的对偶问题 拉格朗日乘子法和KKT条件 支持向量机通俗导论(理解SVM的三层境界) 解密SVM系列(一):关于拉格朗日乘子法和KKT条件 解密SVM系列(二):SVM的理论基础 解密SVM系列(三):SMO算法原理与实战求解 (一)关于拉格朗日乘子法 首先来了解拉格朗日乘子法,那么为什么需要拉格朗日乘子法?记住,有拉格朗日乘子法的地方,必然是一个组合优化问题.那么带约束的优化问题很好说,就比如说下面这个:   minf=2x21+3x22+7x2…
最近,笔者想研究BERT模型,然而发现想弄懂BERT模型,还得先了解Transformer. 本文尽量贴合Transformer的原论文,但考虑到要易于理解,所以并非逐句翻译,而是根据笔者的个人理解进行翻译,其中有一些论文没有解释清楚或者笔者未能深入理解的地方,都有放出原文,如有不当之处,请各位多多包含,并希望得到指导和纠正. 论文标题 Attention Is ALL You Need 论文地址 https://arxiv.org/pdf/1706.03762.pdf 摘要 序列转换方式由基于…
技术背景 在前面几篇跟SETTLE约束算法相关的文章(1, 2, 3)中,都涉及到了大量的向量旋转的问题--通过一个旋转矩阵,给定三个空间上的欧拉角\(\alpha, \beta, \gamma\),将指定的向量绕对应轴进行旋转操作.而本文主要就阐述这些旋转操作中,有可能面临到的一个重要问题--万向节死锁问题(Gimbal Lock). 一般大家觉得用图像化的方式来展示问题会显得更加的直观,但是这里我们准备直接用公式来陈述一下这个问题,也许会更直接.首先我们知道几个熟悉的旋转矩阵: \[R_Y(…
马上就要国庆了,在这个举国欢庆的日子里面,让我来画一个五角星表表我的爱国之情,啊?那你不是要画一个五星红旗?是的,你猜对了,其实我的最初想法只是画一个空心的正五角星,为了满足你,我拼一拼.在这个过程中却发现了一些问题,数学你原来这么美,我在少年时期就爱上了你,只是在后来我累了,把你抛弃了,值得庆幸的是,我现在又回来了,而你还是给了我一次机会.(现实其实太美,我不敢看,以上情节纯属虚构,切勿模仿,珍惜眼前人) 本文内容申明 内容针对canvas方面做一个星级评级方面的demo前期,仅表述个人观点与…