【发布时间】:2016-12-22 20:20:26
【问题描述】:
我正在尝试将矩阵 (MxN) 旋转 45 度。 例如:
|a|b|c|d|e|
|f|g|h|i|j|
|k|l|m|n|o|
将被旋转到这个:
| | |a| | | | |
| |f| |b| | | |
|k| |g| |c| | |
| |l| |h| |d| |
| | |m| |i| |e|
| | | |n| |j| |
| | | | |o| | |
非常感谢任何帮助! 编辑:我对这个问题的看法。
我一直在考虑这个问题,这是我最终得出的公式: f(i,j) = (i+j,m-1-i+j)
但我遇到的问题是,如果我要进行 2 次这种旋转,我将无法旋转 90 度。
【问题讨论】:
-
@Raw N 我应该纠正一个这样做的函数
-
你应该展示你迄今为止所做的工作。 help section 已为您服务。
-
@RawN
std::rotate给出的结果与 OP 要求的结果不同。 -
@RawN 我没有发布任何工作,因为它不值得发布它只是读取初始矩阵 [m][n] 并创建我将放置旋转矩阵的新矩阵- 矩阵1[m+n-1][m+n-1]
-
@Saizaku 那么你至少应该展示你认为应该如何解决问题,即使没有代码。
标签: c++ math matrix multidimensional-array rotation