直线, 从坐标 (X1, Y1) 移动到 (X2, Y2), 假定 X2 - X1 >= Y2 - Y1 > 0. 则: { x = X2 - X1; y = Y2 - Y1; xL = X1; yL = Y1; xA = 0; do { xL ++; xA += y; //X 轴为长轴, 每步 X 轴加一 if (xA >= x) {xA -= x; yL ++;}; //Y 轴一步或数步才加一 } while (xL < X2); //运动到位条件 }
圆弧比较复杂, 需要判定圆心相对位置, 圆弧所在象限, 为了减少运输量还要分段处理--将整圆分为八段,每段有一个长轴,短轴按圆的公式计算.
|