The geometric shapes and the relative position of coils influence the performance of a three-dimensional (3D) inductive power transfer system. In this paper, we propose a coil design method for specifying the positions and the 3D shapes of a pair of coils to transmit the desired power. Given region of interests (ROIs) for designing the transmitter and the receiver coils on two surfaces, the transmitter coil is generated around the center of its ROI. The center of the receiver coil is estimated as a random seed position in the corresponding 3D surface. At this position, we use the heatmap method with electromagnetic constraints to iteratively extend the coil until the desired power can be transferred via the set of coils. In each step, the shape of the extension, i.e., a new turn of the receiver coil, is found as a spiral curve based on the convex hulls of the 2D projected adjacent turns along their normal direction. Then, the optimal position of the receiver coil is found by maximizing the efficiency of the system. In the next step, the position and the shape of the transmitter coil are optimized based on the fixed receiver coil using the same method. This optimization process iterates until an optimum is reached. Simulations and experiments with digitally fabricated prototypes were conducted and the effectiveness of the proposed 3D coil design method was verified.