# Breathing Sphere

Shape · (x, y, z) = f(u, v, t)

`(cos(u) · sin(v) · (1 + 0.1 · sin(2t)),  cos(v),  sin(u) · sin(v) · (1 + 0.1 · sin(2t)))`

[Open in the app](https://www.wavelace.com/app#p=58) · [This page](https://www.wavelace.com/presets/breathing-sphere)

### What it draws

This is the standard sphere, with `u` as longitude and `v` as the angle down from the north pole. The second expression is the height, `cos(v)`: it is `1` at the top, `0` at the equator and `−1` at the bottom. The other two spread `sin(v)`, the distance from the vertical axis, round that axis as `cos(u)` and `sin(u)`.

### The pulse

The factor `1 + 0.1·sin(2t)` is the only place the clock enters. It sits on the width and the depth but *not* on the height, so the poles never move while the waist swings between `1.1` and `0.9` times its resting radius.

The ball is a true sphere only at the two instants per cycle when `sin(2t)` is zero. In between it is a spheroid, flattened when the waist is wide and drawn out when it is narrow. The `2` on `t` sets the timing: the cycle repeats every `2π/2 = π ≈ 3.14` seconds at `Speed` 1.

### Try

- Put the same factor on the height, `cos(v)·(1 + 0.1·sin(2t))`: now every direction breathes together and the whole ball grows and shrinks instead of changing shape.
- Change `0.1` to `0.4` in the width and depth for a swing between `1.4` and `0.6`, well past a sphere.
- Change `2t` to `6t`: three times as fast, a cycle every `2π/6 ≈ 1.05` seconds.
- Set `Span of v (×π)` to 0.5: `v` stops at the equator, so only the top half of the ball is drawn.
- Set `Turns of u` to 0.5 instead: half the longitudes, the sphere cut open along a meridian.

### Read more

- [Sphere](https://en.wikipedia.org/wiki/Sphere)
- [Spherical coordinate system](https://en.wikipedia.org/wiki/Spherical_coordinate_system)
- [Spheroid](https://en.wikipedia.org/wiki/Spheroid)
