Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int project3dto2d_point(t_point *p, t_camera *cam)
- {
- double d[3];
- double pi;
- if (!p || !cam)
- return (0);
- pi = 3.14159265359;
- d[0] = cosf(cam->pany * pi / 180) * (sinf(cam->panz * pi / 180) *
- (p->y3d - cam->y3d) + cosf(cam->panz * pi / 180) * (p->x3d - cam->x3d)) -
- sinf(cam->pany * pi / 180) * (p->z3d - cam->z3d);
- d[1] = sinf(cam->panx * pi / 180) * (cosf(cam->pany * pi / 180) *
- (p->z3d - cam->z3d) + sinf(cam->pany * pi / 180) *
- (sinf(cam->panz * pi / 180) * (p->y3d - cam->y3d) +
- cosf(cam->panz * pi / 180) * (p->x3d - cam->x3d))) +
- cosf(cam->panx * pi / 180) * (cosf(cam->panz * pi / 180) *
- (p->y3d - cam->y3d) - sinf(cam->panz * pi / 180) * (p->x3d - cam->x3d));
- d[2] = cosf(cam->panx * pi / 180) * (cosf(cam->pany * pi / 180) *
- (p->z3d - cam->z3d) + sinf(cam->pany * pi / 180) *
- (sinf(cam->panz * pi / 180) * (p->y3d - cam->y3d) +
- cosf(cam->panz * pi / 180) * (p->x3d - cam->x3d))) -
- sinf(cam->panx * pi / 180) * (cosf(cam->panz * pi / 180) *
- (p->y3d - cam->y3d) - sinf(cam->panz * pi / 180) * (p->x3d - cam->x3d));
- p->x2d = ((50.0 / (d[2])) * d[0] - 0.0) * cam->zoom + 1920 / 2;
- p->y2d = ((50.0 / (d[2])) * d[1] - 0.0) * cam->zoom + 1080 / 2;
- return (1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement