Created by Reza Ali, F3, [Form From Function], is a playful and powerful 3D design app that enables you to live code 3D form, rapidly iterate on its design, and export for 3D printing, rendering and animation. Whereas most 3d design programs represent form as polygons, vertices and/or bounded surfaces, F3 uses signed distance functions (SDFs) to build forms – designing 3D forms using 2D image cross sections.
SDFs are a different way of thinking about space, time and form. They allow you to create more interesting geometries and perform more complex modification operations. Check out shadertoy.com to see what people are making and doing with them.
F3 evolved out of the idea of being able to design 3D forms using 2D image cross sections. Imagine a stack of 2D concentric circles of the same size on top of each other, in 3D this would make a cylinder. Further, a sphere is just a 2D circle that changes its radius along its perpendicular axis. Now imagine being able to use a pixel shader to define any arbitrary shapes that changes along its perpendicular axis!
F3’s interface is unlike anything before. Its end user experience is heavily influenced by Bret Victor’s talk: Inventing on Principle. Its interface is built to give you immediate feedback while changing code and/or parameters, thus not only is F3 a powerful tool for designing form, its a great teaching & research tool. If you want to get deeper into understand the mathematics of SDFs and learn more about procedural / algorithmic design, F3 will help you explore and understand how to bend space!
F3 is a work in progress developed by Reza. Its not perfect and is constantly being tweaked and improved upon to address issues and add features. You might notice that the output meshes have some crunchy edges. This will hopefully be addressed in a later version of F3 that uses a better meshing algorithm.