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 8.0. and newer.
We've invested great effort to auto-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. We've invented groundbreaking new auto-parallelization techniques which make full use of modern, parallel hardware with unseen automatic efficiency. Further, 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. Moreover, it allows to connect your data to any 3rd party interface without hassle.
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 WindowsForms / WPF 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 a software renderer
scene.SaveBitmap("image.png");
Find the generated image in your \bin\Debug folder. It shows the expected sine curve.
read the getting started guide online and start writing more visualizations!