Virtual colonoscopy is a computerized procedure to examine colonic polyps from a CT data set. To automatically fly through a long and complex-shaped colon with a virtual camera, we propose an efficient method to simultaneously generate view-positions and view-directions. After obtaining a 3-D binary colon model, we find an initial path that represents rough camera directions and positions along it. Then, by using this initial path, we generate control planes to find a set of discrete view-positions, and view planes to obtain the corresponding view-directions, respectively. Finally, for continuous and smooth navigation, the obtained view-positions and directions are interpolated using the B-spline method. Here, by imposing a constraint to control planes, penetration and collision can be avoided in the interpolated result. Effectiveness of the proposed algorithm is examined via computer simulations using the several phantoms to simulate the characteristics of human colon, namely, high-curvatures and complex structure. Simulation results show that the algorithm provides the view-positions and view-directions suitable for covering more 3-D surface area in the navigation. Also, prospective results are obtained for human colon data with a high processing speed of less than 1 minute with a 2 GHz standard PC.