【问题标题】:Why do we use matrices?为什么我们使用矩阵?
【发布时间】:2020-02-15 06:38:02
【问题描述】:

为什么我们使用矩阵而不是数组?

如果我创建一个 3d 模型的顶点数组,并且我想将每个顶点向左移动

   ArrayList<Vertex> vertex = fillVertecis();
   for(Vertex vertex: vertices){
      vertex.x += 2;
   }

   //or avoiding creating all those objects

   float[] vertices = fillVertecis();

   //asumming we arrange the array like so [x1,y1,z1,x2,y2,z2....]
   int x = 0;
   int y = 1;
   int z = 2;

   for(int i = 0; i < vertices.lenght/3; i+= 3){
      vertices[i+x] += 1;
   } 


确定我正在遍历所有顶点,但我们不必使用矩阵做同样的事情吗?

使用矩阵代替数组有什么优势?

【问题讨论】:

  • 1) “矩阵”是一个矩形阵列,也称为二维阵列。我在这个问题中没有看到任何矩阵。 --- 2) “如果我创建一个...的数组” 但你没有,你创建了一个...的列表 一个数组不是List,而是@987654323 @ 不是数组。当然,ArrayListList,它在内部使用数组来实现,但这不会使 List 与数组相同。 --- 编程要求你写的东西准确无误,你在写问题时也应该同样严谨。
  • 你说的“我们”是谁?

标签: java matrix 3d


【解决方案1】:

使用矩阵代替数组有什么优势?

  • 目的明确。

  • 易于操作。

  • 实现的抽象。

  • ...

【讨论】:

    【解决方案2】:

    尝试对顶点应用旋转或缩放,您会发现 4x4 矩阵和 homogeneous transformations 优于数组。

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 2022-01-20
      • 2020-04-15
      相关资源
      最近更新 更多