You can use directX to solve this problem. I had done this using delphi and directX.
You can implement it using c# also.
which could be able to load bunch of points in space
You can do this by reading a textfile or binary file as you like and store it in buffer.
TD3DXVector3 temppt = D3DXVector3(X,Y,Z);
Here, TD3DXVector3 is type in directX.
render them
For rendering, there is a method DrawPrimitive of IDirect3DDevice9, using which you can render point, line or triangle.
g_pd3dDevice.DrawPrimitive(D3DPT_TRIANGLELIST,0,count);
Here, Count is the number of triangles you want to draw.
select such point, rotate & move viewport
For rotation and moving viewport you can use transformation matrices for Projection transformation, View Transformation and world Transformation.