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

Canvas系列(20):画布中画满圆

今天的内容比较简单,我们学习如何在画布中画满圆。要求圆与圆之间不能相交,最终效果如下。 HTML结构 首先我们先展示我们基础的HTML结构。...绘制一个圆 我们从简单的开始,先绘制一个圆。由于我们这里不需要动画,所以不需要 update 方法,只需要 draw 方法即可。...如果绘制的太大了则可能与旁边的圆相交或者超出画布边界,我们这里绘制一个尽可大的圆,尽可能大意味着刚好与其他圆或者边界相切。如果绘制一个这样的大圆呢?...小优化 上面我们绘制圆的时候,由于第一个绘制的圆只受边界相交的限制,假设第一个圆的坐标在靠近中心的位置,就有很大概率绘制一个最大的圆,所以当你多次刷新网页的时候就会发现,通常有一个很大的圆,这样不是那么美观...我们现在让绘制的最大半径修改成 圆最大半径 和 最小半径 + 1 之间的一个随机值,这样可以避免每次都有一个极大圆存在。

6700

随手画个圆,你是怎么画的?我们分析了10万个圆,得到了这样的结论

圆,一个世界通用的形状 圆是一个世界通用的形状,受古希腊人的尊崇,对穆斯林艺术至关重要,也受藏族佛教和禅学的崇尚。 无论你从哪儿开始画,都只有两种方法去画一个圆:顺时针或逆时针。...通过对其中从66个不同国家收集的100多个圆进行一些简单的几何分析,我们发现不同国家的人习惯于不同的画圆方向: 美国人喜欢逆时针画圆,在近5万个美国人所画的圆中有86%是逆时针画的。...恰恰相反,日本人更多习惯于顺时针画圆,800个日本人画的圆中有80%是顺时针画的。 下图是100个来自不同国家的人所画的圆的随机抽样。...1500个韩国人所画的圆有72%是逆时针画的。你也许以为韩国会跟中国台湾和日本的结果相似,但韩语的书写规则其实是与中文和日语恰恰相反的:圆形都是逆时针书写的。...如果孩子逆时针画所有的圆(被认为是右利手的证据)则被认为是“非标准”。 如果孩子顺时针画了一个圆(与左利手相关)都被认为是“标准”。

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

    网页|HTML5 也可以画一画(canvas)

    1.引言 在日常生活中总喜欢涂涂画画写写,这样可以使表达更加直观,记录的也更加详细,而在HTML5中同样可以画一画。...canvas意为画布,现实生活中用它来作画,在HTML5中的canvas与之类似,可以称它为“网页中的画布”,有了这个画布便可以轻松的在网页中绘制图形、文字、图片等。...(1)创建一个画布 HTML5中提供了标签,使用标签可以在网页中创建一个矩形区域的画布。但值得注意的是在默认情况下 元素没有边框和内容。...在canvas图形绘制中,不能像日常生活中,提笔想在哪里画就在哪里画,在这里需要用到坐标来实现。 ?...lineTo()方法用于定义从“x,y”的位置绘制一条直线到起点或上一个线头点。

    2.4K20

    AI绘画,画你心中所想!【飞链云版图】,圆你心中所梦!

    AI绘画,画你心中所想!【飞链云版图】,圆你心中所梦! 不会画画的我有太多时候想去画出一幅画来,不为别的,就是因为我想把我华丽炫彩的梦中情景给展现出来,机甲!外星人!古代侠客!未来城市!...然而如今有一个机会,那就是用ai绘画不断将我的梦中场景输入其中,借助先进科技将我的梦画出来! 下面将介绍一款市面上非常不错的AI绘画小程序。...画作选项,在这个选项中你可以选择化做的类型,油画,素描画,木版画,中国山水画等,可以根据自己的喜好来选择画作类型。  ...ai绘画,让你美梦成画 可以选择不同艺术家的绘画风格,梵高,丰子恺,达芬奇等知名艺术家的风格,用他们的风格去作画,ai圆梦,不需要数年的美术功底,不用你挤出时间去构思,想到什么就画出什么,普通的你,也可以借助...ai画出自己的梦中情画 大家可以细化渲染,色调,场景,视角等绘画细节,输入越详细,表达出的的效果会更好 参考图可以将你的照片放入其中,对其ai绘画,画布大小可以选择三种,其中9:16最适合人物画像。

    38130

    Canvas画图基础

    startAngle, endAngle: 沿着圆指定弧的开始点和结束点的一个角度。这个角度用弧度来衡量。...这里就要说到路径了,在画第二个圆的时候,我们把strokeStyle改了颜色,但是绘制的时候把所有已经有的路径,不管是否绘制过,都重新绘制了一遍,这里有两个圆的路径,所以两个都被涂上了黑色。...顺时针和逆时针的区别 counterclockwise是arc方法的最后一个参数,表示顺时针画还是逆时针画,看字面比较容易理解,但是实际用起来却有点不一样。...然后不管顺时针还是逆时针,endAngle都是同一个地方(有种说废话的赶脚),所以,顺时针就是按顺时针方向从startAngle走到endAngle,而逆时针是从逆时针方向走,所以才有一开始逆时针就画完了整个圆...源码地址:https://github.com/bob-chen/canvas-demo/tree/master/basic 参考 http://www.w3school.com.cn/html5/html

    2K50

    一个比想象中更骚气的圆-svg实现

    之前写了一篇Canvas画图-一个比想象中更骚气的圆(渐变圆环),其实SVG也可以实现类似的效果,而且两者api惊人的相似。...下面的那个circle标签就是定义一个圆,cx,cy,r分别是圆心坐标和半径,fill和stroke分辨对应canvas中的fillStyle和strokeStyle,stroke-width对应canvas...和之前给canvas版的骚气圆环用渐变一样,svg的实现也是定义一个线性渐变,然后让圆用这个渐变来描边stroke="url(#SVGID_1_)" 实际上出来的效果,和Canvas渐变是异曲同工,即使...54的圆,需要用54减去描边宽度的一半,54-10/2,而这里stroke-dasharray的第一个数,我这里设置的是圆的周长,2Math.PI49=307.8760800517997 约等于308啦...另外我还在上面加了一个圆,用来做底色,同时给做动画的圆做了一个旋转transform="rotate(-88 54 54)"用来改变起始点。 效果如下: ?

    3.3K70

    熬夜总结了 “HTML5画布” 的知识点(共10条)

    使用Canvas画基本图形 Canvas的坐标体系 使用Canvas画直线,矩形,圆形 为圆形设置样式 Canvas坐标体系 canvas默认大小,300*150 通过HTML,css,JavaScript...设置width和height的区别 HTML和JavaScript设置的画布大小 css设置的是画布缩放后的大小 坐标系原点及方向(原点在左上角,向右为x方向,向下为y方向) 画直线,矩形和原型 画直线...径向渐变: ctx.createRadialGradient(xStart,yStart, radiusStart,xEnd,yEnd,radiusEnd); (xStart,yStart)是第一个圆的原心...,radiusStart是第一个圆的半径,(xEnd,yEnd)是第二个圆的原心,radiusEnd是第二个圆的半径 第一圆到第二个圆之间的颜色呈现渐变。...ctx.createPattern可以创建一个画刷模式,进而可以设置到fillStyle里,进行画刷的填充。

    7.6K10
    领券