zoukankan      html  css  js  c++  java
  • SimplePath 简单路径类

    核心类:GSimplePath

    主要功能:

         1:是否自相交

         2:计算自相交的点

         3:根据相交的点将其拆分成多条路径

         4:计算路径的长度

         5:反向路径

         6:将两条路径连接起来

         7:获取路径的范围

         8:点是否在路径内部

         9:路径是否在另一条路径内部

         10:获取子路径

         11:用一条线段将路径切开,分成两部分

         12:计算面积和中心点

         13:计算减去另外一个曲线后的结果

         14:将另外一条路径和本路径的交点加入到当前路径中

         15:将路径中的自相交点加入到路径中

         16:移除小短线

          17:填充三角化

    辅助类:GLine,直线类

           1:计算直线的两个点和另外一个点构成的三角形的面积

           2:计算线段的标准方程

           3:根据x求y

           4:根据y求x

           5:计算直线和直线之间的交点

    示例程序效果

    1:直线相交(绿色的十字叉标识出了相交的位置)

     2:点是否在曲线内(蓝色的为曲线,红色的十字叉标识了在曲线外的点,绿色的十字叉标识了在曲线内的点)

    3:曲线自相交(红色的曲线根据自相交的位置被才成了青色,白色,紫色,黄色四个子曲线)

    4:曲线相减(蓝色和白色的曲线为原始出现,蓝色的曲线减去和白色部分相交的得到绿色的曲线,白色的部分减去和蓝色的相交的得到红色的部分)

    5:填充三角化(左边的表示了一个填充区域,一个大的曲线里面被挖掉了两个小的曲线,右边显示的三角化后的填充区域,得到了三个曲线,和左边表示的填充区域是完全一样的,只不过挖掉了内曲线)

    下载测试程序:

    https://files.cnblogs.com/boitboy/SimplePathTest.rar

    下载源代码:

    https://files.cnblogs.com/boitboy/SimplePath.rar

  • 相关阅读:
    python numpy 介绍
    python+图像分割seg
    C++ 添加库
    input标签的disabled和readonly的区别
    linux中mysql忘记密码解决办法
    memcached服务安装与卸载
    app与服务端通信时如何进行消息校验
    缓存同步问题
    数据中添加对字段的说明
    服务器报警
  • 原文地址:https://www.cnblogs.com/boitboy/p/2964001.html
Copyright © 2011-2022 走看看