围绕圆画小线的数学

问题描述 投票:0回答:4

我必须围绕一个圆画线(就像在时钟中一样)。我如何使用 for 循环来实现这一点? alt text

javascript html canvas
4个回答
10
投票

我不知道如何在Java中实际绘制一条线,但要计算从中心点开始的坐标

(cx,cy)
使用

px = cx+sin(a)*r
py = cy+cos(a)*r

其中

a
是角度(以弧度为单位 - 我认为 180 度=π 弧度),
r
是半径。

要在外部绘制小线,您需要使用此公式,例如半径为 100,半径为 105,并在两组坐标之间绘制。

例如

for (var a=0,aMax=(2*Math.PI),aStep=(Math.PI/30); a<aMax; a+=aStep){
    px1 = cx+Math.sin(a)*r;
    py1 = cy+Math.cos(a)*r;
    px2 = cx+Math.sin(a)*(r+5);
    py2 = cy+Math.cos(a)*(r+5);

    //draw line between (px1,py1) and (px2,py2)
};

2
投票

看看CoolClock的源代码。


1
投票

您应该阅读基本三角学知识并重点关注象限以实现这一目标。


0
投票

立即注册SOHOTOGEL

,抓住机会赢大奖!体验顶级服务,享受印尼最丰厚的奖金优惠!

© www.soinside.com 2019 - 2024. All rights reserved.