【问题标题】:Programatically create a 3D model (of a door)以编程方式创建 3D 模型(门的)
【发布时间】:2017-10-30 05:17:32
【问题描述】:

我必须使用各种生成门的 3D 模型:

  1. 组件(榫,45 度)
  2. 框架
  3. 面板

如果我有 2 个组件、10 种框架和 10 种面板,我必须生成 200 个模型。我选择忽略影响外观的其他参数(木纹方向、木材种类、纹理……)

我使用 three.js 构建了一个简化的原型。由于没有从事此类工作的经验,我想知道什么是开始这个​​项目的最佳方式,考虑到:

  1. 模型将生成一次(服务器端,即非动态)
  2. 所有门的尺寸都相同。
  3. 我想为框架和面板边缘输入 2D 模型并“拉伸”形状。

最后,我想克隆一个门模型并调整其大小,以将它们放置在厨房的 3D 模型中。第二阶段将在客户端动态完成。

我应该如何解决这个问题?

是否有开源库和工具可以帮助我实现目标?

【问题讨论】:

  • 你用的是什么语言
  • @TGKL 我可以使用 c#、C++、Java、PHP、JS ...

标签: 3d


【解决方案1】:

vcglib 应该适合你,它是一个用于视觉和计算机图形的 C++ 库。查看它的samplesdoc,了解如何使用该库。

示例中trimesh_allocate.cpp的示例代码,用于添加顶点和面,

  // Alternative, more compact, method for adding a single vertex
  ivp[3]= &*vcg::tri::Allocator<MyMesh>::AddVertex(m,MyMesh::CoordType ( 1.0, 1.0, 0.0));

  // Alternative, more compact, method for adding a single face (once you have the vertex pointers)
  vcg::tri::Allocator<MyMesh>::AddFace(m, ivp[1],ivp[0],ivp[3]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    相关资源
    最近更新 更多