Computing Form and Shape: Python Programming with the Rhinoscript Library
This course explores the role of computation in the conception and representation of shape and form. With a recognition that artists, architects and designers learn best when creating new work, programming will be taught as a creative medium.
In the Python language, students will develop, analyze and critique algorithmic approaches to digital drawing, modeling, and projection. Specifically, the powerful, robust, and well-documented Python Rhinoscript library will be introduced and explored in detail. This API allows Rhinoceros modeling software to be scripted with text-based code. Scripting in this manner can automate existing processes and can lead to novel kinds, relationships, and orders of shape and form. Architects, sculptors, and any artists or designers interested in the either fabrication or communication of form and shape will recognize the importance of projection–the the transformation of three-dimensional geometry onto a two-dimensional picture plane, cut sheet, paper or screen. As a result, this course focuses not only on the generation of geometry, but the output of geometry. In parallel to extending students' technical proficiency, this course will touch on the conceptual and theoretical implications of algorithmic design.
Each of the five lessons will build upon each other to develop an understanding of the Python language, algorithmic strategies, and digital geometric craft (the interrelated structures and topologies that make up digital models). Beginning with the most primitive geometric element–the point–the course will build curves in two and three dimensions, organize those curves to function as the input for methods that generate surfaces. Subsequently, the course will return to the realm of drawing as surfaces will be used to generate lines and curves in concert with orthographic and perspective projection.