如果我知道圆心的像素坐标、圆的半径和垂直角,我如何在圆的圆周上找到一定程度的像素值。基本上,我试图在不同的时间(1点钟,2点钟等)画一个时钟的指针
问问题
6924 次
5 回答
19
设h
小时为 0 到 12 之间的浮点数(h=2.25
将是 02:15 等)。(cX,cY)
是中心的坐标。hLength
是时针和mLength
分针的长度。
// Hour hand
hAngle = 2.0*Pi*h/12.0; // 0..12 mapped to 0..2*Pi
hX = cX + hLength * sin(hAngle);
hY = cY - hLength * cos(hAngle);
// Min hand
mAngle = 2.0*Pi*h; // 0..1 mapped to 0..2*Pi, etc.
mX = cX + mLength * sin(mAngle);
mY = cY - mLength * cos(mAngle);
于 2009-05-29T09:35:17.350 回答
9
其中圆心为(X0, Y0)
,半径为R
,与 x 轴的夹角为 theta:
X1 = (R * cos theta) + X0
和
Y1 = (R * sin theta) + Y0
于 2009-05-29T09:24:46.920 回答
4
如果 (x1,y1) 是圆周上的一个点并且 (x,y) 是中心,那么x1 = x + r * cos(angle)
和y1 = y + r * sin(angle)
于 2009-05-29T09:22:06.613 回答
0
如果中心在 x0, y0 和 0,0 iz 在左下角,则 1 点钟在 x0 + r sin(2π/3), y0+r cos(2π/3)。
于 2009-05-29T09:22:36.877 回答
-1
从中心画线到用sin
y 坐标和cos
x 坐标计算的坐标(两者都乘以手的长度)。
于 2009-05-29T09:23:22.507 回答