We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
最近在研究曲线运动的时候,尝试了用 AI 导出的 SVG 路径之后,发现有些还是回归到数学中更合适一些。搜集了一些资料,尝试后总结一下。
阿基米德螺旋是以公元前 3 世纪希腊数学家阿基米德命名的螺旋。它是一个轨迹,对应于一个点在一段时间内的位置,该点沿着一条以恒定角速度旋转的线以恒定速度离开一个固定点。在极坐标系中的公式描述:
当 c = 1 时,就是通常所说的阿基米德螺旋。
公式说明:
实际应用有:
用 canvas 绘制曲线,canvas 的坐标系是笛卡尔坐标系,需要做一个转换。
由上面的图可知取一个点有下面的数学转换关系:
x = rcos(θ) y = rsin(θ) θ = arctan(y/x)
结合极坐标系的公式可得:
x = (a + bθ)cos(θ) y = (a + bθ)sin(θ)
这是示例,绘制主要逻辑代码:
function draw() { let a = 0, b = 10, angle = 0; let x = 0, y = 0, points = []; const acceleration = 0.1, circleNum = 2; // 注意这里角度的递增,以 2 * Math.PI 为基准进行比较,控制画多少圈 while (angle <= circleNum * 2 * Math.PI) { x = (a + b * angle) * Math.cos(angle); y = (a + b * angle) * Math.sin(angle); points.push([x, y]); angle = angle + acceleration; } // 实现把点绘制成线的方法 line({ points: points}); }
改变其中的参数,会产生很多不同的图形,有的看起来并不是曲线。
最近看了《银翼杀手2049》,故事讲的还是蛮好的,本以为所有的线索都指向了一个答案,没想到最后并不是这样,但回想一下的确也是说的通。
关于复制人“繁衍”的秘密还是蛮吸引人的,不知道什么时候能出续集。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
引子
最近在研究曲线运动的时候,尝试了用 AI 导出的 SVG 路径之后,发现有些还是回归到数学中更合适一些。搜集了一些资料,尝试后总结一下。
简介
阿基米德螺旋是以公元前 3 世纪希腊数学家阿基米德命名的螺旋。它是一个轨迹,对应于一个点在一段时间内的位置,该点沿着一条以恒定角速度旋转的线以恒定速度离开一个固定点。在极坐标系中的公式描述:
当 c = 1 时,就是通常所说的阿基米德螺旋。
公式说明:
实际应用有:
绘制
用 canvas 绘制曲线,canvas 的坐标系是笛卡尔坐标系,需要做一个转换。
由上面的图可知取一个点有下面的数学转换关系:
结合极坐标系的公式可得:
这是示例,绘制主要逻辑代码:
改变其中的参数,会产生很多不同的图形,有的看起来并不是曲线。
参考资料
🗑️
最近看了《银翼杀手2049》,故事讲的还是蛮好的,本以为所有的线索都指向了一个答案,没想到最后并不是这样,但回想一下的确也是说的通。
关于复制人“繁衍”的秘密还是蛮吸引人的,不知道什么时候能出续集。
The text was updated successfully, but these errors were encountered: