zoukankan      html  css  js  c++  java
  • canvas 非零环绕原则

    文字版:

    非零环绕原则:
      如果需要判断某一个区域是否需要填充颜色. 就从该区域中随机的选取一个点。

    从这个点拉一条直线出来, 一定要拉到图形的外面. 此时以该点为圆心。
    看穿过拉出的直线的线段. 如果是顺时针方向就记为 +1, 如果是 逆时针方向,
    就记为 -1. 最终看求和的结果. 如果是 0 就不填充. 如果是 非零 就填充.

    说实话光看文字  实在是悟不出来什么意思 可能人比较菜吧。

    个人理解: 假如划线顺时针是1 逆时针是-1  首先是看你的线把区域分成几块,

    每块都假设往外走出一条线,像图中黑色区域往外 就经过一条顺时针的线  那黑色部分就要填充颜色

    而里面的房子往外走 要先经过逆时针的线 再经过顺时针 这样 -1 + 1 = 0 就不填充颜色。

    以上。 开始我都是顺时针划线 结果一片漆黑  不过有了 beginPath() 重新画一条线就是了

    每天都是不想努力的一天....
  • 相关阅读:
    多姿多彩的线程
    字典操作
    字符串语法
    购物车
    列表常用语法
    整数划分问题
    计算N的阶层
    判断是否是素数
    快速排序
    冒泡排序
  • 原文地址:https://www.cnblogs.com/Theia/p/13276609.html
Copyright © 2011-2022 走看看