根据起点终点坐标,计算显示区域

yangyunzhao 2018-03-28 10:47:08
在做SLG游戏,有一张2048*2048的地图,可以分割N*N个正方形,并依次编号

假设有一条线段,起点是(sa,sb),终点是(ea,eb),想计算这条线段从哪些格子经过(如果正好从格子交点经过,就算同时从4个格子经过)

能不能给一点算法提示?谢谢
...全文
1095 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiger波波 2018-06-15
  • 打赏
  • 举报
回复
简单点的话方格和编号不用做。直接一个一个点的分析坐标。 假如图片100*100,格子是10*10 随意给个点,48,85,分别整除10,得到4,8.就知道是哪个格子了
zhoujk 2018-06-05
  • 打赏
  • 举报
回复
两点构成线段,计算空间每个点到这条线段的距离。如果大于1则剔除。 如果垂点不在线段内,则返回与两个端点的距离的最小值。 这个算法稍稍有点麻烦。但好处是把(1-距离)做强度值,可以实现反锯齿功能。
zgl7903 2018-03-30
  • 打赏
  • 举报
回复
刚写的一段代码,你验证下看看 计算[s,e]线段是否经过rc区域
赵4老师 2018-03-29
  • 打赏
  • 举报
回复
画一张2048x2048的RGB位图,比如N为64,则每小块大小为32x32像素。 X=0..63横向64块,Y=0..63纵向64块。 将位于(X,Y)处的32x32像素的小块填色R,G,B=0,X,Y 一条线段,起点是(sa,sb),终点是(ea,eb), 调用Win API LineDDA得到线段(sa,sb)-(ea,eb)上各点的(x,y),再GetPixel得到对应的R,G,B即0,X,Y

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧