DownloadsDocumentationCommunityGalleryExtensions

Polar

The example pictures below shows the radiation pattern of an antenna. It is based on measurements following a rotation as described in the table on the right.
...
...

Building 3D Polar Charts

Jzy3d Polar Toolbox allows drawing 3d polar charts very easily, as shown by the below sample code (used to draw the antenna radiation above)

// DATA
PolarCoordsLoader loader = new PolarCoordsLoader();
PolarCoords coordinates = loader.loadPolar(FILE, SEPARATOR, 1);
coordinates.setUnit(Unit.Degree);
float offset = coordinates.clean(); // Shift radius if min radius is less than 0

// TESSELATE DRAWABLES
PolarColorMapper colorMapper = new PolarColorMapper(new ColorMapRainbow(), -20, 80, new Color(1, 1, 1, alpha));
PolarTesselator tesselator = new PolarTesselator();
Shape energy = tesselator.tesselateShape(coordinates, colorMapper);
energy.setWireframeWidth(0.01f);
energy.setWireframeDisplayed(true);
energy.setWireframeColor(Color.BLACK.clone().alphaSelf(alpha<1?alpha/2:1));

List drawables = new ArrayList<>();
drawables.add(energy);

// CHART SETUP
Quality q = PolarChartFactory.quality();
q.setPreserveViewportSize(false);

Chart chart = PolarChartFactory.chart(q, FILE, drawables);
chart.getQuality().setSmoothEdge(false); // edit chart quality

PolarAxis axis = (PolarAxis)chart.getView().getAxe();
if(!chart.getQuality().isPreserveViewportSize()){
    axis.getTickDraw().setFontTickMajor(Font.Helvetica_18);
    axis.getTickDraw().setFontTickMinor(Font.Helvetica_12);
}

// View layout
chart.getView().setSquared(false);
PolarAxisLayout layout = (PolarAxisLayout) chart.getAxeLayout();

// azimuth layout
layout.setXAxeLabel("Azim");

// elevation layout
layout.setYAxeLabel("Elev");
layout.setYTickLabelDisplayed(false);

// radius layout, using tick provider for minor radius values
int nMinor = 13;
float minorStep = coordinates.computeRadiusRange() / nMinor;
double[] radials = {offset-3*minorStep, offset-2*minorStep, offset-minorStep, offset};
layout.setZAxeLabel("Rad");
layout.setZTickRenderer(new PolarTickRenderer(-offset, 4));
layout.setZTickProvider(new StaticTickProvider(radials));
									

Purchase

Lite Edition

1-5 employees

Small business Edition

5-50 employees

Enterprise Edition

51 employees and more
Package
  • Code examples
  • SDK Binaries
  • Documentation
Package
  • Code examples
  • SDK Sources
  • SDK Binaries
  • Documentation
Package
  • Code examples
  • SDK Sources
  • SDK Binaries
  • Documentation
  • Technical support
Licence 1 (SDK binaries)
  • Freely distribute SDK binaries inside your product without royaltees
Licence 2 (SDK binaries and sources)
  • Freely distribute SDK binaries inside your product without royaltees (Licence 1)
  • Lifetime access to SDK source code
  • Access to source code updates
  • Customize SDK for your needs
  • Can not distribute source code of SDK to any party, whatever your enclosing software licence or commercial conditions. However, in case you have to distribute source code of the API to your clients, please contact us : we remain open to adapt licence on a per client basis.
Licence 3 (Support)
  • License 1
  • License 2
  • 40 hours of technical support and consulting during the course of your project.

Price : 490 euros / year

Price : 1490 euros / year

Price : 4490 euros / year

In case download did not start immediately after you completed the Paypal payement, please contact us

Hans-Bernhard Friedrich - MBTech

We enjoyed working together with Jzy3D developper team very much. They're great computer scientists, programmers and expert on the subject. Jzy3D library is clean, straight forward and therefor easy to integrate and work with. A real masterpiece. Customer service was perfect. Their communication skills are great and we feld understood and comfortable. They fulfilled our technical and social requirements beyond the measure. We are looking foreward to work together with them soon.