Zheng-Ball Patches



What are Zheng Ball patches?

  • Zheng-Ball patches are non-four-sided patches with the property that they are Bezier curves along their boundaries
  • They are intended for use in filling non-four-sided holes in surfaces composed of Bezier patches
  • While there theoretically exist patches of size greater than 6, only 3, 5, and 6 sided patches are realistically implementable at this point.

  • Figure 1: Degree 2 triangular patch

    What I did

  • Implemented 3, 5, and 6 sided Zheng-Ball patches
  • Implemented a tensor product Bezier patch evaluator
  • Demonstrated some simple Zheng-Ball patches
  • Demonstrated a simple connection of a degree 3 triangular Zheng-Ball patch and a bicubic Bezier patch with C-1 continuity

  • What I learned

  • It is difficult to generate all points on the surface of a Zheng-Ball patch with n >= 5 sides. I had to overlap n patches, one corresponding to each side.
  • To compute the input values for a 6 sided patch, a quadratic must be solved. While theoretically, there are infinite solutions to the equation 0x^2+0x+0=0, only one solution will suffice to give correct points on the surface.
  • Normals are very difficult to compute for Zheng-Ball patches. Using differentials does not seem to work. When the two input values being used to compute the differential are near zero, the normals face the wrong direction. (See Figure 2)
  • While Zheng-Ball patches can theoretically fill non-four-sided holes, it is difficult to do so, as they are overconstrained by the surrounding patches. Great care is necessary in designing these surfaces.

  • Figure 2: The same patch, with the normals computed differently.

    What I want marks for

  • I fully implemented the basic project, which was 3, 5, and 6 sided Zheng-Ball patches. I'm not entirely happy with the computation of normals, but it is a decent approximation. The code otherwise works fully.
  • I additionally implemented a tensor product Bezier patch evaluator, and generated a surface with C-1 continuity, demonstrating the ability of Zheng-Ball patches to connect to tensor product Bezier patches. It would have been cool to do some modelling, but the difficulty of the task (as mentioned above) and time would not permit.

  • Some pictures


    Figure 3: Degree 3 triangular patch

    Figure 4: Degree 2 five-sided patch

    Figure 5: Degree 2 six-sided patch

    Figure 6: Degree 3 triangular patch

    Figure 7: Bicubic Bezier patch

    Figure 8: Figures 6 and 7 combined together

    References

  • J.J. Zheng, A.A. Ball. Control point surfaces over non-four-sided areas. Computer Aided Geometric Design, 14:807-821, 1977.

  • Last modified: Thu May 3 00:11:05 EDT 2001