zhouleyi2003吧 关注:10贴子:2,964
  • 11回复贴,共1

研究了一天

只看楼主收藏回复

只为找到一种比 Half Edge 更适合做 Loop 细分的数据结构。
目前毫无进展不过我会继续尝试。
(图文无关)


IP属地:浙江来自Android客户端1楼2024-01-26 20:38回复
    数据结构学得还是不够扎实。刚刚踩了个坑,误认为 hashmap 是依靠 hash value 来区分元素的不同,最终导致一个立方体出现了 36 条边。


    IP属地:浙江2楼2024-01-26 22:55
    回复
      还有一个坑,unordered_set 居然不能插入重复元素 我以为插入重复元素后是覆盖旧的,事实上是直接忽略。
      一般来说这样做(直接忽略)都是对的,但有时候实现一些 “巧妙” 的功能时,会出现元素在值的意义上不重复,但为了方便处理,将其判定为重复的情况,此时用 unordered_set 就会产生错误的结果。
      解决方案是先移除重复元素,再添加 “重复” 元素。


      IP属地:浙江3楼2024-01-26 23:17
      回复

        加上这句 erase,问题就顺利解决了!


        IP属地:浙江4楼2024-01-26 23:19
        回复
          今天总共就做了两件事,但是花了 13 个小时。
          昨天则是想了 7 个小时做出来一道题,做完后写了篇题解。
          效率确实是有点低,可能是因为我思考的速度太慢了,而且经常想到一半思路就断了,又要重头来过。
          虽然热力学第二定律告诉我们这个世界终将毁灭,但我起码在毁灭之前做了点事——明天我还会做更多。


          IP属地:浙江5楼2024-01-26 23:28
          回复

            今天以这个立方体收尾。
            尽管这看上去只是个普通的立方体,但是!请注意,构成立方体的 8 个顶点之间是存在关系的,或者说顶点之间的互信息不等于零。我今天所做的,就是成功地提取出了这些互信息,为后续的处理做好了准备。


            IP属地:浙江6楼2024-01-26 23:36
            回复

              GLM 版本号到 1.0.0 了!从六年前就开始用这个库,希望他们越做越好。


              IP属地:浙江7楼2024-01-27 11:30
              回复

                如果我能成功把这堆东西 debug 出来,说明我的水平更上一层楼了。


                IP属地:浙江8楼2024-01-27 16:14
                回复
                  软件的问题不像硬件,调硬件的时候会有很多玄学,但软件多数情况下还是可靠的,是就是,不是就不是,因此必须通过严谨的逻辑分析来定位问题的根源所在。
                  按照 loop 细分的原理以及我设计的数据结构,每次细分后总的边数应等于原边数乘以二加上原面数乘以三。
                  初始时边数等于 18,面数等于 12,那么理论的新的总边数为 72,但却出现了 108 条边(上图)!
                  观察与边的添加相关的代码,对于每一个原来的面,进行循环次数为 3 的 for 循环,每个 for 循环添加 3 条边,所以总边数为 12 * 3 * 3 = 108,这是在去重机制不工作的情况下得出的数字,因而说明去重没有成功。
                  因此现在的目标就是搞清楚为什么无法去重。


                  IP属地:浙江9楼2024-01-27 16:30
                  回复
                    我成功了!!!!!!!!!!!




                    IP属地:浙江10楼2024-01-27 17:45
                    回复




                      IP属地:浙江11楼2024-01-27 17:49
                      回复
                        如第三张图所见,还存在一些瑕疵,但我暂时不想改了。


                        IP属地:浙江12楼2024-01-27 19:36
                        回复