在 iOS 中处理点矩阵的最佳方法
我需要在 iPhone 应用程序中处理点矩阵,以便能够在点之间绘制线条。这里的dots是CGPoint的集合。处理这种矩阵的最佳方法是什么?我想以这样的方式创建数组/矩阵,以便我可以访问给定点的所有邻居。经过大量谷歌搜索后,我发现 Accelerate.framework 也可以处理此类内容,但它似乎非常复杂。 对此有什么想法吗? 谢谢 阿尼特姆
I need to handle a matrix of dots in an iphone application to be able to draw lines between the dots. Here dots are a collection of CGPoint. What is the best way of dealing with such kind of matrix? I would like to create the array/matrix in such a way that I can access all the neighbours of a given point. After a lot of googling I found Accelerate.framework that is also handleing such kind of stuff but it seems to be much complex.
Any idea on this?
Thanks
Arnieterm
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
矩阵类应该相对容易制作。如果矩阵的大小是恒定的,则可以轻松使用 ac 数组。使用一些简单的数学,您可以在恒定时间内访问矩阵中的任何元素。
c 列 r 行的元素: x = 矩阵[ r * NUM_COLUMNS + c ];
索引 i 处元素上方的元素:matrix[ i - NUM_COLUMNS ];
索引 i 处元素下方的元素:matrix[ i + NUM_COLUMNS ];
索引 i 处元素右侧的元素:matrix[ i + 1 ];
索引 i 处元素左侧的元素:matrix[ i - 1 ];
根据您想要在边缘执行的操作,如果您想环绕矩阵,您可能必须使用一些 if 语句或可能的模运算符。
A matrix class should be relatively easy to make. If the size of the matrix is constant, you can easily use a c array. Using some simple math you can access any element in the matrix in constant time.
element at column c and row r: x = matrix[ r * NUM_COLUMNS + c ];
element above element at index i: matrix[ i - NUM_COLUMNS ];
element below element at index i: matrix[ i + NUM_COLUMNS ];
element to the right of element at index i: matrix[ i + 1 ];
element to the left of element at index i: matrix[ i - 1 ];
depending on what you want to do at the edges you may have to use some if statement or possibly modulus operators if you want to wrap around the matrix.