| 网站首页 | 业界动态 | 游戏教程 | 佳宾留言 | 游戏屋商城 | 供求信息 | 人力资源 | 
您现在的位置: 游戏屋 >> 游戏教程 >> 程序教程 >> 移动平台 >> 教程正文 用户登录 新用户注册
J2ME实现图形学之——Bresenham画线            【字体:
J2ME实现图形学之——Bresenham画线
作者:佚名    教程来源:网络搜集    点击数:    更新时间:2006-5-20    
采用增量计算
如果本次为y列,下一次肯定为y+1列
x为x或者x+1取决于增量d
y每增加1,d的值相应的增加直线的斜率k,即d = d + k,一旦d >= 1时,就将它减去,这样保证d始终在0到1之间。当d大于0.5时,更接近像素(x+1, y+1),而当d<0.5时,更接近像素(x, y+1),令e = d - 0.5, 则当e >= 0时,下一个像素的x下标增加1, 而当e < 0时,x不增加
e的初值为-0.5
因为只用到了e的符号
让e = 2 * e * dx
程序如下:
public void BresenHam_Line(Graphics g, int x0, int y0, int x1, int y1, int color)
  {
    int x, y, dx, dy;
    int e;
    dx = x1 - x0;
    dy = y1 - y0;
    e = -dx; 
    x = x0;
    y = y0;
    for(int i = 0; i <= dx; i++)
    {
      g.setColor(color);
      g.drawLine(x, y, x, y);
      x = x + 1;
      e = e + 2*dy;
      if(e >= 0)
      {
        y = y + 1;
        e = e - 2 * dx;
      }
    }
    
  }

编译通过


教程录入:网友提供    责任编辑:游戏屋 
  • 上一篇教程:

  • 下一篇教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关教程
  • J2ME 2D小游戏入门之旅(二)完
  • J2ME实现图形学之——中点画
  • J2ME实现图形学之——中点划
  • J2ME 2D小游戏入门之旅(三)控
  • J2ME 2D小游戏入门之旅(四)加
  • J2ME 2D小游戏入门之旅(五)实
  • J2ME 2D小游戏入门之旅(六) 
  • J2ME 2D小游戏入门之旅(七) 
  • J2ME 2D小游戏入门之旅(八)源
  • J2ME游戏开发中使用层的概念
  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)