Just Convert not memorization in 2D on the screen.
Solution of it give you more flexible interfaces like spin.
---
Keep 3D-Lines before call to_screen_line: Data Structure 1. 3D-Line 2. 2D-Line on the screen And so, you can spin and have any other camera anggles. // // // // // vLine* to_screen_line( vLine* ll ) { static float fx[3], fy[3]; printf("to_screen_line starts: \r\n"); get_coordinate_on_screen ( *(ll->p1), &fx[0], &fy[0] ); ll->p1->x = fx[0]; ll->p1->y = fy[0]; get_coordinate_on_screen ( *(ll->p2), &fx[0], &fy[0] ); ll->p2->x = fx[0]; ll->p2->y = fy[0]; printf("to_screen_line return %p: \r\n", ll ); return ll; } --- eye = {x=300.000000 y=300.000000 z=-300.000000 } lookat = {x=-32.9822693 y=10.0000000 z=-240.000000 } lp = {x=-nan(ind) y=nan z=-300.000000 } --- Pararel: 1. Call once Calculation: put call once in the function of display_threeD_screen_initialize_OnRails. 2. From other side, Perespective view:
---
---
---