Design Surface Patterns From Scratch