You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rgl的next3d()叠加图形时坐标轴异常及箭头位置错误的问题求助

rgl的next3d()叠加图形时坐标轴异常及箭头位置错误的问题求助

大家好,我在使用rgl包创建带共享鼠标的并排3D图时遇到了一个棘手的问题,想请各位帮忙分析一下。

先给大家附上可复现的问题示例,代码参考了rgl官方手册:

set.seed(1234)

x <- sort(rnorm(100))
y <- rnorm(100)
z <- rnorm(100) + atan2(x, y)

# 创建并排的3D绘图场景
open3d()
mfrow3d(1, 2, sharedMouse=TRUE)

# 绘制左侧图形:散点+箭头
plot3d(x, y, z, col=rainbow(100))
arrow3d(c(0, 0, 0), c(2, 2, 2), type="lines")

# 切换到右侧子场景
next3d()
plot3d(x, y, z, col=rainbow(100))

到这一步为止,一切都很正常:左右两个3D图显示一致,鼠标也能共享控制视角。

但当我尝试给右侧的图也加上相同的箭头时,执行这行代码:

arrow3d(c(0, 0, 0), c(2, 2, 2), type="lines")

就出现了问题:右侧图的坐标轴突然发生了变化,箭头的位置也完全不对。

我试过用两个独立的open3d()窗口分别绘制带箭头的图,它们显示得完全一致,没有任何异常。另外我还尝试过使用manipulateWidget包的combineWidgets方法,这个方法能正确渲染图形,但没法实现子场景之间的鼠标共享;至于plotly,因为我的应用需要在路径上绘制大量3D箭头,而plotly里除了注释功能外,似乎很难实现3D箭头,所以这个方案也不太适用。

我的运行环境:rgl 1.1.3,R 4.2.2,系统为x86_64-apple-darwin17.0的Mac。

备注:内容来源于stack exchange,提问作者Richard Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:20:26