Suppose we have a 3d Space with a plane on it with an arbitary equation : ax+by+cz+d=0 now suppose that we pick 3 random points on that plane: (x0,y0,z0) (x1,y1,z1) (x1,y1,z1)

now i have a different point of view(camera) for this plane. i mean i have a different camera that will look at this plane from a different point of view. From that camera point of view these points have different locations. for example (x0,y0,z0) will be (x0',y0') and (x1,y1,z1) will be (x1',y1') and (x2,y2,z2) will be (x2',y2') from the new camera point of view.

So here is my a little hard question! I want to pick a point for example (X,Y) from the new camera point of view and tell where it will be on that plane. All i know is that 3 points and their locations on 3d space and their projection locations on the new camera view.

Do you know the coefficients of the plane-equation and the camera positions (along with the projection), or do you only have the six points? - Nils

i know the location of first 3 points. therefore we can calculate the coefficients of the plane. so we know exactly where the plane is from (0,0,0) point of view. and then we have the camera that can only see the points! So the only thing that camera sees is 3 points and also it knows their locations in 3d space (and for sure their locations on 2d camera view plane). and after all i want to look at camera view, pick a point (for example (x1,y1)) and tell where is that point on that plane. (for sure this (X,Y,Z) point should fit on the plane equation). Also i know nothing about the camera location.

+1  A: 

You are asking how to intersect a line and a plane? See here

ps. Your teacher knows this site!

Martin Beckett
homework question? come on. This question is a good one.
Nils Pipenbrinck
+1  A: 

This is obviously a homework question, but basically you need to derive the transformation matrix for your arbitrary camera projection (i.e. what you'd use to transform a 3D scene into a 2D scene for rendering) then run the point back through this matrix (i.e. the inverse) to obtain it's coordinates in the 3D scene. Any good 3D graphics text that deals with the basic principals should show you how to do this.


Actually this is not a homework. I am working on a project that i need to Synchronize a PTZ camera with a Static Camera. the PTZ Camera in located at 3d space in (0,0,0). the plane that I'm talking about is ground. Here i need to command PTZ camera to look at a certain point of a ground. Actually the STATIC camera is an Intelligent Camera that will analyze the environment and if it see anything suspicious it will tell PTZ to go and check it out with probably a good zoom! so i need to know that all the points on Static camera view will refer to witch points on PTZ.