第633页 21
- 章节名:21
- 页码:第633页
第632页讲canvas处,rotateAbout函数应为逆时针旋转theta弧度,而不是顺时针旋转。英文原文也错了,应为couterclockwise, 而不是clockwise. 以下为验证(另外通过数学变换也可推出): <canvas id="my_canvas_id" width=1000 height=1000></canvas> <script> var canvas = $('#my_canvas_id')[0]; var c = canvas.getContext('2d'); function rotateAbout(c, theta, x, y) { var ct = Math.cos(theta), st = Math.sin(theta); c.transform(ct, -st, st, ct, -x*ct-y*st+x, x*st-y*ct+y); /* 等同如下变换序列 c.translate(x, y); c.rotate(theta); c.tranlate(-x, -y); */ } rotateAbout(c, Math.PI, 500, 500); c.beginPath(); c.moveTo(300, 300); c.lineTo(200, 200); c.lineTo(100, 200); c.stroke(); </script>
说明 · · · · · ·
表示其中内容是对原文的摘抄