Advanced Geometry with Splines

Presentation by Charles Poe (Discrete Computation team) introducing Wolfram Geometric Computation capabilities: modeling (CSG, implicit), polygonal meshes and spline-based regions, mesh-processing pipeline, integration with Wolfram Language for analysis/solving (PDEs, optimization), and direct 3D printing/export (STL/OBJ). Defines spline (piecewise polynomial curve/surface) and explains spline-based regions and planned future work: a spline subsystem, CAD-system connections, improved auto-visualization, performance improvements, and better documentation/education.
Chapters
Hello and welcome to Advanced Geometry with Spline. I'm Charles Poe and I'm a developer on the Discrete Computation team. I'm really excited to talk to you today about our Wolfram Geometric computation and how it opened the door for you to create and analyze amazing geometric objects with Planck. So let's get started. Wolfram Geometric Computation is a core part of the Wolfram language and provide a comprehensive set of integrated tools and solutions for modeling, analyzing, visualizing or synthesizing geometry. In fact, you have several choices when it comes to which modeling approach you can use and best suited for you on your project and that includes constructive solid geometry and implicit representation. For example, you can model geometric region in 2 and 3 dimensions using polygonal mesh or from building primitives such as disk, ball, toroid and combine them, transform them to create new ones. You can also increase your workflow efficiency by importing geometric regions and by exporting your work in a wide range of 3D geometric and modeling format including STL, OBJ and DREs. We leverage our document based notebook interface to handle this geometric region with insightful structure and realistic appearance. You can interact with 2D and 3D rendering of your model or style elements using different types of light, material and canvas. With these high quality graphics you can visualize over geometric region and gain immediate insight about your data and functions. This is fully integrated in our rich collection of highly automated plots. For example, you can show temperature, stress, fluid flow and computed property directly on your models. Now behind the scene, Wolfram Geometric computation is powered by an extensive collection of state of the art geometric algorithm including triangularizations, convex holes and data structures. You can directly type into it to build your work to analyze and to understand spatial structure in various areas. Use the mesh processing pipeline to understand intricate geometric structure and property of your geometric data. It enables you to construct triangles and polygonal mesh of scan or tomographic input data to remove topological or geometric error to remesh and improve the mesh quality. These geometric regions are first class citizens in the Wolfram language. They can be used as input and output and are deeply integrated in the rest of the language. You can solve optimization problem, algebraic equation and partial differential equation with geometric constraint. In this example, we find the distance on the nearest point between two convex polyhedra by formulating the problem as a quadratic optimization problem using the convex polyhedra directly as input. We may also bridge domain, analyze geometry using graph or construct geometry from image or computer maps. Now to bring your ideas to life in the real world, you can 3D print them Wolfram Geometric computation. Provide fully integrated capability to directly 3D print Geometric models using either an online printing service or your own 3D printer. You can also create interactive simulation for games, AR and VR immersive experience. Publish your model directly to AR device and take advantage of the connection between the Wolfram language and gainmdge to programmatically control the creative and development process. As in programmatic card, 3D object in Wolfram geometry can be designed parametrically, abstract and reuse. In fact, we are using spline to bring the design simplicity of the traditional CAD system to Wolfram geometry. So what's a spline? A spline is a piecewise polynomial curve or surface. Spline are popular because of the simplicity of the construction. There is an accuracy of evaluation and the capability to approximate complex shape through curve fitting and interactive curve design. Spline in the Wolfram geometry include a boundary representation where the region is represented by its boundary, a curve in 2D and a surface in 3D or where the region is represented as the joint union of sample cells. As in mesh regions, this spline based region can be constructed in a variety of ways including from point extrusion and Boolean operation. Spine based regions just work like any other region. They can be analyzed, used as input to solver or as building blocks to construct more complex regions.
Okay, I will go through a few set of questions before that. So let's just make conclude the presentation by pointing out actually the future directions for geometry at least in the next coming release. One of the main focus actually of the the whole project is always to add more modeling, analysis and computation and definitely jump in verticals. So we did so with, you know, adding mesh regions for the analysis. We have a whole subsystem for mesh region and one of the vertical mesh region was 3D printing. So for the coming release we are actually focusing as you saw here on splines and we hope to have a whole subsystem for analyzing and computing on spline but also have a vertical in term of CAD connection to CAD system and interactive with CAD system with all that spline set of fusion functionality we are going to provide. So we hope you long term to actually be not per se compete with, you know, CAD system because more they are more in the interactive side of of computer design but also have that programmatic side of CAD as well as the unique capability in terms of computation on splines. But also we'll continue to kind of improve the usability of the functionality in geometry. We are going to add more auto visualization, improve the performance and One example, when I actually say about talk about auto visualization, it's. It's for example about Boolean regions. So when you build a Boolean region of, for example, if a symmetric difference of 2 disk in the current functionality or the current release, you get an unevaluated object which most of the people think, you know, nothing actually happened, which is usually the case in the system when something come back on evaluated. But in principle this object can actually compute on it. Right? So what we hope is to actually add, you know, add an auto visualization of the object where you don't actually need to, you know, convert, you know, wrap it around region or do anything else the object will direct you to visualize and you get directly the perception that you can actually manipulate it, you can compute on it, you can compute the area and do any other type of comp computation on that object as well as computing integrals or plotting functional on top of it. So that's kind of one side of the usability. We are planning to add obviously for transform region, Boolean region, transform region and this transform regions. But we'll also continue to improve the integration with the compiler for example and expose more data structure which will be quite useful for people who actually want to work on the low level side of geometry or do computational geometry. So that's kind of some of the set of feature we plan to add, but also in terms of education or kind of bring all that to you. We are improving our documentations, making them look much nicer, better integration with our graphics functionality and there will be course and book on geometry as you are doing also in other areas. So in short, that's kind of the big view of geometry and what we plan to do in the next future. So I'm going to go and look at some of the questions here and try to answer them. So far the presentation should be available under the handout. I was able to share that. And so one question here is either a plan to support bezier triangular mesh or more other splines. T spline. I use splines at this time we are just going with our B splines and see how far it will bring us. But we are open to extend it if there is need. Feel free to kind of send us an example or use of those different type of spline and we'll kind of consider them to add them and extend them. Another question. So when I open the notebook, only the slides show there. There's no presentation control inside. Okay, so that's from. From Bruce Collection, the slide notebook. So I will look at the presentation notebook I share and try to fix that if there is any issues. Okay, I will wait a little bit more minutes here and see if there is any more question related to geometry. And as I pointed out in the earlier slides, we have office hours of geometry tomorrow at 1 to 2pm so if you have any question or any issue with the current functionality or any suggestion of the future direction or what you like to see in our geometric functionality, please don't hesitate and come by and stop by and let us know.
Okay?
Well, thank you for coming by and I hope you have a great rest of your conference. Thank you.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






