mesh 相关问题

多边形网格或非结构化网格是顶点,边和面的集合,用于定义3D计算机图形和实体建模中多面体对象的形状。

维护在编辑器中创建并存储在可编写脚本的对象中的对象之间的关系(引用)

所以我最近发现了Unity中上下文菜单的使用。我有一个带有一堆三角形的网格,每个三角形有 3 个顶点。 我有一个可编写脚本的对象 LevelData [CreateAssetMenu(文件名 = "

回答 1 投票 0

将局部空间法线转换为世界空间

我需要将局部空间网格转换为全局空间。 生成的法线向量似乎不正确。 我得到了顶点的世界变换矩阵(这有效,因为......的位置

回答 1 投票 0

将对象的边缘变形到 3D 模型上

我不完全确定从哪里开始解决手头的问题或如何寻找解决方案,一些指示将不胜感激,谢谢:) 我想要实现的是对齐(或更...

回答 1 投票 0

删除网格模型中的顶点

我正在 Ursina 中创建 Minecraft。我通过向网格模型添加顶点来创建块。 但现在我有一个问题,我无法删除网格中的顶点。每次代码调用都会出错...

回答 1 投票 0

删除内部网格细节,同时保留顶点颜色

我有一个包含顶点颜色的.obj,例如: v -48.125000 47.082489 19.500006 229 229 229 v -46.875000 47.082489 19.500006 229 229 229 我想使用类似的技术来...

回答 1 投票 0

如何将 PLY 模型转换为三角形列表?

我想尝试在我自己的简单光线追踪器中渲染斯坦福兔子模型。当我下载并解压模型时,我得到两个 .ply 文件目录,分别称为 data/ 和reconstruction/,分别...

回答 1 投票 0

给定门+门框的 3D 模型 - 如何检测门并分离网格

所以我的问题如下: 我有一扇随机门的网格(意思是可移动的门和框架)。 我想检测门并将其与门框分开,将两者放在不同的

回答 1 投票 0

如何在不使用单独的网格的情况下更改 THREE.js 中单个对象的材质?

我们已经在 THREE.js 中创建了一个 PCB 查看器,现在我们希望为其添加一些选择功能。这不是一项困难的任务,而且我已经有了这个功能,尽管我...

回答 1 投票 0

我可以将网格着色器的网格输出访问回CPU吗?

所以我正在 Vulkan 中制作一个体素游戏,其中大部分计算不仅是渲染每个块的面,而且还像在地形生成器中一样生成这些块。听完之后...

回答 1 投票 0

计算着色器 - 整数 >= 65535 问题?

我对计算着色器不太有经验,但现在为了性能我必须编写一些。我的计算着色器中有一个简单的内核方法,它只是重新解释...

回答 1 投票 0

使用 fipy 在坐标上定义的网格进行生物扩散的表示问题

我想使用 fipy 通过生物扩散来模拟狼群动力学。我使用了来自荷兰的数据,因此我的网格是根据坐标定义的,不再从零开始。初始条件...

回答 1 投票 0

制作非均匀坐标的网格

我正在尝试绘制在非均匀坐标下评估的多元函数的轮廓。问题是由于将坐标存储为一维数组,特别是两列 sha...

回答 1 投票 0

Python 3.10 中的 CGAL alpha 换行

这是我第一次在 stackoverflow 上发帖。如果我犯了任何错误,请告诉我。 对于一些背景:我最近开始学习 CFD 网格划分,并且我正在尝试生成纯

回答 1 投票 0

有什么方法或方法可以计算两个网格之间的相似度

我有一个对象的分段网格作为地面实况。 我有另一个从相机中获取的网格,经过进一步处理和分割。 我想找到当前网格的相似度...

回答 1 投票 0

在Blender中使用python如何挤压和旋转?

我需要连续挤压网格并在每一步旋转网格。这可以在用户界面中完成,如下所示。 我已经完成了连续的挤压,但无法完成

回答 2 投票 0

使用 scikit-fmm 或 gdist 3D 三角形网格上的测地距离

我正在尝试评估 TOSCA 数据集上的测地距离矩阵。 例如以下 3d 网格 - 我尝试过使用两个 python 实现。 第一个是scikit-fmm,它不...

回答 2 投票 0

如何在Python中使用gmsh和vtk连接网格

我正在开发一个项目,该项目使用有限元方法创建和操作几何对象上的网格。到目前为止,用户导入文件 (.step) 并选择要创建的对象区域...

回答 1 投票 0

从基于其他网格的网格中提取表面

我有两个网格。网格 1 代表具有体积的完整对象。我转换了对象的拓扑(各向同性重新网格划分)以提高网格质量。网格2代表一个小样本...

回答 1 投票 0

如何围绕网格旋转相机

使用 Qt/QML/C++,我尝试构建一个非常基本的 3D 场景来围绕网格对象旋转相机。 主程序 #包括 #包括 使用 Qt/QML/C++,我尝试构建一个非常基本的 3D 场景来围绕网格对象旋转相机。 主.cpp #include <Qt3DQuickExtras/qt3dquickwindow.h> #include <Qt3DQuick/QQmlAspectEngine> #include <QGuiApplication> #include <QtQml> int main(int argc, char **argv) { QGuiApplication app(argc, argv); Qt3DExtras::Quick::Qt3DQuickWindow view; // Expose the window as a context property so we can set the aspect ratio view.engine()->qmlEngine()->rootContext()->setContextProperty("_window", &view); view.setSource(QUrl("qrc:/main.qml")); view.setWidth(800); view.setHeight(600); view.show(); return app.exec(); } main.qml import Qt3D.Core 2.0 import Qt3D.Render 2.0 import Qt3D.Input 2.0 import Qt3D.Extras 2.0 Entity { id: sceneRoot Camera { id: camera projectionType: CameraLens.PerspectiveProjection fieldOfView: 25 aspectRatio: _window.width / _window.height nearPlane : 0.1 farPlane : 1000.0 position: Qt.vector3d( 0, 0.0, 20.0 ) upVector: Qt.vector3d( 0.0, 1.0, 0.0 ) viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 ) } OrbitCameraController { camera: camera } components: [ RenderSettings { activeFrameGraph: ForwardRenderer { clearColor: Qt.rgba(0, 0.5, 1, 1) camera: camera } }, InputSettings { } ] PhongMaterial { id: carMaterial } Mesh { id: carMesh source: "resources/aventador.obj" } Entity { id: carEntity components: [ carMesh, carMaterial ] } } 如何让相机围绕网格对象旋转? OrbitCameraController 允许沿着轨道路径移动相机。要使其围绕网格旋转,您可以将相机的 viewCenter 设置为网格的位置(包含网格的实体的变换的平移)并使用键盘/鼠标来旋转它。 所以添加: Transform{ id: carTransform translation: Qt.vector3d(5.0, 5.0, 5.0) //random values, choose your own } 并将变换添加到实体的组件中。 将相机的viewCenter更改为 viewCenter: carTransform.translation 您应该使用鼠标或键盘来执行此操作。 当您使用 OrbitCameraController 或 FirstPersonCameraController 你无法控制我们。我使用这个 code 而不是 OrbitCameraController。 Entity{ id: root property Camera camera; property real dt: 0.001 property real linearSpeed: 1 property real lookSpeed: 500 property real zoomLimit: 0.16 MouseDevice { id: mouseDevice sensitivity: 0.001 // Make it more smooth } MouseHandler { id: mh readonly property vector3d upVect: Qt.vector3d(0, 1, 0) property point lastPos; property real pan; property real tilt; sourceDevice: mouseDevice onPanChanged: root.camera.panAboutViewCenter(pan, upVect); onTiltChanged: root.camera.tiltAboutViewCenter(tilt); onPressed: { lastPos = Qt.point(mouse.x, mouse.y); } onPositionChanged: { // You can change the button as you like for rotation or translation if (mouse.buttons === 1){ // Left button for rotation pan = -(mouse.x - lastPos.x) * dt * lookSpeed; tilt = (mouse.y - lastPos.y) * dt * lookSpeed; } else if (mouse.buttons === 2) { // Right button for translate var rx = -(mouse.x - lastPos.x) * dt * linearSpeed; var ry = (mouse.y - lastPos.y) * dt * linearSpeed; camera.translate(Qt.vector3d(rx, ry, 0)) } else if (mouse.buttons === 3) { // Left & Right button for zoom ry = (mouse.y - lastPos.y) * dt * linearSpeed zoom(ry) } lastPos = Qt.point(mouse.x, mouse.y) } onWheel: { zoom(wheel.angleDelta.y * dt * linearSpeed) } function zoom(ry) { if (ry > 0 && zoomDistance(camera.position, camera.viewCenter) < zoomLimit) { return } camera.translate(Qt.vector3d(0, 0, ry), Camera.DontTranslateViewCenter) } function zoomDistance(posFirst, posSecond) { return posSecond.minus(posFirst).length() } }} 创建一个新的 qml 类并调用它,例如 SOrbitCameraController 或任何您想要的东西,然后使用它而不是 OrbitCameraController 并将相机带到此类。 我知道这是一篇旧帖子,但自从我找到了答案,这也难倒了我,这是我调整的内容: 我发现我需要做的就是将向量设置为零,我用 pyqt 编写,所以我的看起来像这样: camera.setUpVector(QVector3D(0.0, 0.0, 0.0)) 原因是在此之后我能够锁定鼠标右键控件并使用鼠标左键控件围绕网格旋转。 我发现了这个有用的信息: Q_INVOKABLE void tiltAboutViewCenter(float angle); Q_INVOKABLE void panAboutViewCenter(float angle); Q_INVOKABLE void panAboutViewCenter(float angle, const QVector3D &axis); Q_INVOKABLE void rollAboutViewCenter(float angle); 这就是你想要的。

回答 4 投票 0

挖空 3D 网格

有一篇文章介绍了 MeshLab 如何挖空由三角形多边形组成的 3D 网格。根据该文章,我的理解是 MeshLab 方法是: 创建一个新的偏移网格,从...重新采样

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.