Modern, interactive, technical and scientific plots and visualizations in 2D and 3D. This module is part of the ILNumerics Visualization Engine for creation of fast and interactive 2D/3D visualizatios on .NET. Free trial licenses are available here: https://ilnumerics.net/download.html.
$ dotnet add package ILNumerics.DrawingThis package is part of ILNumerics Ultimate VS - a powerful framework for technical application development on .NET.
General Info about ILNumerics: (specific info about this package are found at the end)
ILNumerics provides packages for the convenient authoring of:
ILNumerics is compatible with all .NET runtimes since .NET Framework 4.6.1., including .NET Core, .NET 5.0, .NET 6.0.
We've invested great effort to translate and keep up to date the quasi standard algorithms for all computational routines, including linear algebra, FFT and optimization methods. These purely managed implementations are the first to bring professional robustness and precision to .NET. Hence, ILNumerics runs efficiently on any platform supported by .NET! Optionally, native libraries can be used to replace the managed default implementation. For the Windows platform, such native, optimized libraries are provided, too.
ILNumerics apps are typically much faster than alternatives: faster to implement and faster during execution. With ILNumerics the size of your data is not limited by the managed heap. ILNumerics n-dimensional Array<T> bridges the gap from high-level mathematical expressions down to native memory robustly, efficiently, and transparently. It allows to connect your data to any 3rd party without hassle. Further, it is able to host your data on any computational resource found, including CPUs and GPUs - key for heterogeneous, parallel computing.
Start with this package for authoring of static professional, technical visualizations in 2D and 3D. This package provides a fully featured, efficient scene graph implementation and 2D/3D plots and charts. Visualizations can be created based on a 3D scene, a regular camera or (multiple) plot cubes. Rendering to bitmap and vector image types is supported, as well as logarithmic scales, transparency and efficient custom creation of complex, reusable scene components.
For interactive visualizations in Windows.Forms apps start with ILNumerics.Drawing.Platforms.
For more / faster / more complex plotting types see the ILNumerics.Toolboxes.Drawing2 package.
In order to write efficient algorithms, use the Computing Engine package. While not being a requirement, it is often handy for data pre-processing.
Create a fresh C# console application.
reference the Visualization Engine package in your project.
reference the Computing Engine package in your project.
Include the following 'using' directives (C#):
using ILNumerics;
using ILNumerics.Drawing;
using ILNumerics.Drawing.Plotting;
using static ILNumerics.ILMath;
using static ILNumerics.Globals;
Replace the Program.Main() method with the following code:
// create a new, empty scene
var scene = new Scene();
// create some data
Array<float> A = sin(arange<float>(0f, pif * 50f) / 10f);
// add a line plot to the scene
scene.Add(
new PlotCube(twoDMode: false) {
new LinePlot(A)
});
// signal that your scene is ready for rendering
scene.Configure();
// (offscreen) render the scene to a bitmap, using GDIDriver
var gdi = new GDIDriver(1000, 1000, scene);
gdi.Render();
gdi.BackBuffer.Bitmap.Save("image.png");
Find the generated image in your \bin\Debug folder. It shows a sine curve.
read the beginners guide and start writing more visualizations!