collision detection / proximity of a point to a plane

I am quite new to 3d, but have managed to create the basics of a 3d engined using opengl.

Obviously, there are other elements to a game,beyond the graphical.

I am using very basic collision detection between my objects, using a touching spheres algorithm.

That allows me to roughly determine whether
two objects are going to collide.

Once I have filtered down my objects to the likely collidees, I would like to then
be able to take each ql_triangle in turn and
determine whether any triangle has touched any other.

One way to do this, is to deduce the normal to the plane of one triangle in MODEL A, and then determine the distance from the points within MODEL B.

if the distance is 0 or negative, I have collided…

is thise correct?

Is this the most efficient way to do this?

and where can I find a piece of c code to calculate the distance of point B from the plane of triangle A?