计算离散frechet距离

frechetdist的Python项目详细描述


Build Status

DOI

离散fréchet距离

计算 两条曲线。a中两条曲线之间的fréchet距离 度量空间是对曲线之间相似性的度量。 离散FréChET距离可用于近似计算。 两条任意曲线之间的fréchet距离, 作为使用多边形之间精确fréchet距离的替代方法 曲线的近似值或该值的近似值。

这是一个python 3.*算法的实现 在eiter,t.和mannila,h.,1994年。Computing discrete Fréchet distance。技术。 技术大学信息系统系CD-TR 94/64报告 维也纳的。

Function dF(P, Q): real;
    input: polygonal curves P = (u1, . . . , up) and Q = (v1, . . . , vq).
    return: δdF (P, Q)
    ca : array [1..p, 1..q] of real;
    function c(i, j): real;
        begin
            if ca(i, j) > −1 then return ca(i, j)
            elsif i = 1 and j = 1 then ca(i, j) := d(u1, v1)
            elsif i > 1 and j = 1 then ca(i, j) := max{ c(i − 1, 1), d(ui, v1) }
            elsif i = 1 and j > 1 then ca(i, j) := max{ c(1, j − 1), d(u1, vj ) }
            elsif i > 1 and j > 1 then ca(i, j) :=
            max{ min(c(i − 1, j), c(i − 1, j − 1), c(i, j − 1)), d(ui, vj ) }
            else ca(i, j) = ∞
            return ca(i, j);
        end; /* function c */

    begin
        for i = 1 to p do for j = 1 to q do ca(i, j) := −1.0;
        return c(p, q);
    end.

参数

P : Input curve - two dimensional array of points
Q : Input curve - two dimensional array of points

返回

dist: float64
The discrete Frechet distance between curves `P` and `Q`.

示例

>>> from frechetdist import frdist
>>> P=[[1,1], [2,1], [2,2]]
>>> Q=[[2,2], [0,1], [2,4]]
>>> frdist(P,Q)
>>> 2.0
>>> P=[[1,1], [2,1], [2,2]]
>>> Q=[[1,1], [2,1], [2,2]]
>>> frdist(P,Q)
>>> 0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android如何将GetText从onprexecute传递到onBackground   神谕jdbc。驾驶员OraclePreparedStatementWrapper。executeUpdate(OraclePreparedStatementWrapper.java:1350)。更新时出现异常   java spring:通过集成身份验证为sql server配置属性   java是根据特定输入动态生成字符串的代码   java如何在安卓中使用MVP层之间的注入?   Java数学库计算日志   java为什么XSD模式和WSDL模式之间存在差异?   servlet上传java图像导致类未找到异常   java无法通过代理连接到websocket   因子输出中的整数数?简单java程序   java如何查找回滚异常的原因?   angularjs节点服务器拦截从angular(http)到java spring后端的所有请求   java无法将null Jackson节点反序列化到集合   java如何使用GroupLayout进行缩进?   java将不存在的日期插入内存数据库   java如何从DynamoDB中的非键属性中搜索一个项?   java如何在jBOSS AS 7上部署工作流引擎   java Tic Tac Toe与GUI   通用抽象类的java自定义反序列化   java如何根据href链接动态更改Thymeleaf片段