如何从 n x 3 数据集绘制非凸曲面

2023-12-20

R中有没有直接绘制非凸曲面的方法?

我对凸面使用了类似以下的东西,效果很好:

xyz <- cbind(y,x,z)
tbr <- t(surf.tri(xyz, delaunayn(xyz)))
rgl.triangles(xyz[tbr,1], xyz[tbr,2], xyz[tbr,3])

然而,对于非凸面,凹面区域会被填充。我认为这是函数的问题delaunayn()因为它使用Qhull不支持的库约束德劳内非凸对象的三角测量或网格生成。

任何建议表示赞赏。

P.S.

我有一个 ascii 文件形式的数据,但它有 3 列,长 225 行。提供此服务的最佳方式是什么?

数据可在:http://pastebin.com/R2p4Cf7d http://pastebin.com/R2p4Cf7d

情节的顶部应该是凹的!这是使用创建的图像persp3d()表面应该是什么样子。它是在极坐标规则网格上使用更多网格点计算的,而不是使用不规则的搭配点。


以下解决方案并不完美,但如果您有 Matlab 副本,则可以使用。

library(rgl)
library(geometry)
# Read in data - also at: http://pastebin.com/R2p4Cf7d
simDat <- read.csv("testDat.csv")
#
x   <- simDat[,1];y<-simDat[,2];z<-simDat[,3]
xyz <- cbind(simDat[,1],simDat[,2],simDat[,3])
#
triNodes <- delaunayn(xyz)
tbr1     <- t(surf.tri(xyz, triNodes ))
# Plot data from R generated triangles
open3d()
rgl.triangles(xyz[tbr1,1], xyz[tbr1,2], xyz[tbr1,3])
#
# Import data generated by Matlab function delaunay()
#  - also at: http://pastebin.com/vQV2Zaii
nodeDat_ML <- read.csv("testDatNodes.csv")
triNodes2  <- cbind(nodeDat_ML[,1], nodeDat_ML[,2], nodeDat_ML[,3],1)
#
tbr2 <- t(surf.tri(xyz, triNodes2))
# Plot data from Matlab generated triangles
open3d()
rgl.triangles(xyz[tbr2,1], xyz[tbr2,2], xyz[tbr2,3])

该代码生成以下两个表面。左图基于 R 函数 delaunayn() 生成的三角测量,右图基于 Matlab 函数 delaunay() 生成的三角测量。

Matlab 生成的数据可在以下位置获取:http://pastebin.com/vQV2Zaii http://pastebin.com/vQV2Zaii

相关的Matlab代码是:

fname = 'testDat.csv';
tt = table2array(readtable(fname)); % get data
x =  tt(:,1);y = tt(:,2);z = tt(:,3);
tri = delaunay(x,y); % the triangulation data
trisurf(tri,x(:,1),y(:,1),z(:,1)); % surface plot

结果并不完全完美,因为最终图(右)有一个虚假三角形。

我希望以上内容对遇到类似问题的人有用。

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

如何从 n x 3 数据集绘制非凸曲面 的相关文章

  • R - Plm 和 lm - 固定效应

    我有一个平衡面板数据集 df 本质上由三个变量组成 A B and Y 对于一堆独特识别的区域来说 它会随着时间的推移而变化 我想运行一个回归 其中包括区域 下面等式中的区域 和时间 年份 固定效应 如果我没记错的话 我可以通过不同的方式来
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 使用 Shiny 发布平行坐标图表时出现“错误:路径[1]="”:没有这样的文件或目录”

    我有一个似乎很常见但我还没有找到解决方案的问题 当尝试使用 rCharts Parcoords 发布 Web 应用程序时 出现以下错误 错误 路径 1 没有这样的文件或目录 奇怪的是 该应用程序在我的笔记本电脑上运行得很好 下面是我正在使用
  • 所有 x 轴标签未以 45 度显示

    I m having the code as like below But I m not getting all the x axis labels and it is not displaying in 45 degree when I
  • 纵向比较 R 中的值...并进行扭转

    我有许多人在多达四个时间段进行的测试结果 这是一个示例 dat lt structure list Participant ID c A A A A B B B B C C C C phase structure c 1L 2L 3L 4L
  • 如何从 R 读取 PDF 元数据

    我们很好奇 有没有一种方法可以从 R 读取 PDF 元数据 例如下面显示的信息 通过搜索我对此无能为力 r pdf metadata在当前的问题库中 非常欢迎任何指点 我想不出纯 R 的方法来执行此操作 但您可能可以安装您最喜欢的 PDF
  • applyStrategy 错误

    我是R新手 最近运行后遇到以下错误applyStrategy函数来自quantstrat包裹 Error in eval expr envir enclos object signal not found Error in colnames
  • 条件字体颜色 R Markdown

    我无法找到一种方法来根据变量的值 gt 0 0 或 r setup include FALSE x lt 4 This is an R Markdown document r if x gt 0 textcolor red Markdown
  • 任意列中包含字符串的子集行

    我有一个如下所示的数据集 Col1 Col2 Col3 abckel NA 7 jdmelw njabc NA 8 jdken jdne 如何对数据集进行子集化 使其仅保留包含字符串 abc 的行 最终预期输出 Col1 Col2 Col3
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • Shiny:动态数据框构建; renderUI、观察、reactiveValues

    我认为如何使用 Shiny 的 renderUI 功能动态子集数据的问题经常出现 但我很难理解何时使用 renderUI 带有 uiOutput 而不是其他功能 包括观察 反应 反应值甚至条件面板 我想构建一个完全交互式的数据框架 其中每个
  • 如何将plot中的单变量列表图表转换为ggplot2格式?

    我正在搜索 但仍然找不到一个非常简单的问题的答案 我们如何使用 R 中的 ggplot2 生成一个变量的简单线图 我正在分析时间序列数据 并且想要对图表进行更复杂的操作 我认为如果我使用 ggplot2 代替会更好plot It works
  • 在 Shiny 中的用户会话之间共享反应数据集

    我有一个相当大的反应数据集 该数据集是通过轮询文件然后按预定义的时间间隔读取该文件而派生的 数据更新频繁 需要不断重新加载 诚然 重新加载可以增量完成并附加到 R 中的现有对象 但事实并非如此 然而目前 尽管会话中的数据相同 但此操作是针对
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c

随机推荐

  • 如何将本地 html 文件加载到 Jsoup 中?

    我似乎无法使用 Jsoup 库加载本地 html 文件 或者至少它似乎没有意识到这一点 我在本地文件中硬编码了确切的 html 作为 var html 当我切换到该文件而不是文件输入时 代码完美运行 但两次都会读取该文件 import ja
  • 向后读取文件(最后一行在前)

    文件看起来像这样 abcd efgh ijkl 我想使用读取文件C这样它首先读取最后一行 ijkl efgh abcd 我似乎找不到不使用的解决方案array用于存储 请帮忙 edit0 感谢所有的答案 只是为了让您知道 我是创建此文件的人
  • 如何使用SQL Server的OUTPUT子句进行更新

    DECLARE t2 AS TABLE id INT INSERT INTO dbo EntityMaster EntityType OUTPUT INSERTED EntityId INTO t2 SELECT G FROM tmp tm
  • 无法在 Winforms 中使用 C# 使用 datagridview 添加新行

    我想做一个简单的数据输入应用程序 所以我做了以下事情 创建了一个新的 Windows 窗体应用程序 添加了 DataGridView 添加了一个新的数据源 SQL Express 数据库 有一个包含 3 列的表 id name number
  • Mac/Safari 上的字体粗细变轻

    On my last website the text is perfect naturally on chrome and firefox without touching font smoothing or anything else
  • 使用音轨从线程更新用户界面

    我有一个应用程序 可以使用audiorecord 和audiotrack 来录制音频来播放 我在用户界面中有一个进度条 需要随着曲目的播放而增加 audiotrack api 表示读取和写入方法是阻塞的 这意味着用户界面被冻结直到写入完成
  • 在构建时生成 Nuget 包不包含所有依赖项

    我的解决方案的树如下所示 项目A 引用 Nuget 包 Some Package 项目B 参考文献 项目 A 构建时 项目 B 生成一个包 我们称之为PackageB 在 ProjectB csproj 中我使用了以下内容
  • nltk:如何防止专有名词的词干

    我正在尝试使用斯坦福词性标注器和 NER 编写一个关键字提取程序 对于关键字提取 我只对专有名词感兴趣 这是基本方法 通过删除字母以外的任何内容来清理数据 删除停用词 每个词的词干 确定每个单词的 POS 标签 如果 POS 标签是名词 则
  • Firebase Firestore 模拟器如何工作?

    到目前为止 我一直在使用 Firebase Hosting 和 Functions 模拟器 但现在我正在编写一个基于 Firestore 触发器运行的函数 因此我正在研究 Firestore 模拟器进行开发 但它是如何运作的呢 它完全模仿
  • 关于 std::abs 函数

    Is the std abs 为 C 11 中的所有算术类型明确定义的函数 并将返回 x 没有近似问题吗 奇怪的是 对于 g 4 7 std abs char std abs short int std abs int std abs lo
  • docker 镜像可以在不同的 Linux 风格之间移植吗?

    docker 镜像可以在不同的 Linux 风格之间移植吗 比方说 如果我有基于 OEL 的 docker 镜像并安装了数据库 我可以在 Mac 上的 boot2docker 中运行它吗 是的 您可以存档图像 docker save htt
  • Google Python 风格指南 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 为什么谷歌Python风格指南 https google github io styleguide pyguide html更喜欢列表推导式和
  • 相机捕获图像后 Phonegap 应用程序退出。 [安卓]

    我在使用 Phonegap 1 4 1 时遇到错误 我创建的phonegap应用程序在拍照后返回到应用程序后重新启动 这是我正在使用的代码 function capturePhoto Take picture using device ca
  • Mailitem.PrintOut() 转 PDF

    我想将完整的电子邮件打印为 pdf 格式 标准打印机选择为 microsoft Print to PDF 运行打印输出方法 出现一个保存窗口 我不知道如何以编程方式处理它 我仍然知道通过单词对象进行转换的方法 但这不起作用 因为屏幕截图不会
  • 如何将使用docker创建的MySQL连接到另一个端口(不是端口3306)?

    我已经在我的电脑上安装了 mySql 所以端口 3306 已经很忙 这就是为什么我必须使用 3306 以外的端口的原因 我希望能够在不使用 docker 命令的情况下将我的机器连接到我的 docekr 实例 这样我就能够使用我的应用程序 S
  • Hibernate 覆盖 @transient

    我有一个映射的超类 它有一个我的数据库中的一些表共享的字段 我希望用 Transient 注释这个字段 这样大多数实体都会忽略它 但在子实体上 de Transient 或 un Transient 这可能吗 谢谢你 伊多布 您也许可以使用
  • 用于特定运行配置的 IntelliJ 键盘快捷键

    我有一个 JUnit 运行配置来运行所有单元测试 如何将键盘快捷键绑定到 JUnit 配置的运行 现在有一个第三方插件 将配置作为操作运行 https plugins jetbrains com plugin 9448 run config
  • 通过http协议上传位图到服务器

    我有一个相机活动 之后我拍照并将其保存到图库并上传到服务器我的上传代码不起作用 我需要这方面的帮助吗 图像捕捉 Intent intent new Intent android media action IMAGE CAPTURE star
  • 在日期时间数据类型中插入 NOW() 值将返回 0000-00-00 00:00:00

    我有一个数据库 它有一个完美运行的 NOW 函数 显示正确的日期 并且在不小心删除了它之后 我创建了一个类似的数据库 但是当我插入 NOW 来插入时 current 当前日期 它将插入为 0000 00 00 00 00 00 显示的警告是
  • 如何从 n x 3 数据集绘制非凸曲面

    R中有没有直接绘制非凸曲面的方法 我对凸面使用了类似以下的东西 效果很好 xyz lt cbind y x z tbr lt t surf tri xyz delaunayn xyz rgl triangles xyz tbr 1 xyz