Show!
Implicit eqn
Implicit equation(s)
Revolution
×

x ∈ [  ,  ]
y ∈ [  ,  ]
z ∈ [  ,  ]
sin cos tan eπBSDelUndo
csc sec cot r x78 9 /< Redo
sinh cosh tanh ρ y45 6 ×> Clear
asin acos atan exp θz12 3 =Show!
asinhacoshatanhlog φ ( )0 . +
Help on defining objects
Cool examples
Random example

3Graf is a rendering experiment for visualizing surfaces and regions in the space that combines many graphics technics to achieve a precise and beautiful result.  More about 3Graf.   Contact

Cool examples
Torus (Donut)
Sphere
Ellipsoid
Hyperbolic Paraboloid (Horse Saddle)
Hyperboloid of One Sheet
Hyperboloid of Two Sheet
Monkey Saddle
Catenoid
Cayley Cubic
Clebsch Cubic
Kummer Quartic
Three cylinders intersection
Cube between two spheres
Intersection of sphere and hyperboloid
Torus of revolution
Help on defining objects

The object to be rendered can be defined by:

Different equations/inequations are separated by line breaks (enter key). You may write simultaneous equations (such as f < g < h or f = g ≥ h, for instance).

Examples:

You may use cartesian (x, y, z), cylindric (r, θ, z) or spherical (ρ, θ, φ) coordinates and even mix them freely. We are taking θ ∈ (-π/2, π/2).

More about 3Graf

3Graf is a rendering experiment for implicitly defined surfaces and regions of spaces. Actually, it is the result of a hobby and my personal curiosity.

The rendering combines classic techniques with the result of some of my studies on realtime raytracing. The techniques are still quite experimental and I believe the performance can be greatly improved.

The code for the rendering layer was written in C/C++, with compilation for WebAssembly done with Emscripten. Except for the OpenGL library, its web version WebGl, and the standard C/C ++ libs (and their web ports made by Emscripten), no other third-party library were used. A libary, also by my own, is used internally for parsing, simplification and derivation of the function that defines the surface. This lib probably does not bring anything special compared to the options available in internet, but it was fun to implement it. It is capable of some algebraic simplifications, derivation and optimization for future use in GPU processing.

As a medium-term target, I plan to release an Android and iPhone version, if possible with augmented reality capabilities.

About the author

My name is Leonardo Silvares and I am currently professor at the Universidade Federal Fluminense, NiterĂ³i, Rio de Janeiro, Brazil

I have a past in IT development, acting as team leader and full stack leading programmer for financial market, implementing critical mission server systems and client (mobile and desktop) apps.

I started to study Graphics Computing and I am enjoying it more and more. I have some experiments that I intend to make available soon, specifically related to volume rendering.

You can contact me by email leotadeu@gmail.com.

How to help the project

You can help the project by:

About this version

This is no more the very first version available, but it was still made available only for test and proof of concept. It should not be taken as a final product. It should not be taken as a product at all. Previous version is no more available.

Create and share surfaces, regions and curves in an instant!
1
Define the object
Just math, no complications
2
Visualize
You can custom color, domain and more
3
Share or embed on your site
And surprise!
Ok!
Ok!