Ulysses’ trip


  • 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.

  • 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.

  • 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!

  • 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).

  • 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.

  • 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.

  • Giving birth to my own blog

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

subscribe via RSS