C ++ GUI绘图线与数学

时间:2016-08-17 06:42:35

标签: c++ math win32gui

我尝试使用WM_LBUTTONDOWNWM_LBUTTONUP给出2个点之间的正方形绘制直线(它们为startIndexendIndex提供值) 。当我使用笔和纸进行数学计算时,我总能得到正确的结果,但我的代码中存在某种我无法获得的错误。基本上有一个正方形网格,每个正方形给出一个从0开始的值。

grid

到目前为止,这是我的代码:

int xDiff = endX - startX;
int yDiff = endY - startY;
int steps = xDiff > yDiff ? xDiff : yDiff;
for (int i = steps; i >= 1; i--){
  startIndex += (endIndex - startIndex) / i;
  startIndex = round(startIndex);
}

直线向上或向下并且以45度角向右倾斜,其他线条碎成碎片。任何帮助都会被疯狂地赞赏。

//----------------------

编辑:该死,我认为我的公式在同样的情况下是错误的。我必须改变我的做法。

//------------------------

最后编辑:感谢您指出了正确的方向,Bresenheim做到了:)

找到了这个惊人的教程:Bresenheim

0 个答案:

没有答案