拖动鼠标在正方形内画一个圆
draw a circle within a square while dragging a mouse
我觉得今天过得不太好,而且我正在努力解决一个我认为应该很容易的问题。
我必须在拖动鼠标的同时画一个圆。用户单击并按住、拖动鼠标并释放按钮。
但是:
1) 我有 mousedown 事件的坐标和当前的坐标 (x1, y1, x2, y2)。这个定义了一个矩形。
2)(x1,y1)必须是圆心,半径必须是x1,y1到当前的距离
3) 我必须显示当前半径(值;不是线本身)。
4) 用户必须能够通过向左、向右、向上、向下以及任何中间组合拖动来绘制圆圈。
非常感谢!
PS:作为一个选项(例如,如果用户在按住 shift 键的同时拖动),矩形应该是正方形,应该绘制一个圆形而不是椭圆形。
(打赌 0,0 是左上角,否则将 1 和 2 反转;x1/y1 是 buttondown 是中心)
半径 = sqrt((x1-x2)^2 + (y1-y2)^2)
x_leftuppercorner = x1 - 半径
y_leftuppercorner = y1 - 半径
x_rightlowercorner = x1 + 半径
y_rightlowercorner = y1 + 半径
dCircle(x_luc, y_luc, x_ruc, y_ruc)
我觉得今天过得不太好,而且我正在努力解决一个我认为应该很容易的问题。
我必须在拖动鼠标的同时画一个圆。用户单击并按住、拖动鼠标并释放按钮。
但是:
1) 我有 mousedown 事件的坐标和当前的坐标 (x1, y1, x2, y2)。这个定义了一个矩形。
2)(x1,y1)必须是圆心,半径必须是x1,y1到当前的距离
3) 我必须显示当前半径(值;不是线本身)。
4) 用户必须能够通过向左、向右、向上、向下以及任何中间组合拖动来绘制圆圈。
非常感谢!
PS:作为一个选项(例如,如果用户在按住 shift 键的同时拖动),矩形应该是正方形,应该绘制一个圆形而不是椭圆形。
(打赌 0,0 是左上角,否则将 1 和 2 反转;x1/y1 是 buttondown 是中心)
半径 = sqrt((x1-x2)^2 + (y1-y2)^2)
x_leftuppercorner = x1 - 半径
y_leftuppercorner = y1 - 半径
x_rightlowercorner = x1 + 半径
y_rightlowercorner = y1 + 半径
dCircle(x_luc, y_luc, x_ruc, y_ruc)