Effective computational geometry for curves and surfaces