第一个参数是控制点的横坐标,第二个参数是控制点的纵坐标
for(var i = 0; i < 20; i ++){ var r = Math.random() * 10 + 10; var x = Math.random() * canvas.width/10; // 偏移量写成了10分之一 var y = Math.random() * canvas.height/10; // 偏移量写成了10分之一 var a = Math.random() * 360; console.log(r,x,y,a) frawStar(context , x , y , r , (r / 2.0) , a); // 参数位置写错了 // 应该是frawStar(context ,内圆半径, 大圆半径, 偏移x , 偏移y , 旋转角度a); }
改成如下即可
for(var i = 0; i < 20; i ++){ var r = Math.random() * 10 + 10; var x = Math.random() * canvas.width; var y = Math.random() * canvas.height; var a = Math.random() * 360; console.log(r,x,y,a) frawStar(context , (r / 2.0), r, x , y , a);//调用五角星函数 }
dis 方法中的 Math.sqrt 错了
function dis (x1, y1, x2, y2) {
return Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
少了个括号把参数包住
就是看你传的event
找不到在哪里删除这个评论,已经解决了。
在画外圆的时候arc(..., true);逆方向画圆就行了
半圆是因为arc之后的moveTo到的点不是arcTo的起始点,把arcTo的起始点和终止点交换的:第一个就是半圆,第二个就是弯月
Canvas绘图这个就不错呀
直接上搜索,就可以了,
绘图时给两个正方形颜色是不同的,因为进行了位移,两个正方形坐标顶点不一样,不是完全重叠的,所以绿色的正方形不会覆盖红色的正方形
这里计算的不是顶角度数,而是两个相邻定点与圆心之间形成的圆心角,就是360除以5,得到72deg了。
请问问题解决了吗?我也遇到该问题
lineTo(x,y)里面的x,y的角度都需要同时修改,看你这个情况应该是只修改了x里面的角度。需要把y里面的角度也做处理
写法很奇怪,代码也不全,图片也没法看
text返回标签文本内容,和<a>标签或者其他标签无关的吧...
这个需要什么源码,自己照着老师的敲不就完事了
没有找到,但是我都有随堂写好,你需要的话,可以发你
cos(A - B) = cosA * cos B + sinA * sinB;
cos(126) = cos180 * cos54 + sin180 * sin54
cos(126) = -1 * cos54 + 0 * sin54
cos(126) = -cos(54)
已解决
圆心连接五个大圆上的点,会发现圆心由五个相同的角组成,每个角为360/5= 72度
坐标轴右上方那个总共90度,减去72度,剩下的就是18度
圆心连接的短的为角平分线,所以一个角是72/2=36度 36+18 = 54
在谷歌浏览器中不行,换了WIn10自带浏览器可以居中
有代码吗?你可以看下你的closepath 里面的 p是否是大写的 closePath()
颜色十六进制:#f00或者#ff0000(你缺了#);
你的drawStar函数的实参和形参不对应啊(粗心)。
com.createdPattern is not a function多明显,createPattern不是createdPattern