Geometric and Harmonic Means in Python

The most commonly known and used statistical mean is the arithmetic mean, calculated by adding all values and dividing the result by the number of values. The arithmetic mean is one of a "family" of three means called the Pythagorean means, the other two being the geometric mean and the harmonic mean. In this post I will explain when you might need to use these alternatives and then show how to calculate them using Python.

Continue reading

Plotting Parametric Equations with JavaScript

Parametric equations are used to calculate values, for example two dimensional or three dimensional coordinates, using an independent variable called a parameter.

In this article I will write a class which plots parametric equations in 3D using WebGL and the three.js library, and demonstrate its use with a few examples.

Continue reading

Displaying Mathematical Notation in a Web Page

Many of my articles include mathematical formulas with specialist characters and formatting, and as they are usually well known formulas I can usually "borrow" them from places such as Wikipedia by taking screenshots. If you cannot do this for some reason then in this article I'll look at alternatives using TeX and MathJax.

Continue reading

Exploring Units in Math.js

The math.js library's many features include comprehensive support for units, enabling us to carry out calculations and conversions of measurements including length, mass, volume and many more.

The library has its own comprehensive documentation so in this article I will just give a brief introduction the unit functionality before providing a few examples of more obscure or specialized usage.

Continue reading

SVG Animation with Anime.js

Anime.js is a very powerful and versatile library which lets you animate CSS properties, DOM attributes, SVG and even JavaScript objects. The library's own documentation is comprehensive and has plenty of interesting examples, but for this article I will write a simple library using anime.js to create SVG elements with zero size and a specified position, and then animate them to their desired size and location. The end result is an SVG image which appears to grow and assemble itself before your eyes. Let's get to it...

Continue reading