# Ulysses’ trip

## Posts

### The structure of a basic RM game

In this article, I present minimal examples of a RM game. They only illustrate the basic concepts of how a RM game is structured and what is the running logic of it.

- Categories: programming
- Tags: ruby, javascript, rgss

### The frequency assignment of musical notes

This article explores the concept which I call the frequency assignment, which is a mapping from $N$ (the set of notes) to $\mathbb R^+$ (the set of frequencies). Concepts such as octaves, intervals, and equal temperaments are introduced.

- Categories: music
- Tags: music theory, number sequence, long paper

### Normal vectors of a scalar field

This article gives the formula for the normal vectors of a surface defined by a scalar field on $\mathbb R^n$. The normal vector of the graph of the function $y=f\!\left(\mathbf x\right)$ at $\left(\mathbf x_0,f\!\left(\mathbf x_0\right)\right)$ is $\left(\nabla f\!\left(\mathbf x_0\right),-1\right)$. This also provides us a way to recover a scalar field from the normal vectors of its graph: normalizing the vectors so that the last component is $-1$, and then integrate the rest components.

### It is Feb 29 today!

It is Feb 29 today. The date appears once for as long as 4 years!

- Categories: update
- Tags: fooling around

### Monkey-patching graciously

Monkey-patching is a powerful tool in programming. In this article, I used techniques of Ruby metaprogramming to define a series of methods

`def_after`

,`def_before`

, etc. to help monkey-patching. They look graciously in that we can use it to shorten the codes for monkey-patching (avoiding aliasing and repeating codes).- Categories: programming
- Tags: ruby, meta programming, long paper

### Amazing Siteleaf

I have been using Siteleaf to manage my blog. It is just convenient and amazing.

### Hyperellipsoids in barycentric coordinates

In this article, I introduce the barycentric coordinates: it is an elegant way to represent geometric shapes related to a simplex. By using it, given a simplex, we can construct a hyperellipsoid with the properties: its surface passes every vertex of the simplex, and its tangent hyperplane at each vertex is parallel to the hyperplane containing all other vertices.

- Categories: math
- Tags: linear algebra, long paper

### Use complex numbers as canonical variables

In this article, I try exploring an idea: using complex numbers to combine pairs of canonical variables into complex variables: $\mathbf c:=\alpha\mathbf q+\mathrm i\beta\mathbf p$. It turns out that we can write canonical equations $\frac{\mathrm d\mathbf c}{\mathrm dt}=-2\mathrm i\alpha\beta\frac{\partial\mathcal H}{\partial\mathbf c^*}$, Poisson brackets $\left\{f,g\right\}=-2\mathrm i\alpha\beta \left(\frac{\partial f}{\partial\mathbf c}\cdot \frac{\partial g}{\partial\mathbf c^*}- \frac{\partial f}{\partial\mathbf c^*}\cdot \frac{\partial g}{\partial\mathbf c}\right)$, and canonical transformations $\frac{\partial\mathbf c^*}{\partial\mathbf c’^*}= \frac{\partial\mathbf c’}{\partial\mathbf c}, \frac{\partial\mathbf c}{\partial\mathbf c’^*}= -\frac{\partial\mathbf c’}{\partial\mathbf c^*}$ in these complex numbers. Finally, I show two examples of using them in real problems: a free particle, and a harmonic oscillator.

- Categories: physics
- Tags: classical mechanics, canonical transformation, hamiltonian, complex, long paper

### Giving birth to my own blog

This is my first blog! I will share interesting things in my life here.

subscribe via RSS