首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在forge查看器中转换AEC模型的2D图纸空间坐标和世界3D坐标?

在Forge查看器中,可以通过以下步骤将AEC模型的2D图纸空间坐标转换为世界3D坐标:

  1. 首先,确保已经加载了AEC模型和2D图纸到Forge查看器中。
  2. 获取2D图纸的空间坐标:在Forge查看器中,可以使用viewer.model.getData().instanceTree方法获取模型的实例树。然后,使用instanceTree.enumNodeFragments(nodeId, callback)方法遍历图纸中的所有图元。在回调函数中,可以获取到每个图元的2D图纸空间坐标。
  3. 将2D图纸空间坐标转换为3D坐标:使用viewer.model.getData().globalOffset方法获取模型的全局偏移量。然后,将2D图纸空间坐标与全局偏移量相加,即可得到对应的世界3D坐标。

以下是一个示例代码,展示了如何在Forge查看器中进行坐标转换:

代码语言:txt
复制
// 获取模型的实例树
var instanceTree = viewer.model.getData().instanceTree;

// 遍历图纸中的所有图元
instanceTree.enumNodeFragments(nodeId, function (fragId) {
  // 获取图元的2D图纸空间坐标
  var fragProxy = viewer.impl.getFragmentProxy(viewer.model, fragId);
  fragProxy.getAnimTransform();

  var position = new THREE.Vector3();
  position.setFromMatrixPosition(fragProxy.matrixWorld);

  // 将2D图纸空间坐标转换为3D坐标
  var globalOffset = viewer.model.getData().globalOffset;
  var worldPosition = position.add(globalOffset);

  // 打印世界3D坐标
  console.log('World Position:', worldPosition);
});

在上述代码中,nodeId是图元的ID,可以根据需要进行设置。通过遍历所有图元,可以获取到每个图元的2D图纸空间坐标,并将其转换为世界3D坐标。

关于Forge查看器的更多信息和使用方法,可以参考腾讯云的产品介绍页面:腾讯云Forge

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Direct3D 11 Tutorial 4: 3D Spaces_Direct3D 11 教程4:3D空间

本教程结果将是渲染到屏幕3D对象。 虽然之前教程侧重于将2D对象渲染到3D世界,但在这里我们展示了一个3D对象。...因此,我们需要一个系统来表示3D空间对象一个显示它们系统。 在现实世界,物体存在于3D空间中。 这意味着要将对象放置在世界特定位置,我们需要使用坐标系并定义与位置对应三个坐标。...在计算机图形学3D空间最常用于笛卡尔坐标系。 在该坐标,三个轴X,YZ彼此垂直,决定了空间中每个点坐标。 该坐标系进一步分为左手系统右手系统。...屏幕空间 屏幕空间通常用于指代帧缓冲区位置。 因为帧缓冲区通常是2D纹理,所以屏幕空间2D空间。 左上角是坐标为(0,0)原点。 正X向右,正Y向下。...在3D计算机图形学,管道逻辑上有三种这样变换:世界,视图投影变换。 下一个教程将介绍单个转换操作,转换,旋转缩放。 世界转换 顾名思义,世界转换将顶点从对象空间转换世界空间

97630

终端图像处理系列 - OpenGL ES 2.0 - 3D基础(矩阵投影)

世界空间(World Space):物体在更大空间范围坐标;如我们构造了一个圆球来表示世界,圆心为世界坐标原点O2,把正方体放在圆球t(x1,y1,z1)位置。...那么正方体a圆心O1在世界系统会转化为(x1,y1,z1)。物体坐标从局部坐标变换到是世界坐标模型矩阵(Model Matrix)负责实现。...模型矩阵是一种变换矩阵,能对物体进行位移,缩放,旋转。 观察空间(View Space): 观察空间是将世界坐标转化为用户视野前方坐标。一般用一个观察矩阵(View Matrix)来完成转换。...投影矩阵会将在这个指定范围内坐标变换为标准化设备坐标的范围(-1。0,1.0)。使用投影矩阵能将3D坐标投影到2D标准化设备坐标。...-> w; 矩阵组合 基于前面介绍4个变换矩阵:模型矩阵,世界矩阵,观察矩阵投影矩阵。

2.4K110

OpenGL ES-3D图形变换知识

上面说到模型(Model)、视图(View)、投影(Projection)三个矩阵,与之密切相关坐标系统分别为世界空间坐标系、观察空间坐标系、裁剪空间坐标系。...世界空间(World Space)坐标就如它们听起来那样:是指顶点相对于(游戏)世界坐标。物体变换到最终空间就是世界坐标系,并且你会想让这些物体分散开来摆放(从而显得更真实)。...对象坐标将会从局部坐标转换世界坐标;该转换是由模型矩阵(Model Matrix)实现。...观察空间就是将对象世界空间坐标转换为观察者视野前面的坐标。因此观察空间就是从摄像机角度观察到空间。而这通常是由一系列平移旋转组合来平移旋转场景从而使得特定对象被转换到摄像机前面。...将一定范围内坐标转化到标准化设备坐标过程(而且它很容易被映射到2D观察空间坐标)被称之为投影(Projection),因为使用投影矩阵能将3维坐标投影(Project)到很容易映射2D标准化设备坐标

92620

OpenGL ES 2.0 (iOS):坐标空间 与 OpenGL ES 2 3D空间

: 每个物体位置方向 摄像机位置方向 世界环境(:地形) 物体运动(从哪到哪) 2....惯性坐标系 它 X 轴与世界坐标 X 轴平行且方向相同,Y 轴亦然,它原点与模型坐标系相同 它存在核心价值是,简化坐标转换,即简化模型坐标系到世界坐标转换; ---- 二、坐标空间...模型空间 模型坐标系形成空间,这里主要包含模型顶点坐标表面法向量信息; ---- 第一次变换 模型变换(Model Transforms):就是指从模型空间转换世界空间过程 ---- 3....View Transforms):就是指从世界空间转换到摄像机空间过程 ---- 摄像机空间,也被称为眼睛空间,即可视区域; 其中,LookAt(摄像机位置) Perspective(摄像机空间...( 4 -> 5 ) 这里就是设置 glViewPort glDepthRange 当然 2D 图形不用设置 glDepthRange ; 实际编程过程使用过程 第一步,如果是 3D 图形渲染

1.7K20

使用Kinect2作为Oculus游戏应用输入设备

需求分析 前面也提到了, 尽量达到接近自然交互方式, 那就需要实现这几个关键点: 可以在虚拟世界显示出双手, 最好能有肢体躯干 虚拟空间双手位置与现实空间中跟头部相对位置(包括旋转)保持一致...可以使用双手对虚拟世界物体产生影响 能够识别一些简单手势, 抓, 推, 拉, 按, 摸等等 那Kinect2提供数据或者功能有哪些呢?...点云坐标系对齐 有了点云躯体了, 怎么把它 “装”在虚拟世界头下面呢?...由于Kinect, Oculus, UE4相当于是三个不同坐标系, 如果要把点云映射到Oculus视角下身体位置, 需要一些坐标映射转换....模型查看器: 主要是用于演示在3D空间怎么用双手比较直观地观察一个三维物体, 可以说这才是VR交互亮点所在, 你可以从各个角度任意大小去观察一个物体每一个细节 ?

1.2K70

科普:零基础了解3D游戏开发

一、场景与摄像机 场景就是游戏中3D世界,有了场景,才可以在场景添加一切物体,包括摄像机。 而摄像机相当于3D游戏世界眼睛,通过摄像机,玩家才能看到游戏中三维世界,看到场景各种物体。...3-1.png 正交则没有透视感,常用于一些2D3D混合游戏或模型查看器等。 3-2.png 二、坐标系与坐标 坐标3D空间世界基础之一,干啥都离不开坐标,移动摄像机,定位,绘制图形等等。...10-2.png 贴图简单通俗理解,就是将2D纹理贴到3D模型网格过程。这个将3D顶点坐标2D纹理UV坐标映射对应过程由引擎完成,开发者直接调用API,为材质设置对应纹理即可。...3D光源就是灯光,其它泛光、环境光等都是光效,而非光源。...Shader主要分两类:顶点着色器片段着色器(也叫片元着色器) 。 顶点着色器是用来处理顶点数据程序,顶点坐标、法线、颜色纹理坐标

9.3K52

自动驾驶:Lidar 3D传感器点云数据2D图像数据融合标注

通过视觉信息可以轻松识别人 当执行视觉数据点云数据融合时,结果是周围环境感知模型,该模型保留了视觉特征精确3D位置。除了准确性,它还有助于在传感器出现故障时提供冗余。...相机传感器数据激光雷达点云数据融合涉及2D3D3D2D投影映射。 3D2D投影 硬件 我们从Motional提供最全面的开源数据集开始:nuScenes数据集。...将3D点云数据转换世界坐标系 通过与自我框架平移旋转矩阵相乘,激光雷达参考系(L1)每个框架都将转换世界坐标系。...从世界坐标转换为相机坐标系 下一步是通过与摄影机旋转和平移矩阵相乘,将数据从世界参照系转换为摄影机参照系。...从3D相机坐标转换2D相机框 一旦数据进入相机参考框架,就需要将其从3D相机参考框架投影到2D相机传感器平面。这是通过与相机固有矩阵相乘来实现

2.9K21

ThreeJS中三维世界坐标转换成二维屏幕坐标

Threejs对WebGL进行了封装,让前端开发人员在不需要掌握很多数学知识绘图知识情况下轻松进行web 3D开发,简单易用。...三维开发中最常用是三维坐标二维坐标转换,比如说:给一个三维模型动态赋予一个文字标签进行展示,以前使用OpenGL处理起来比较麻烦,使用Threejs就简单了很多。...y = Math.round(-vector.y * h + h); 3D坐标转换2D坐标,是一种降维度操作,统称为投影。...同理使用函数vector.unproject(camera)则可以从屏幕2d坐标转换3d空间坐标, var vector = new THREE.Vector3(mX, mY, 0.5 );//这里定义深度值为...0.5 //将鼠标坐标转换3D空间坐标 vector.unproject(camera);

4.5K10

「音视频直播技术」OpenGL渲染之距阵变换

图像渲染过程 一般将一个3D图像显示在2D平面上需要三个步骤距阵变换,我们称之为MVP,即模型(Model), 观察(View)以及投影(Projection)。...模型:将要显示3D物体从模型坐标系变成世界坐标系。 观察:将3D物体从世界坐标系变换成从人眼角度看到物体坐标系。 投影:就是将3D坐标系换成2D坐标系。也就是3D物理如何在2D平面上展示。...即我们通常说降维。 下面我们介绍下实现 MVP 转换需要数学知识。 距阵 在三维图形学用(x,y,z,w)代表一个顶点,它是一个齐次坐标。 其中 x,y 我们都知道是横轴纵轴。...z 代表深度,比如按右手坐标来说,离我们眼睛越远深度越深,z值也就越小。 w 是为了距阵做乘法运算而增加。 因此,我们在三维图形学只用到4x4矩阵,它能对顶点(x,y,z,w)作变换。...但为了便于我们对图型理解,这些基础知识还是非常必要。 参考 齐次坐标。 搞懂 OpenGL 矩阵转换 距阵

1K20

头戴式ARVR 光学标定

SPAAM方法数据收集。左:单个2D点uk与3D点xk手动对齐。中间:通过OST-HMD将虚拟2D十字线与3D跟踪标记对齐自我中心视图。右:绿色虚拟正方形覆盖在校准前后物理标记上。...小写粗体字母表示向量,例如眼睛坐标系x_E 属于R33D点,或2D图像点u属于R2。大写字母表示矩阵,例如旋转矩阵R属于R3×3。我们现在定义一个从一个坐标系到另一个坐标6自由度变换。...例如,我们可以通过 轴外针孔相机模型 在计算机视觉,内参矩阵k属于R3×3,定义了从三维坐标空间到二维坐标空间投影变换。该矩阵元素描述了针孔相机特性。...例如,给定眼睛坐标系xE3D点,该点被投影到HMD屏幕空间S2D点u_S 图1 轴外针孔相机模型y-z平面。 图2:图像平面的三维表示,以及针孔相机模型相关固有特性。...在实践,我们首先在HMD坐标获得世界坐标系下x_E作为3D点x_H。

1.7K20

3D人脸技术漫游指南

3D人脸基础知识 初识3D人脸 2D/2.5D/3D 人脸 一般所讲 RGB、灰度、红外人脸图像即为 2D 人脸,它们多为某一视角下表征颜色或纹理图像,没有空间信息。...相机模型包括 4 种坐标系:像素坐标、图像坐标、相机坐标世界坐标(脑袋中有没有闪现高中物理老师讲参考系画面),相机成像过程即是真实三维空间三维点映射到成像平面(二维空间过程,也称之为射影变换...世界坐标→相机坐标 其实,相机坐标系并不是一个特别“稳定”坐标系,因为相机会随着自身移动而改变坐标的原点以及各个坐标方向,这时就需要一个更稳定坐标系来更好地表示射影变换,而我们通常采用恒定不变坐标系为世界坐标系...2、深度学习识别方法 CNN 在 2D 的人脸识别上取得了比较大进展,然而 2D 人脸容易受到妆容、姿态、光照表情等影响,3D 人脸本身包含人脸空间形状信息,受外界因素影响较小。...Of 3D Faces》一文中提出一种人脸模型线性表示,可以将一张 2D 的人脸图片生成其对应 3D 人脸模型,表示方法为: 其中 分别为通过统计分析 PCA 得到 shape

2.5K11

深入探究鸟瞰图感知问题综述

BEV感知核心问题在于: (a)如何通过视图转换从透视视图到BEV重建丢失3D信息; (b)如何在BEV网络获取地面真值; (c)如何设计流程以整合来自不同传感器视图特征; (d)如何根据不同场景传感器配置变化来调整推广算法...在下文中,“2D 空间”指相对于相机平面坐标的透视图,“3D 空间”指真实世界空间世界坐标,“BEV 空间”指鸟瞰视角,如图2所示,一般单目相机仅 3D 感知系统可以分为三个部分:2D 特征提取器...在视角转换,有两种方式编码3D信息——一种是从2D特征预测深度信息,另一种是从3D空间中采样2D特征。...图5:适用于学术界工业界两种BEV融合算法设计,主要差异在于2D3D转换融合模块,在PV感知流程(a),不同算法结果首先被转换3D空间中,然后使用先验或手工规则进行融合,BEV感知流程(b...如图5a所示,对于透视视角(PV)管道,LiDAR轨迹直接生成3D结果。从图像获得3D结果则是基于几何先验从2D结果进行转换

50220

Android OpenGL 介绍工作流程(十)

OpenGL绘制过程 其实在OpenGL,所有物体都是在一个3D空间,但是屏幕都是2D像素数组,所以OpenGL会把3D坐标转变为适应屏幕2D像素。...第一部分把你3D坐标转换2D坐标,第二部分是把2D坐标转变为实际有颜色像素。这个过程可以被划分为几个阶段,每个阶段将会把前一个阶段输出作为输入。...OpenGL坐标系变换过程 之前我们已经提到在OpenGL,所有物体都是在一个3D空间,但是屏幕都是2D像素数组,所以OpenGL会把3D坐标转变为适应屏幕2D像素。...当我们观察3D世界时候,是通过一块2D屏幕,我们真正看到实际是3D世界在屏幕上一个投影。坐标变换就是要解决在给定观察视角下,3D世界每个点最终对应到屏幕上哪个像素上去。...当观察角度不同时候,我们眼中看到也不同。为了表达这个观察视角,我们会再建立一个相机坐标系观察空间view space。从世界坐标系到相机坐标转换,我们称之为view变换。

2.2K50

基于 HTML5 WebGL 挖掘机 3D 可视化应用

,挖掘机模型,挖掘机动作,挖掘机运行可视化却是更让人眼前一亮,所以该系统对于挖机 3D 模型做出了动作可视化,大体包括以下几个方面: 前进后退 -- 用户可以通过键盘 wasd 实现前后左右...挖斗机械运动分析 在进行挖斗部分机械代码时会将挖斗位置以及挖斗所有连接点设备转化为相对于某个节点相对位置,例如节点 A 在世界坐标为 [100, 100, 100],世界还有一个节点 B,...rotateBoom 以及 rotateArm 分别是大臂与机身连接处液压运动与大臂上液压运动,在该部分为了精确获取看向点,我通过 toWorldPosition 方法将相对坐标转化为世界坐标...,相对坐标为黑白液压杆锚点坐标,转化为相对大臂或者机身世界坐标。...HT 轻量化,自适应让当前系统在手机端也能流畅运行,当然目前移动端与电脑端 2D 图纸部分是加载不同图纸,在移动端 2D 部分只留下操作挖机操作部分,其它部分进行了相应舍弃,不然在移动端小屏幕下无法展示如此多数据

68310

基于 HTML5 WebGL 挖掘机 3D 可视化应用 顶

,挖掘机模型,挖掘机动作,挖掘机运行可视化却是更让人眼前一亮,所以该系统对于挖机 3D 模型做出了动作可视化,大体包括以下几个方面: 前进后退 -- 用户可以通过键盘 wasd 实现前后左右...挖斗机械运动分析 在进行挖斗部分机械代码时会将挖斗位置以及挖斗所有连接点设备转化为相对于某个节点相对位置,例如节点 A 在世界坐标为 [100, 100, 100],世界还有一个节点 B,...rotateBoom 以及 rotateArm 分别是大臂与机身连接处液压运动与大臂上液压运动,在该部分为了精确获取看向点,我通过 toWorldPosition 方法将相对坐标转化为世界坐标...,相对坐标为黑白液压杆锚点坐标,转化为相对大臂或者机身世界坐标。...HT 轻量化,自适应让当前系统在手机端也能流畅运行,当然目前移动端与电脑端 2D 图纸部分是加载不同图纸,在移动端 2D 部分只留下操作挖机操作部分,其它部分进行了相应舍弃,不然在移动端小屏幕下无法展示如此多数据

1.3K50

基于OpenCV位姿估计

可以在投影矩阵编码该变换,该投影矩阵将表示3D4维均匀向量转换为表示图像平面上2d3维均匀向量。 齐次坐标是表示计算机视觉投影坐标。...由于拍摄照片时会从3D转换2D,因此深度范围会丢失。因此,可以将无限数量3D点投影到相同2D点,这使得同质坐标在描述可能性射线时非常通用,因为它们比例相似。...从功能上讲,外部矩阵将3D同类坐标从全局坐标转换为相机坐标系。因此,所有变换后矢量将相对于焦点在空间中表示相同位置。 ? 内参矩阵 本征矩阵存储相机本征,例如焦距主点。...主点(cₓcᵧ)是光轴像平面(像平面的功能中心)交点。该矩阵将相对于焦点3D坐标转换到图像平面上;将其视为拍摄照片矩阵。当与外部矩阵组合时,将创建针孔相机模型。 ?...针孔相机数学模型 现在,单应性是针孔相机模型特殊情况,其中投影到相机上所有现实世界坐标都位于z坐标为0平面上。 ? ? ? ? ?

1.7K20

基于 HTML5 + WebGL 实现 3D 挖掘机系统

,挖掘机模型,挖掘机动作,挖掘机运行可视化却是更让人眼前一亮,所以该系统对于挖机 3D 模型做出了动作可视化,大体包括以下几个方面: 前进后退 -- 用户可以通过键盘 wasd 实现前后左右...挖斗机械运动分析 在进行挖斗部分机械代码时会将挖斗位置以及挖斗所有连接点设备转化为相对于某个节点相对位置,例如节点 A 在世界坐标为 [100, 100, 100],世界还有一个节点 B,...rotateBoom 以及 rotateArm 分别是大臂与机身连接处液压运动与大臂上液压运动,在该部分为了精确获取看向点,我通过 toWorldPosition 方法将相对坐标转化为世界坐标...,相对坐标为黑白液压杆锚点坐标,转化为相对大臂或者机身世界坐标。...HT 轻量化,自适应让当前系统在手机端也能流畅运行,当然目前移动端与电脑端 2D 图纸部分是加载不同图纸,在移动端 2D 部分只留下操作挖机操作部分,其它部分进行了相应舍弃,不然在移动端小屏幕下无法展示如此多数据

74020

浅谈 GPU图形固定渲染管线

虚拟摄像机制定了场景对观察者可见部分,即我们将依据哪部分3D场景来创建2D图像。在世界坐标,摄像机有一定位置方向属性,定义了可见空间体积即视锥体。...世界坐标系 构建各种模型时,每个模型都位于其自身局部坐标,而无论在现实世界还是在计算机虚拟空间中,物体都必须一个固定坐标原点进行参照才能够确定自己所在位置,这是世界坐标实际意义所在。...位于局部坐标物体通过一个称为世界变换运算过程变换到世界坐标,该变换通常包括平移、旋转、以及比例运算,分别用于设定该物体在世界坐标位置、方向及模型大小。...有一点值得注意,顶点法向量模型文件属于局部坐标系描述,GPU顶点程序必须将法向量转换世界坐标系才能使用。这种转换同样是通过一个矩阵,这矩阵是上文所提世界变化矩阵逆矩阵。...在观察者坐标,我们任务是获取3D场景2D表示,这种从N维到N-1维操作在数学上称为投影,实现投影有多种方式,正投影(也称平行投影)透视投影。

2.5K80

浅谈 GPU图形固定渲染管线

虚拟摄像机制定了场景对观察者可见部分,即我们将依据哪部分3D场景来创建2D图像。在世界坐标,摄像机有一定位置方向属性,定义了可见空间体积即视锥体。...世界坐标系 构建各种模型时,每个模型都位于其自身局部坐标,而无论在现实世界还是在计算机虚拟空间中,物体都必须一个固定坐标原点进行参照才能够确定自己所在位置,这是世界坐标实际意义所在。...位于局部坐标物体通过一个称为世界变换运算过程变换到世界坐标,该变换通常包括*移、旋转、以及比例运算,分别用于设定该物体在世界坐标位置、方向及模型大小。...有一点值得注意,顶点法向量模型文件属于局部坐标系描述,GPU顶点程序必须将法向量转换世界坐标系才能使用。这种转换同样是通过一个矩阵,这矩阵是上文所提世界变化矩阵逆矩阵。...在观察者坐标,我们任务是获取3D场景2D表示,这种从N维到N-1维操作在数学上称为投影,实现投影有多种方式,正投影(也称*行投影)透视投影。

2.2K20

单图像三维重建、2D3D风格迁移3D DeepDream

此外,作者还首次在2D监督下执行基于梯度3D网格编辑操作,2D3D风格迁移3D DeepDream。 简介 从二维图像理解三维世界是计算机视觉基本问题之一。...人类在大脑中使用视网膜上图像来模拟3D世界,机器也可以通过在2D图像背后显式地建模3D世界来更智能地工作。从3D世界生成图像过程叫做渲染,这在计算机视觉里面非常重要。...2.单图片三维重建:从图像估计三维结构是计算机视觉一个传统问题,大多数方法使用真实三维模型来学习2D3D映射函数,有些作品通过深度预测重建三维结构,有些则直接预测三维形状。...渲染近似梯度 1.渲染通道及其派生:一个3D网格由一组顶点和面组成,每个顶点No是一个三维向量,表示这个顶点在3D物体空间坐标,每个面F是由三个顶点所围成三角形。...可以看到基于网格方法在13个类别中有10个类别的性能优于基于体素方法。 ? 网格在风格转换DeepDream初始状态 ? 2D3D风格迁移。

1.6K31
领券