为了账号安全,请及时绑定邮箱和手机立即绑定

最新回答 / 大猫君
已解决ctx.textBaseline="top"; 

最新回答 / 啊B
你函数参数值没对应起来  具体就是以下两行代码<...code...>没有一一对应啊, 你把r/2.0当成x传给了 drawStart 不知道能不能理解

最新回答 / 梅如雪
可以,但要有足够的数学知识
越学,越觉得自己要学的东西越多了,2018.11.06
const 绘制多边形=(边数,偏移横坐标,偏移纵坐标,半径)=&gt;{
const 平分角度=360/边数, 圆周率=Math.PI
for (let 索引=0;索引&lt;边数;索引++){
let 横坐标=Math.cos(((90-平分角度+平分角度*索引)*圆周率)/180)*半径+偏移横坐标
let 纵坐标=-Math.sin(((90-平分角度+平分角度*索引)*圆周率)/180)*半径+偏移纵坐标
ctx.lineTo(横坐标,纵坐标)
}
}
学到这里有点枯燥了

已采纳回答 / 元鱼
如果不涉及到图形变换(旋转、缩放、倾斜)可以不适用save,begin和close是路径的开始和闭合多数适用在线段,弧线等场景

最新回答 / 23568
[10,20) 说最大值为20也无所谓吧………这种事情也需要纠结吗……… 别太较真…………
Math.random取不到1的。。。。
这波数学给满分

已采纳回答 / 对酌
有必要这么复杂么,直接控制x,y的值在正常显示范围内不就好了,可以根据大圆大R来计算x,y具体的范围值,比如x的范围值是  0+R 到 canvas.width-R,y值的范围也根据这个算出来就可以了,具体部分代码是:<...code...> 

最新回答 / 哈士奇你怕吗
对源代码修改:function drawStar(cxt,r,R,x,y,color,rot, lineWidth){cxt.clearRect(0,0,800,800);//   <-------------------------在这里清除画布cxt.beginPath();    for (let i = 0; i < 5; i++) {        cxt.lineTo(Math.cos((18 + i * 72- rot) / 180 * Math.PI) * R + x,    ...
虽然不懂什么非零环绕原则,但是还是觉得老师讲的好棒
课程须知
需有基础HTML,JS,CSS知识。需学习《绚丽的倒计时效果》Canvas绘图第一课。
老师告诉你能学到什么?
深入了解Canvas各个绘图接口的使用方法。基础图形学知识。通过对一些基本元素的绘制,启发大家更多有效地绘图方法。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消