by Theo Verelst
In the context of three dimensional graphics, missing in prepared form currently from tcl, but very present in tcl driven applications, such as Maze in openGL om windows navigation controlled by Tcl/Tk and some wiki pages have subjects which can excellently well be extended to 3 dimensions, such as recently Cubic Splines and C compiled image processing on an interactive Bwise canvas, Interactive Polygon in Bwise, as well as that there are opengl links and regular questions on the news about 3D tcl/tk extensions, this page discusses the basic idea of computing the point where a line intersects a plane.
I did this problem once as assignment for a digital design course a Delft University before I graduated, where the intent was to make a hardware design, that is a chip like design, with digital gates and arithmetic units, which would very rapidly compute such intersections.
The interesting part there is that a analysis can be made of the basic components of such computation, such as additions and multiplication, which are also important in software analysis.
In tcl this is nearly always inefficient, but preparing a good 3D (or multi-D) library is a good idea, no matter for what implementation, and Bwise has partly been invented for graphically dealing with building blocks of the kind, which can give good insight in algorithms, and let users and programmers play with and research various topologies of computations.
The intersection I of a line spanned by vector V and plane P in mathematical sense is easier when we first take the plane to be unbounded and parallel to the x-y plane, so defined by
z = a
The vector V is of course:
(x) (y) V = (z)