文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

组合两个索引编号

2024-02-06 10:11

关注

问题内容

3d 立方体有 12 边和 8 角。

角点索引

8 角点已索引 07

7---------6
     /|        /|
    / |       / |
   4---------5  |
   |  |      |  |
   |  3------|--2
   | /       | /
   |/        |/
   0---------1

边缘索引

11 边已从 0 索引到 11

// these are the corner pairs for the edges:
var mcpairtable = [12][2]int{
    {0, 1}, // edge 0
    {1, 2}, // edge 1
    {2, 3}, // edge 2
    {3, 0}, // edge 3
    {4, 5}, // edge 4
    {5, 6}, // edge 5
    {6, 7}, // edge 6
    {7, 4}, // edge 7
    {0, 4}, // edge 8
    {1, 5}, // edge 9
    {2, 6}, // edge 10
    {3, 7}, // edge 11
}

我想在 3d 立方体内绘制四面体。为了描述四面体,我可以使用边和角的索引。例如,四面体将由角 0、边 0、边 3 和边 8 组成。

我的问题是索引编号。我不知道如何将边的索引与角的索引结合起来。我有两种索引编号选项。

选项 1:字符串

一种选择是使用字符串来组成四面体。例如,我使用 c 前缀作为角索引,使用 e 前缀作为边缘索引:

var tehtrahedron = [4]string{"c0", "e0", "e3", "e8"}

但是处理字符串并不像简单的整数索引那么容易。

选项 2:移动索引

另一个选项是将边的索引从 0 保留到 11,但移动角的索引。因此,角点将从 0+12 索引到 7+12,即从 1219。使用此选项,相同的四面体将如下所示:

var tehtrahedron = [4]int{0+12, 0, 3, 8}

或者:

var tehtrahedron = [4]int{12, 0, 3, 8}

但是这个选项会弄乱我的代码的其余部分,并使我的代码难以阅读。

  1. 四面体并不总是由 1 角和 3 边组成。组合是任意的。但角和边的总数始终为 4
  2. 四面体的索引顺序很重要。

是否有一种方便的方法来保留边缘和角落的原始索引编号? 同时能够通过边和角的索引来表示四面体?

寻找一些想法...


正确答案


最终我选择了移动索引。边的索引 011 ,角的索引 1219

我必须这样做,因为边和角的组合是任意的。此外,索引的顺序也很关键。

以上就是组合两个索引编号的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯