80 likes | 219 Views
d. y. y /h = d/z. point in screen space. y = h*d/z. h. point in camera space. z. y world. x world , y world , z world. translate. project. x camera , y camera , z camera. x proj , y proj. scale. x screen , y screen. x camera = x world – cameraX. translate.
E N D
d y y/h = d/z point in screen space y = h*d/z h point in camera space z
xworld, yworld, zworld translate project xcamera, ycamera, zcamera xproj, yproj scale xscreen, yscreen
xcamera = xworld – cameraX translate ycamera = yworld – cameraY zcamera = zworld – cameraZ xproj = xcamera * d/zcamera project yproj = ycamera * d/zcamera xscreen = (w/2) + (w/2)*xproj scale yscreen = (h/2) – (h/2)*yproj … where (w,h) = canvas width and height
(0,0) canvas +ve (w,h) (0,1) +ve (-1,0) (1,0) (0,0) projection plane (0, -1)
tan(fov/2) = 1/d fov⁰ d d = 1/tan(fov/2) 1
roadWidth segmentLength rumbleLength (# segments) p2 p1
curves accumulate curve curve curve