diff options
| author | Andrew Guschin <saintruler@gmail.com> | 2020-11-09 23:28:49 +0300 |
|---|---|---|
| committer | Andrew Guschin <saintruler@gmail.com> | 2020-11-09 23:28:49 +0300 |
| commit | 0408d33694635cdc28db23c9c6388bd916626bde (patch) | |
| tree | 843f2e61b8f5652ff3b2f19779820c223403ca7d /task03/Guschin/Transform.h | |
Добавил первые 4 задания
Diffstat (limited to 'task03/Guschin/Transform.h')
| -rw-r--r-- | task03/Guschin/Transform.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/task03/Guschin/Transform.h b/task03/Guschin/Transform.h new file mode 100644 index 0000000..d606647 --- /dev/null +++ b/task03/Guschin/Transform.h @@ -0,0 +1,45 @@ +#pragma once + +mat3 translate(float Tx, float Ty) +{ + mat3* res = new mat3(1.f); + (*res)[0][2] = Tx; + (*res)[1][2] = Ty; + return *res; +} + +mat3 scale(float Sx, float Sy) +{ + mat3* res = new mat3(1.f); + (*res)[0][0] = Sx; + (*res)[1][1] = Sy; + return *res; +} + +mat3 scale(float S) +{ + return scale(S, S); +} + +mat3 rotate(float theta) +{ + mat3* res = new mat3(1.f); + (*res)[0][0] = (*res)[1][1] = (float)cos(theta); + (*res)[0][1] = (float)sin(theta); + (*res)[1][0] = -(*res)[0][1]; + return *res; +} + +mat3 mirrorX() +{ + mat3* res = new mat3(1.f); + (*res)[1][1] = -1; + return *res; +} + +mat3 mirrorY() +{ + mat3* res = new mat3(1.f); + (*res)[0][0] = -1; + return *res; +}
\ No newline at end of file |