#points #square #rotation #origin #array #rotated #think

orthogonal-rotation

用于旋转正方形上点的函数

5 个版本

0.0.10 2021 年 4 月 9 日
0.0.9 2021 年 4 月 2 日
0.0.7 2021 年 3 月 30 日

#4 in #think

MIT 许可证

12KB
122

orthogonal_rotation

将点“正交”地围绕原点旋转

我无法想出一个很好的定义来描述“正交”的含义。但现在的最佳描述方式是展示它对一组点的影响

点的数组

(数组中的位置表示其笛卡尔坐标)

100 101 102 103 104 105 106 107 108
109 110 111 112 113 114 115 116 117
118 119 120 121 122 123 124 125 126
127 128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143 144
145 146 147 148 149 150 151 152 153
154 155 156 157 158 159 160 161 162
163 164 165 166 167 168 169 170 171
172 173 174 175 176 177 178 179 180

使用值为 140 作为中心,值为 0.25 进行旋转

它将数组逆时针旋转 90 度

108 117 126 135 144 153 162 171 180
107 116 125 134 143 152 161 170 179
106 115 124 133 142 151 160 169 178
105 114 123 132 141 150 159 168 177
104 113 122 131 140 149 158 167 176
103 112 121 130 139 148 157 166 175
102 111 120 129 138 147 156 165 174
101 110 119 128 137 146 155 164 173
100 109 118 127 136 145 154 163 172

或者以 140 为中心,值为 0.125 进行旋转

它将数组旋转,使对角线成为轴的 x 和 y 轴线,逆时针方向(原来通过点 100, 110, 120 的对角线现在从左到右)

104 105 106 107 108 117 126 135 144
103 113 114 115 116 125 134 143 153
102 112 122 123 124 133 142 152 162
101 111 121 131 132 141 151 161 171
100 110 120 130 140 150 160 170 180
109 119 129 139 148 149 159 169 179
118 128 138 147 156 157 158 168 178
127 137 146 155 164 165 166 167 177
136 145 154 163 172 173 174 175 176

或者以更奇特的角,如 0.0287

它将每个点顺时针移动 2 个单位,同时保持与原点相同的距离(x + y 而不是 sqrt(x^2 + y^2))

102 103 104 105 106 107 108 117 126
101 111 112 113 114 115 116 125 135
100 110 121 122 123 124 133 134 144
109 119 120 130 131 132 142 143 153
118 128 129 139 140 141 151 152 162
127 137 138 148 149 150 160 161 171
136 146 147 156 157 158 159 170 180
145 155 164 165 166 167 168 169 179
154 163 172 173 174 175 176 177 178

我为了我的棋游戏制作了这个,以便每个 64 个方格都可以旋转一定的角度

如果每个方格旋转相同的角度,它们将映射到其他方格都没有映射到的方格

它以对游戏有用的方式做了一些事情

无运行时依赖