Javascript 为什么不是';t圈?
我在学习2D图形,我试图画圆,但我得到了一些奇怪的曲线Javascript 为什么不是';t圈?,javascript,graphics,2d,geometry,curve,Javascript,Graphics,2d,Geometry,Curve,我在学习2D图形,我试图画圆,但我得到了一些奇怪的曲线 function rotatePoint (point, centerPoint, theta) { point[0] = point[0] - centerPoint[0]; point[1] = point[1] - centerPoint[1]; point[0] = point[0]*Math.cos(theta)-point[1]*Math.sin(theta); point[1] = point[
function rotatePoint (point, centerPoint, theta) {
point[0] = point[0] - centerPoint[0];
point[1] = point[1] - centerPoint[1];
point[0] = point[0]*Math.cos(theta)-point[1]*Math.sin(theta);
point[1] = point[0]*Math.sin(theta)+point[1]*Math.cos(theta);
point[0] = point[0] + centerPoint[0];
point[1] = point[1] + centerPoint[1];
}
配方看起来不错,但是。。。我不知道,我想不出来:/。。。谢谢你的帮助。
您正在更改一个值,然后在计算另一个值时使用该值。必须首先使用原始值计算这两个值,然后设置它们:
var p0 = point[0]*Math.cos(theta)-point[1]*Math.sin(theta);
var p1 = point[0]*Math.sin(theta)+point[1]*Math.cos(theta);
point[0] = p0;
point[1] = p1;
演示:也许你通过的角度是度。Javascript需要弧度。所以θ的范围不是0-360;是0-2分<代码>旋转点(d[400400],数学PI*n/180)代码>或<代码>旋转点(d,[400400],n)代码>-没什么区别当Guffa的答案可能是正确的。