基于SDF的抽骨架之散点图(Projected points)

2023-11-11

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1、SDF(形状直径函数)</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>

SDF英文全称是Shape Diameter Function也就是形状直径函数。SDF是一个定义在网格表面的标量函数,它表达了网格表面上相邻各点物体体积直径的测量方法,以基于体积的形状函数为基础,在很大程度上能对相同对象的姿势改变保持无关性并且不同对象的相似部分维持相似值。下面是网格表面一个SDF值的示意图;给定表面网格上的一点,并以它为中心我们使用一个锥沿着内向法线方向(与法线方向相反的方向)发送数条射线,从锥的内部一直到达网格的另一面。一点处的SDF定义为所有射线长度的加权平均值,这属于所有长度中值的一个标准偏差。

2、使用CGAL计算模型的SDF值

CGAL4.5及以上版本提供了一个 Triangulated Surface Mesh Segmentation  package(三角曲面网格分割包),这个包里面用提供计算网格表面SDF值的方法并用SDF来做网格分割,但是,我们也可以用SDF进行抽骨架。

3、Assimp

Assimp(Open Asset Import Library)是一个支持读取多种模型资源的开源库,当前最新的版本是3.0版,支持读取obj等许多格式的3D模型

4、使用Assimp将模型数据导入到CGLA AssimpToPolyhedron

要使用CGAL里的sdf_values()函数计算SDF,必须将我们自己定义的网格模型转为CGAL里的多面体类Polyhedron可以识别的模型;这里使用通用的obj模型,并使用Assimp转化到CGAL的多面体类。

#include <CGAL/property_map.h>
#include <CGAL/internal/Operations_on_polyhedra/compute_normal.h>
#include <vector>
#include <assimp/Importer.hpp>      // C++ importer interface
#include <assimp/scene.h>           // Output 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于SDF的抽骨架之散点图(Projected points) 的相关文章

  • 三、账户安全

    目录 1 幽灵账户 影子账户 01 什么是影子账户 administrator账户的影子 02 实现思路 2 密码破解 系统漏洞利用破解 1 幽灵账户 影子账户 01 什么是影子账户 administrator账户的影子 02 实现思路 1
  • 巴法络的ts系列服务器,BUFFALO TS5400D NAS 巴法络 4BAY 网络存储服务器 塔式 企业级...

    TS 5400D BUFFALO 巴法络 terastation 网络存储器 NAS 肆盘位 产品简介 1 CPU采用 Intel Atom 1 86GHz双核处理器 搭载DDR3内存2GB 是考虑到多台电脑或服务器同时连接 适合中小型办公
  • java分批同步数据oom_案例实战 (八) 一个数据同步系统频繁OOM内存溢出的排查实践...

    案例背景 首先说一下案例背景 线上有一个数据同步系统 是专门负责从另外一个系统去同步数据的 简单来说 另外一个系统会不停的发布自己的数据到Kafka中去 然后我们有一个数据同步系统就专门从Kafka里消费数据 接着保存到自己的数据库中去 大
  • Powerlevel10k 主题安装

    在安装了 oh my zsh 的情况下 git clone depth 1 https gitee com romkatv powerlevel10k git ZSH CUSTOM HOME oh my zsh custom themes
  • 解决无法获取到B站点赞数和播放量的解决办法

    起因 因为前几天突然想到自己也想试试看用ESP8266搭配OLED来将B站的粉丝和点赞数显示出来看看 就趁星期天放假在家 找了一个以前买的ESP8266开发板搭配一个OLED 再从网上找了一个代码改了一下后烧录进去 然后就发现点赞数和播放量
  • 动画设计基础(第一节)-3d max2014 自制小球下落轨迹(气球-铁球-弹球-篮球-乒乓球)

    动画设计基础 第一节 3d max2014 自制小球下落轨迹 气球 铁球 弹球 篮球 乒乓球 各种球运动轨迹比较视频 各种自制小球下落 气球 铁球
  • eruda/vconsole 手机端调试利器

    0 对比 edura 相比 vconsole 可以看css样式 1 edura 1 1 function var script document createElement script script src cdn jsdelivr ne
  • 判断OBject对象为空(包括null ,““)的方法

    这篇文章主要介绍了Java判断对象是否为空 包括null 的方法 文中通过示例代码介绍的非常详细 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录标题 对象之间判断需要了解的 代码示例 问题原因 注
  • Python爬虫从入门到精通:(25)scrapy框架02_scrapy框架的基本使用_Python涛哥

    scrapy的基本使用 创建一个工程 命令 scrapy startproject ProName 比如这里我创建一个工程 名字叫demoPro 打开终端 输入 scrapy startprojiect demoPro 目录结构 这里先介绍
  • 等保2.0.2021版综合测评得分计算实例

    文章目录 公式回顾 单个测评对象的计算 多个测评对象的计算 小结 未经许可 严禁转载 公式输入请参考 在线Latex公式 接上篇的 等保2 0 2021版等级测评报告模板修订总结 这次根据一个实际案例来看看2021版综合测评得分如何计算 2
  • 搭建学校oj平台-后端设置JWT与用户操作

    后端设置JWT与用户操作 gitee仓库代码在文章尾部 Mysql新建user表 create table user id int auto increment username varchar 100 null password varc
  • 【unity3D】TimeLine(详细图解)

    未来的游戏开发程序媛 现在的努力学习菜鸡 本专栏是我关于游戏开发的学习笔记 本篇关于unity的TimeLine TimeLine 介绍 打开TimeLine面板的方式 创建TimeLine 创建Track的两种方式 Track的详解 Ti
  • win10使用技巧02--系统端口被占用怎么查看

    1 打开命令提示符 管理员模式 2 输入netstat ano命令 回车后 能看到所有端口的情况 3 如果我们知道具体的端口号的话 输入netstat aon findstr 8080 其中8080加英文双引号 按回车键就可以找到占用808
  • Spark环境搭建(保姆级教程)

    文章目录 一 环境准备 二 Spark环境搭建 1 Spark部署方式 2 安装spark 1 下载Spark 关于版本的选择 2 安装Spark 上传安装包 解压并创建软链接 Spark的目录结构 配置环境变量 配置Hadoop信息 修改
  • 飞行姿态解算(三)

    继之前研究了一些飞行姿态理论方面的问题后 又找到了之前很流行的一段外国大神写的代码 来分析分析 第二篇文章的最后 讲到了文章中的算法在实际使用中有重大缺陷 大家都知道 分析算法理论的时候很多情况下我们没有考虑太多外界干扰的情况 原因是很多情
  • CSS响应式设计——(视口/网格视图/媒体查询/图像/视频)看这一篇就够了

    目录 响应式网页设计 简介 什么是响应式网页设计 为所有用户获得最佳体验的设计 响应式网页设计 视口 什么是视口 设置视口 把内容调整到视口的大小 响应式网页设计 网格视图 什么是网格视图 构建响应式网格视图 实例 CSS CSS HTML
  • windows 使用 wget——Wget for windows

    wget是一个强力方便的命令行下的下载工具 windows 如果使用需要安装 Wget for windows 地址 Link 下载压缩包 ZIP 解压到一个常用的安装位置 然后按照下面的步骤 配置环境变量 系统属性 此电脑右击选择属性 左
  • Vim安装配置和常用技巧

    第一章 安装 在命令行运行vim 如果找不到程序 需要自己安装 1 1 下载 从官方网站ftp ftp vim org pub vim unix 中选择一个版本下载 我这里使用的是vim 7 3 tar bz2 1 2 解压程序 tar x
  • 如何用js动态添加css

    转自 微点阅读 https www weidianyuedu com 为了节省代码和写出更兼容的代码 有时我们需要用Javascript动态的增加CSS样式 IE下 我们可以使用 document createStyleSheet 方法 而
  • C/C++实现strstr函数、KMP算法查找子串

    C C 实现strstr KMP算法查找子串 目录 C C 实现strstr KMP算法查找子串 1 字符串形式 2 字节流形式 1 字符串形式 代码实现 char my strstr const char src const char d

随机推荐

  • 反射改进简单工厂(含代码)

    一 简单工厂代码 父类Car public class Car public void CreateCar 子类ElectricityCar public class ElectricityCar extends Car Override
  • 使用mysql数据库与go进行交互

    database sql database sql是golang的标准库之一 它提供了一系列接口方法 用于访问关系数据库 它并不会提供数据库特有的方法 那些特有的方法交给数据库驱动去实现 database sql库提供了一些type 这些类
  • 线性代数(2)——矩阵

  • [完]机器学习实战 第十四章 利用SVD简化数据

    本章内容 SVD矩阵分解 推荐引擎 利用SVD提升推荐引擎的性能 餐馆可分为很多类别 不同的专家对其分类可能有不同依据 实际中 我们可以忘掉专家 从数据着手 可对记录用户关于餐馆观点的数据进行处理 并从中提取出其背后的因素 这些因素可能会与
  • 快速排序算法 (c/c++)

    快速排序 QuickSort Code 1 中间元素为基准 Code 1示例结果 Code 2 第一元素为基准 Code 2示例结果 算法分析 QuickSort 通过一趟排序将要排序的数据分隔成独立的两部分 其中一部分的所有数据都要比另一
  • Mental ray 渲染器常用设置

    Mental ray 渲染器常用设置 Mental ray是一个专业的3D渲染引擎 它可以生成令人难以置信的高质量真实感图象 现在你可以在3D Studio的高性能网络渲染中直接控制Mental ray 它在电影领域得到了广泛的应用和认可
  • 用python怎样做学生管理系统用类的形式-Python配置管理的几种方式

    一 为什么要使用配置 如果我们在较复杂的项目中不使用配置文件 我们可能会面临下面的情况 你决定更改你的项目中数据库的 host 因为你要将项目从测试环境转移到实际的上产环境中 如果你的项目中多个位置用到了这个 host 那你不得不一个一个找
  • CS336视觉伺服

    笔记 动力学模型 机械臂动力学的研究方法 拉格朗日 牛顿 欧拉 高斯 凯恩方法 机械臂的动力学主要是两个问题 正向运动学和逆向运动学 视觉伺服 视觉伺服的基本思想 基于视觉的伺服控制方法的目的是最小化一个图像误差 该误差可以定义为 e t
  • Elasticsearch搜索系统线上部署配置规划

    问题导读 1 es安装包的目录结构是怎样的 2 zen discovery集群发现机制的设置规划及其原理是怎样的 3 es默认参数调优如何进行 1 ES部署须知1 1 包结构es安装包的目录结构大致如下 bin 存放es的一些可执行脚本 比
  • Python数据分析之股票数据

    最近股市比较火 我7月初上车了 现在已经下了 中间虽然吃了点肉 但下车的时候都亏进去了 最后连点汤都没喝着 这篇文章我们就用python对股票数据做个简单的分析 数据集是从1999年到2016年上海证券交易所的1095只股票 共1000个文
  • C++实现——排序算法总结

    常见的排序算法有 直接插入 希尔 冒泡 快速 选择 堆排序 归并 基数 下面一一分析 并实现 1 冒泡排序 冒泡排序是最简单的排序算法 冒泡排序的基本思想是从后往前 或从前往后 两两比较相邻元素的值 若为逆序 则交换它们 直到序列比较完毕
  • R语言做面板VAR例子

    面板VAR步骤 1 对各变量做平稳性检验 IPS PP ADF LLC等方法检验 是逐个变量检验 还是一起检验 2 面板数据的最优滞后阶数确定 AIC和SIC方法 3 在PVAR系统中进行Wald Granger检验 4 面板VAR估计 5
  • 蓝桥试题 算法训练 阶乘末尾0的个数(C++)

    资源限制 时间限制 1 0s 内存限制 256 0MB 题目 n 表示为n的阶乘 其中阶乘的定义是这样的 若n为0 则有n 0 1 若n为正整数 则有n n 1 n 例如4 4 3 2 1 24 可以发现阶乘这一运算的数值增长速度是非常快的
  • SpringFramework历史版本

    SpringFramework历史版本 对于Spring而言 迄今已有14年历史了 版本也到达了5 0 作为JavaWEB开发领域的常青树 现在Spirng已不再简单是一个框架了 在Spring的项目中主要有 SpringFramework
  • qt Example Manifest Files

    manifest file 是有qdoc根据example对应的 qdocconf qdoc文件生成的 主要用于在qtcreator 的欢迎 welcome gt 示例 examples 中辅助显示内容项 其文件格式为xml格式 后缀名为
  • hdu 1827 Summer Holiday 强连通分量缩点

    题目 http acm hdu edu cn showproblem php pid 1827 题意 听说lcy帮大家预定了新马泰7日游 Wiskey真是高兴的夜不能寐啊 他想着得快点把这消息告诉大家 虽然他手上有所有人的联系方式 但是一个
  • 使用docker搭建Hadoop

    Hadoop简介 1 Hadoop的整体框架 Hadoop由HDFS MapReduce HBase Hive和ZooKeeper等成员组成 其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS Hadoop Dist
  • MVC模式 &三层架构思想完成增删改查.

    MVC模式图解 三层架构图解 表现层 业务逻辑层 数据访问层互不干扰 也就是说比如我们表现层更改代码不会干涉到其他两层 com itheima web 这代表的是包名 也就是说最好把表现层或者业务逻辑层放到此对应的包名下 以后会用三大框架封
  • 2014年腾讯,百度,微软等校园招聘笔试题...

    腾讯2014年校园招聘笔试题 2014年阿里巴巴校招笔试题北京站 涉及C JAVA 数据结构
  • 基于SDF的抽骨架之散点图(Projected points)

    span style font family none background color rgb 255 255 255 1 SDF 形状直径函数 span span style font family none background co