kdtree备份

2023-10-26

库在这里

这个很好用。

例子:

/*! gcc -Wall -g -o test test.c libkdtree.a */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <assert.h>
#include <time.h>
#include "kdtree.h"


int main(int argc, char **argv)
{
    long i, vcount = 5000;
    void *kd, *set;
    unsigned int msec, start;

    if (argc > 1 && isdigit(argv[1][0])) {
        vcount = atoi(argv[1]);
    }
    printf("inserting %d random vectors... ", vcount);
    fflush(stdout);

    kd = kd_create(3);

    start = clock();
    for (i = 0; i<vcount; i++) {
        float x, y, z;
        x = ((float)rand() / RAND_MAX) * 200.0 - 100.0;
        y = ((float)rand() / RAND_MAX) * 200.0 - 100.0;
        z = ((float)rand() / RAND_MAX) * 200.0 - 100.0;

        assert(kd_insert3((kdtree*)kd, x, y, z, 0) == 0);
    }

    msec = clock() - start;
    printf("%.3f sec\n", (float)msec);

    start = clock();
    //set = kd_nearest_range3((kdtree*)kd, 100, 100, 100, 30);
    set=kd_nearest3((kdtree*)kd, 100,100,100);
    msec = clock() - start;
    printf("range query returned %d items in %.5f sec\n", kd_res_size((kdres*)set), (float)msec);

    double pos[3];
    while (!kd_res_end((kdres*)set)) {
        /* get the data and position of the current result item */
        kd_res_item((kdres*)set, pos);

        /* print out the retrieved data */
        printf("node at (%.3f, %.3f, %.3f)\n",
            pos[0], pos[1], pos[2]);

        /* go to the next entry */
        kd_res_next((kdres*)set);
    }


    kd_res_free((kdres*)set);

    kd_free((kdtree*)kd);
    getchar();
    return 0;
}

 

转载于:https://www.cnblogs.com/tiandsp/p/7440832.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kdtree备份 的相关文章

  • VS Code for Mac Hello World

    VS Code for Mac Hello World VS Code 控制台应用 打开VSCode gt Open gt 选择已经创建好的空文件夹Hello World Terminal gt New Terminal 打开控制台 dot
  • 算法之线性排序

    目录 前言 桶排序 计数排序 基数排序 问题 总结 参考资料 前言 桶排序 计数排序 基数排序这些排序算法的时间复杂度是线性的 所以我们把这类排序算法叫作线性排序 Linear sort 之所以能做到线性的时间复杂度 主要原因是 这三个算法
  • Qt 5 架构和特点

    Qt 5 模块构架 模块 功能 Qt Core Qt 5 的核心类库 每个模块都建立在Core上 Qt GUI 图形用户界面开发的最基础的类库 Qt Widgets 提供c 用户界面部件 是对Qt GUI的拓展 Qt SQL 对数据库进行操
  • ios开发入门

    开发一个应用程序看起来复杂 实际上我们可以分为以下几个方面来看 设计用户界面 定义交互 实现行为 整合数据 我们这里需要先提一种典型的软件设计典范 也就是我们常说的MVC模式 业务模型 Model 用户界面 View 页面业务逻辑 Cont
  • web前端炫酷实用的HTML5应用和jQuery插件

    又开始了新的一天 我们也将继续为大家分享许多优秀的HTML5应用和jQuery插件 作为前端开发者来说 这些资源可以帮助你在项目开发上派上用场 下面一起来看看这些炫酷而实用的HTML5应用和jQuery插件吧 1 jQuery CSS3图片
  • AI+无线通信

    1 赛题与数据 官方介绍已经比较清楚了 按照需要下载对应的文件 博主使用的是pytorch版本 2 代码的本地部署 2 1 文件列表 示例程序文件有以下几个文件 Model define pytorch py 在这个文件设计网络结构 设计
  • Redis----布隆过滤器

    目录 背景 解决方案 什么是布隆过滤器 布隆过滤器的原理 一些其他运用 背景 比如我们在观看新闻或者刷微博的时候 会不停地给我们推荐新的内容 我们发现几乎没有重复的 说明后台已经进行了去重处理 基于如何去重 Redis给出了高效的方案 布隆
  • shell脚本之实现menu菜单

    bin bash function copy read p please input your old file old file read p please input your new file new file cp r old fi
  • 目标检测 基于IOU的匹配算法

    目标检测是计算机视觉领域的一个重要研究方向 旨在通过算法识别出图像中存在的目标物体 并对其进行分类 定位和跟踪等任务 而基于IOU的匹配算法是目标检测中常用的一种算法 其原理是通过计算目标框之间的重叠率 IOU 来确定目标检测算法所预测的目
  • 什么是哈希算法?

    哈希算法的基本含义 哈希是密码学的基础 理解哈希是理解数字签名和加密通信等技术的必要前提 哈希 英文是 hash 本来意思是 切碎并搅拌 有一种食物就叫 Hash 就是把食材切碎并搅拌一下做成的 哈希函数的运算结果就是哈希值 通常简称为哈希
  • iframe允许嵌入的视频全屏播放

    iframe允许嵌入的视频全屏播放 设置 allowfullscreen true
  • 记一次修改DiyBox的经历(openwrt固件解包与打包)

    吐槽几句 做技术的有无私造福人类的 也有耍流氓坑人的 说的不是DiyBox 而是 信利 信利就是一家犯贱 祸害大学生 助纣为虐的流氓公司 其所谓的 防私接 技术让电信和移动牢牢的垄断着学校的宽带资源 还让学生花费了大量的冤枉钱 当然 有狗熊
  • openGL之API学习(二十九)glDepthRange

    将规范化的深度范围 1 1 通过线性变换映射到 nearVal farVal 这个范围不能超出 0 1 这个函数的作用一般是分层渲染 比如要渲染一副从窗户看外面世界的场景 可以将外面场景的深度值映射为0 5 1 将室内场景深度值映射为0 0
  • 第二篇:C语言中实现两个数的加法运算

    代码展示 实现两个数的加法运算 include
  • TCP协议

    1 TCP协议基本概念 RFCs 793 1122 1323 2018 2581 1 1 TCP协议的特点 点对点 一个发送方 一个接收方 可靠的 按序的字节流 可靠的 多种确保可靠性的机制 字节流服务 8bit 1Byte 为最小单位构成
  • 好的软件架构设计

    什么是软件架构 前言 软体设计师中有一些技术水平较高 经验较为丰富的人 他们需要承担软件系统的架构设计 也就是需要设计系统的元件如何划分 元件之间如何发生相互作用 以及系统中逻辑的 物理的 系统的重要决定的作出 在很多公司中 架构师不是一个
  • 在VS中配置VTK

    VTK与VS结合使用有两种配置方式 一种是配置cmake 一种是配置VS 两者配置一者即可 我这里只讲解一下配置VS的步骤吧 我用的是VS2010 打开VS 找到属性 在VC 目录中修改包含目录和库目录为自己安装VTK的include和li
  • 华为OD机试真题-最多等和不相交连续子序列【2023Q2】【JAVA、Python、C++】

    题目描述 给定一个数组 我们称其中连续的元素为连续子序列 称这些元素的和为连续子序列的和 数组中可能存在几组连续子序列 组内的连续子序列互不相交且有相同的和 求一组连续子序列 组内子序列的数目最多 输出这个数目 输入描述 第一行输入为数组长
  • 怎么用计算机算lnx,ln计算(log计算器在线)

    ln MN lnM lnN ln M N lnM lnN ln M n nlnM ln1 0 lne 1 注意 拆开后 M N需要大于0 没有 ln M N lnM lnN 和ln M N lnM lnN lnx 是e x的反函数 也就是说
  • 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...

    华为手机短信提醒设置方法 1 检查当前设置的默认短信应用是哪个应用 点击桌面 设置 图标 找到 应用程序管理 选择 默认应用设置 选择 信息 可以看到当前正在使用的默认短信应用名称 如果使用的是第三方短信应用 请将 信息 勾选 改为使用默认

随机推荐

  • 制造蝴蝶飓风,微众区块链的蝶变和ESG新使命

    时间来到新世纪 共同繁荣 人与自然和谐发展等成为全球共识的背景下 越来越多的国家和组织开始践行ESG 环境 社会和公司治理 理念 在中国 乡村振兴 共同富裕 双碳战略 数字经济等国家级战略的推出 也旨在推动 效率优先 的发展模式 向公平与可
  • 生成openVPN客户端配置的shell脚本

    脚本介绍 在服务端 etc openvpn 目录下存放该脚本 client sh 脚本运行 运行方式 client sh client name client name填你想输入的客户端名称 例如 输入yes 和相应的ca密钥 运行成功如图
  • Python调用WebServer(WSDL)注意事项

    本人很少与WebServer交互 最近调用公司SAP的同步人员信息 发现一些很小的点 但是很浪费时间的注意事项 第一 不要去相信对方开发者嘴中所谓的JSON 很有可能是各种非标准JSON 这是非标准JSON 至于标准的 键带有双引号的 re
  • 关于域控DC不能正常同步GC的解决办法(域控时间超过墓碑时间) 与域控SRV记录

    现象 用户两台域控 GC PDC 上面创建用户DC不能正常同步 DC上面创建用户GC能够同步 同时发现有一台文件服务器有些机器不能正常访问 提示共享无权限 原因 用dcdiag命令在GC上没有问题 在DC上发现墓碑时间问题 可以确定是墓碑时
  • UnityHub打不开自己的项目的一个可能

    自己的unity项目前几天还一切正常 突然就打不开了 从unity跳转不到hub 从hub点项目转了几圈就没反应了 也没办法新建项目 看了网上很多解决方法 重新登录 没反应 删了unityhub重新下载 没反应 关闭防火墙重新插usb接口这
  • 关于Typora初次下载输入代码时代码行号不显示的问题

    关于Typora初次下载输入代码时代码行号不显示的问题 我刚用Typora的时候 打开代码块发现居然不显示行号 以下是我打开代码块内行号的显示的步骤 我刚用Typora的时候 打开代码块发现居然不显示行号 以下是我打开代码块内行号的显示的步
  • dataframe按照某一列的取值进行拆分

    dataframe按照某一列 假设列名为 columnname 的取值进行拆分 即 比如dataframe的第一列只有 a b 两种取值可能 就把dataframe拆分成两个小的dataframe 一个dataframe的第一列只取 a 另
  • 【WiFi】Hostapd工作流程分析

    目录 1 Hostapd概述 2 Hostapd代码框架 3 Hostapd各种命令配置工具 4 hostaod的主函数 5 hostaod代码分析 1 Hostapd概述 Hostapd是一个运行在用户态的守护进程 可以通过Hostapd
  • JavaScript 入门基础 - 流程控制(四)

    JavaScript 流程控制 分支和循环 文章目录 JavaScript 流程控制 分支和循环 1 什么是流程控制 2 顺序流程控制 3 分支流程控制 之 if语句 3 1 什么是分支结构 3 2 if 语句 3 2 1 if 语句基本理
  • IPV6组播地址

    1 IPV6组播地址 RFC4291定义组播地址格式如下 8 4 4 112 11111111 flgs scop group ID
  • nas文件服务器web接口,nas配置web服务器

    nas配置web服务器 内容精选 换一换 通过Web浏览器登录资源 会话页面载入失败 提示由于服务器长时间无响应 连接已断开 请检查您的网络并重试 Code T 514 云堡垒机系统与资源服务器之间网络连接不稳定 导致连接断开 云堡垒机系统
  • 计蒜客 蒜头君的新游戏(DP)

    蒜头君的新游戏 include
  • 构造函数设置为private,会怎样。

    构造函数设置为private 会怎样 1 无法静态的创建对象了 即不能通过 A a这种方式创建对象了 只能通过在类的内部的静态成员函数中new一个对象 动态的创建对象 include
  • NotScripts扩展在Chrome中禁用网页JavaScript

    经常上网查找资料的朋友 应该对于那些无法复制网页内容的网站是深有感触的 由于这些网站作者为保护自己的网站内容不被他人抄袭 使用了JavaScrip来禁用鼠标右键复制功能 解决办法当然就是用浏览器禁止使用网页的JS加载或者生效了 如果你经常使
  • Hive窗口函数大全

    Hive窗口函数 一 偏移量函数 lag lead 二 窗口分析函数 first value last value 三 排序函数 rank dense rank row number 一 偏移量函数 lag 语法 lag col n def
  • linux网络编程实现投票功能

    投票系统 1 说明 写了一个投票系统 过程是先配置好服务器 在写一个网上投票功能 要实现网上投票功能 其实功能实现还是很简单的 麻烦一点的在于过程比较繁杂 要做的东西还是挺多的 2 过程 第一步 配置httpd服务器 先配置好httpd服务
  • 决策树

    这篇博客用来简要介绍决策树算法 DecisionTree 决策树是机器学习中常用的一种算法 它即可用于解决分类问题 也可用于解决回归问题 在这篇博客我们只介绍分类决策树 决策树顾名思义是一种树形结构 而我们的任务就是想办法构建出这样一颗树用
  • 机器学习入门实战加州房价预测

    目录 1 快速搭建运行环境 2 快速构建项目 2 1 导入训练集 2 2 安装函数库 2 2 1 安装numpy 2 2 2 安装pandas 2 3 构建特征集和标签 2 4 导入数据集拆分工具sklearn 2 5 导入线性回归算法模型
  • Springboot集成security,自定义@Anonymous标签实现免登录,免鉴权

    首先 项目springboot使用了2 6 8版本 集成security的过程中 使用了比较严格的自定义策略 任何请求都需要认证和授权 判断用户是否有查询改接口的权限 并且提供了配置或者注解两种方式提供匿名访问的接口 第一种通过配置 第二种
  • kdtree备份

    库在这里 这个很好用 例子 gcc Wall g o test test c libkdtree a include