/
rnekrasov
/
Python
Обзор
Документация
Войти
/
rnekrasov
/
Python
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
linear-algebra-python/src/Transformations2D.py
45 строк
980 B
slowy07
refactor: clean code
30 янв 2022, 04:33
30 янв 2022, 04:33
f0af0c4
Код
Авторство
О чём код?
# 2D Transformations are regularly used in Linear Algebra. # I have added the codes for reflection, projection, scaling and rotation matrices. import numpy as np def scaling(scaling_factor): return scaling_factor * (np.identity(2)) # This returns a scaling matrix def rotation(angle): arr = np.empty([2, 2]) c = np.cos(angle) s = np.sin(angle) arr[0][0] = c arr[0][1] = -s arr[1][0] = s arr[1][1] = c return arr # This returns a rotation matrix def projection(angle): arr = np.empty([2, 2]) c = np.cos(angle) s = np.sin(angle) arr[0][0] = c * c arr[0][1] = c * s arr[1][0] = c * s arr[1][1] = s * s return arr # This returns a rotation matrix def reflection(angle): arr = np.empty([2, 2]) c = np.cos(angle) s = np.sin(angle) arr[0][0] = (2 * c) - 1 arr[0][1] = 2 * s * c arr[1][0] = 2 * s * c arr[1][1] = (2 * s) - 1 return arr # This returns a reflection matrix