/
hamster75
/
Life
Обзор
Документация
Войти
/
hamster75
/
Life
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
6
CI/CD
Аналитика
Безопасность
site
js/patterns.js
21 строка
989 B
Dmitry Smirnov
Prepearing first public release
22 май 2026, 16:29
22 май 2026, 16:29
e9db6fb
Код
Авторство
О чём код?
// Горизонтальное зеркало: (x,y) → (-x, y), затем нормализация к (0,0) export function flipH(cells) { const flipped = cells.map(([x, y]) => [-x, y]); const minX = Math.min(...flipped.map(([x]) => x)); return flipped.map(([x, y]) => [x - minX, y]); } // Поворот паттерна на 90° по часовой: (x,y) → (y, -x), затем нормализация к (0,0) export function rotate90(cells) { const rotated = cells.map(([x, y]) => [y, -x]); const minX = Math.min(...rotated.map(([x]) => x)); const minY = Math.min(...rotated.map(([, y]) => y)); return rotated.map(([x, y]) => [x - minX, y - minY]); } // Нормализация: сдвинуть так, чтобы минимальные координаты были 0 export function norm(cells) { const minX = Math.min(...cells.map(([x]) => x)); const minY = Math.min(...cells.map(([, y]) => y)); return cells.map(([x, y]) => [x - minX, y - minY]); }