//include guard
//An include guard is a piece of code the ensures that the contents of this header are only included once in your project
#include <iostream>
#include <cmath>
#include<My3DMatrix.h>
#include <My3DVector.h>
Using namespace std;
Enumerated data type;
Enum Transftype = (Scale, Rotate, Translate) ;
My3DVector Operator *(const My3DMatrix& M, const My3DVector& V)
(
//perform the multiplication
// return a vector
Int main()
{
TransfType t= Translate ;
My3DVector M ;
My3DVector V ;
My3DMatrix Product = M*V ; //multiplication is only defined if
// Number of columns in M = number of rows in V
//cout << M.operator() (1,1) <<endl ;
TASK
Write a transformation Class that allows 3 types of transformation .. translation, rotation and scaling All in 2D with homogeneous coordinates
//Transformation T(rotation, angle);
//Transformation T2(Scale, sx,sy,) ;
//TransformationT3(translate, tx, ty) ;
//My3DVector V(1.34,2.21,1) ;
//My3DVector RptatedVec = T*V
//My3DVector ScaledVec = T2*V
//My3DVector TranslatedVec = T3*V
Hints
First create a new editor with class transformation
Then Inside the class have a matrix from my3D matrix object as data member
Depending on the first argument, fill the matrix elements appropriately
Overload the *operator so it takes Transformation object and My3DVector as argument types. Multiply the matrix that is inside the transformation object with the given My3DVector