In the world of computer design, 3D modeling is the process of developing graphics and images that appear to have three dimensions. The process is complicated, but generally involves connecting a set of points with various geometric data such as lines and curved surfaces with the goal of creating a wideframe model that represents a three-dimensional object. It is popular in gaming, motion pictures, and other entertainment ventures, though it also has applications in medicine and engineering. In most cases it requires both specialized software and at least some knowledge of computer coding. Designers typically use one of four main modeling methods, namely polygonal, primitive, non-uniform rational B-spline, or splines and patches. Choosing one method over another is usually a matter of end goals as well as software capabilities.