zoukankan      html  css  js  c++  java
  • 裁剪算法——多边形裁剪/文字裁剪

    五、多边形裁剪

    多边形裁剪算法的输出应该是裁剪后的多边形边界的【定点序列】

    5.1Sutherland—Hodgeman多边形裁剪——>【分而治之】
    基本思想:
    将多边形边界作为一个整体,每次用窗口的一条边对要裁剪的多边形和中间结果多边形进行裁剪。

    把平面分为两个区域:包含有窗口区域的一个域称为可见侧;不包含窗口区域的域为不可见侧。
    裁剪得到的结果多边形的顶点有两部分组成:
        (1)落在可见一侧的原多边形顶点;
        (2)多边形的边与裁剪窗口边界的交点。

    根据多边形每一边与窗口所形成的位置关系,沿着多边形依次处理顶点会遇到四种情况:
    (1)第一点S在不可见侧面,第二点P在可见侧面,则交点I与点P均被加入到输出顶点表中;

    (2)第一点S和第二点P都在可见侧,则点P被加入到输出顶点表中;

    (3)第一点S在可见侧,而第二点P在不可见侧,则交点I被加入到输出顶点表中;

    (4)第一点S和第二点P都在不可见侧,则输出顶点表中不增加任何顶点


    【不足之处】
    Sutherland—Hodgeman算法对凸多边形进行裁剪可以获得正确的裁剪结果,但是对凹多边形进行裁剪的结果可能存在问题。


    六、文字裁剪
    文字裁剪包括:串精度裁剪/字符精度裁剪/笔画/象素精度裁剪
    6.1串精度裁剪

    当字符串中的【所有】字符都在裁剪窗口内时,就全部保留它,否则舍弃整个字符串。

    6.2字符精度裁剪

    在进行裁剪时,任何与窗口有【重叠或落在窗口边界以外】的字符都被裁剪掉

    6.3笔画/象素精度裁剪

    将笔划分解成直线段对窗口坐裁剪,需要判断字符串中各字符的哪些象素、笔画的【哪一部分】在窗口内,保留窗口内部分,裁剪掉窗口外的部分。

  • 相关阅读:
    作妖系列——更改spyder黑色主题
    latex beamer 插入代码
    LaTeX 如何在文档的侧面插入图片实现"绕排"?
    svm
    约束优化方法之拉格朗日乘子法与KKT条件
    Latex algorithm
    对于连续目标函数的学习问题,当误差为正态分布,而且在没有任何先验知识的条件下,最大似然估计与最小均方误差等价
    R语言table()函数
    高性能Linux服务器配置
    深度学习
  • 原文地址:https://www.cnblogs.com/Penglimei/p/9690418.html
Copyright © 2011-2022 走看看