首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 快速的用矩形去裁剪多边形坐标的方法 [已结贴,结贴人:GentleCat]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • GentleCat
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-21 17:34:32 楼主
    有一系列的多边形坐标,现在需要用一个矩形的区域来将他们裁剪,超过矩形区域的点删除或与矩形边界求交,请问有没有什么高速的方法?

    分别与各边进行切割的算法如果可以达到惊人的速度也可.
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 18:22:541楼 得分:5
    没搞过!!
    关注+学习!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • gomoku
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:20:012楼 得分:85
    C# code
    \ A(x0,y0) ------------ D \ | | \ | | \ | | \ | | \ B------------ C(x1,y1) \ \Line1


    1. Trivial reject
      a. if both ends are higher than y0, reject
      b. if both ends are lower than y1, reject
      c. if both ends are larger than x1, reject
      d. if both ends are smaller than x0, reject

    2. 'Trivial reject' is fast and should clip many of the polygon sides.
      if you are not satisfied and want to cut more, you might look into
      algorithm like Cohen-Sutherland Line-Clipping. here is a link:

    Computer Graphics - Clipping


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zlkingdom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:51:433楼 得分:5
    这是个好的学习帖啊,帮你顶上去
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • GentleCat
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:56:454楼 得分:0
    thank gomoku,

    your method cut a side one by one only,
    but I am interesting in your link~

    thanks a lot!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • LQknife
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 11:58:005楼 得分:5
    好高深啊 晓习
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved