【发布时间】:2014-11-20 15:19:19
【问题描述】:
我想知道用离散数据集编码的二维图形。对我来说,似乎由于计算机是在离散的集合中运行的,所以对图形做同样的事情可能更有意义。
例如,与其让一条线由两个向量表示,并让计算机整理出像素配置,然后必须用代数方式确定一条线上的点,为什么不以离散的方式表示一条线,例如具有 x 和 y 坐标和有限长度的 3d 数组?
难道不是更有意义吗?初始化所有这些数据以使内存不会浪费在计算事物上而不是仅仅使用简单的离散操作来引用数据位置,这不会提高性能吗?所以对于一条线,而不是在 y = 4 时找到 x,为什么不简单地做 line[3] 呢?
我的问题是:以这种方式处理数据会更快吗?如果是,那么优化此类计算的最佳方法是什么?
【问题讨论】:
-
通常,聪明的程序员会选择适合他们需要做的处理的数据表示。
-
如果我想要 line[3.5] 怎么办?我们需要扩展我们的数组以覆盖半步。现在如果我想要 line[3.25] 怎么办?重复。
-
我假设每个单位代表 1 个像素。因此,两者之间没有。
-
还有奥利弗,我说的是数据建模的方式。例如,笛卡尔平面实际上并不存在于内存中,因此我建议将这些公式应用于谨慎的表示。
-
算法通常需要像素之间的值...在取出它们之前我会非常确定您的应用程序。
标签: c memory assembly discrete-mathematics data-manipulation