Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Point Point::transform(Matrix const& m, int Type) const
- {
- Coordinates c = {getX(), getY(), getZ(), 1};
- Coordinates beforeNorm = Coordinates(multiply(m, multiply(Shape::rotateZ, multiply(Shape::rotateY, (multiply(Shape::rotateX, multiply(Shape::centerMatrix3D, c)))))));
- if (Type == ProjectionType::PERSPECTIVE) {
- beforeNorm[0] = (beforeNorm[0] * 10.) / (beforeNorm[2] + 10.);
- beforeNorm[1] = (beforeNorm[1] * 10.) / (beforeNorm[2] + 10.);
- beforeNorm[2] = 0;
- beforeNorm[3] = 1;
- }
- return Point(multiply(Shape::centerMatrix2D, beforeNorm));
- //return Point(multiply(Shape::centerMatrix, c));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement