Why Mirrored Images Feel Like Bad Reflections

Many artists and observant folks are already well aware that creating an image with a reflection is an art and that it can be very jarring when one is poorly crafted.  This is a brief post where I explore specifically what optically is wrong when a reflection is created by mirroring an image.

First we have to understand how real reflections look.  Let’s say we have a situation where an observer sees an object that is being reflected by the ground (it’s made of glass, there’s a layer of water, whatever) in Fig A below.

Fig A:

2019-04-11 21.14.42

In this case, the observer sees the physical object at one angle and the reflection at a slightly different angle.  In Fig B, I’ve updated Fig A to show a 90 degree viewing angle to the physical object and an approximately 45 degree viewing angle to the image.  Depending on the shape of the object, this may allow the observer to see more of the “underneath” surfaces in the reflection.

Fig B:

2019-04-11 21.15.26

Now, if I am in the process of creating a fake reflection where I’ve simply taken an image of an object and flipped the pixels, the flipped image because it is 2D is at the same viewing angle to the observer as the unflipped image.  Since in a real optical setting, the image should appear at a steeper angle, now it appears to be leaned in towards the observer (Fig C).

Fig C:

2019-04-11 21.17.06

And an even more fascinating realization is that for such a case to even be physically possible, the reflective surface would have to be bifurcating the angle between the image and its reflection and be perfectly in line with the observer’s eye (Fig D).  The fact that this is a physically impossible situation means that seeing such a reflection should feel completely alien and unsettling, especially in a doctored or Photoshopped or drawn image.

Fig D:

2019-04-11 21.18.30

Now of course this is an extreme simplification of the situation.  Clever artists know that distance matters as well.  Shrinking the reflection to accommodate for it’s perceived increased distance helps the reflection feel like it is in the right place.  In addition, if the reflective surface has texture and is not completely clear, the observer’s mind will fill in the gaps and think that the image should make sense.  Finally, as the distance between the observer and the object increases, the delta between the viewing angles of the object and the reflection becomes a negligible difference anyway.

Nonetheless, I found it to be an interesting thought exercise to explore the physical reality (or non-reality) that may sometimes underlie a gut feeling of a mirrored image being “wrong.”

Localization / Translation of 朋友

Here’s another song I’d like to translate and localize:

朋友 by 周華健 (Peng You by Emil Chau).  It was a pretty popular song from two decades ago and I remember that our Chinese American Cultural Association had all the kids sing it for graduation one year.

Again, the hope for this exercise is that I come up with something that is:

  1. Singable within the original melody.
  2. Grammatically and idiomatically passable in English.
  3. As faithful as possible to the original imagery, varying only to satisfy the previous two conditions.

So here is my localization and thought process:


  • 這些年 一個人 風也過 雨也走
    All these years, by myself, the wind has passed, the rain has gone.
    Not much to say here.  This translation is easy to match with what others have come up with.
  • 有過淚 有過錯 還記得堅持什麼
    There were tears.  There were wrongs.  I still remember why we held on.
    The second half is where this starts getting looser.  I like how “hold on” half-rhymes with “wrong” and “why I hold on” is an evocative English idiom, though not exact to the Chinese.
  • 真愛過 才會懂 會寂寞 會回首
    When you’ve loved, then you’ll know, you’ll look back when you’re alone.
    I found that “alone” rhymed better with “know” and decided to swap the order of the looking back and the loneliness.
  • 終有夢 終有你 在心中
    I still find dreams, I still find you, in my heart.
    I wanted to capture the meaning of 終 implying the passing of time, and settled on using “still finding” to reflect that this is something that has been on the singer’s mind.


  • 朋友 一生一起走 那些日子 不再有
    Friends are always by your side, in all those days that have gone by,
    I preferred the idiom of “days gone by” and it also half-rhymes with “side” from the first half.
  • 一句話 一輩子 一生情 一杯酒
    one good word, one lifetime, with one heart and a cup of wine.
    This was the toughest line.  It repeats the idea of one lifetime and lifelong friends, but there just aren’t as many different English words for “life” so I decided to change the latter lyric for redundancy.
  • 朋友 不曾孤單過 一聲朋友 你會懂
    Friends will never be alone, with a true friend, you will know:
    The idiom I pulled in here was the phrase “true friend.”
  • 還有傷 還有痛 還要走 還有我
    There’s still sorrow, and pain to bear.  Though we’ll part, I’ll still be there.
    Literally, there are “wounds and pain” but “sorrow and pain” is the more common English idiom.  This was also the toughest line to keep the rhyme (I settled on “bear” and “there”); whereas the Chinese lyric ends the beat on “there’s still me” that accusative noun feels weird in English, so I went with the gentler “I’ll still be there.”

[repeat verse]

[repeat chorus]

Some overall thoughts:

  • Admittedly this song is not that complex to begin with, but I find that most other translations I read are more literal translations and don’t feel like things I would actually say in English.  This was my biggest focus here.
  • Also, because the song itself wasn’t as complex, I tried to also match the rhyme scheme where the first half of each line would rhyme with the second half; this made arranging the English rather challenging for some of the lines while trying to preserve the original meanings.
  • One of the toughest things about this song was figuring out the implied speakers and audiences.  There are few pronouns and unlike English where verbs have first or second-person conjugations, in Chinese the verbs are always the same.  It takes some context to make your best judgment about how to translate that context.  (for example, making the decision that the end of the second line is spoken by an “I” directed to a “we”)


Localization / Translation of 飛得更高

Translation can be a technical and literal task.  However, localization is an art.

As a Chinese-American who knows a bit of my ethnic language, but not enough to be fully comfortable in it, I often wonder if I can make great English versions of the various Chinese songs I come across. The goal is to make sure that the English version is:

  1. Singable within the same melody.
  2. Grammatically and linguistically acceptable.
  3. Evokes the same emotions, if not the same imagery.

Today’s challenge is:  飛得更高 by 汪峰 (Fly Higher by Wang Feng)

Here is my localization and thought process:

[Verse 1]

  • 生命就像 一條大河
    Life is just like a winding river:
    “winding river” is a stronger idiom in English than the literal translation “long” or “big” river.
  • 時而寧靜 時而瘋狂
    at times it’s calm and quiet, at times it’s crazy.
    “quiet” by itself matches the syllable count, but doesn’t feel as complete as “calm and quiet.”
  • 現實就像 一把枷鎖
    Reality is like one big shackle,
    To keep the rhythm of the Chinese measure words here that don’t exist in English, I’ve added “one big” to the imagery.
  • 把我捆住 無法掙脫
    holding me down with no way to get out.
    “holding… down” is a looser translation here but fits better with the overall narrative of flight.
  • 這謎樣的生活鋒利如刀
    This mysterious life is sharp like a razor.
    刀 just means knife, but razor is the stronger image in English when talking about injury.
  • 一次次將我重傷
    time and again causing me pain.
    I couldn’t find a two syllable word/phrase to end this line that felt as concise as “pain.”
  • 我知道我要的那種幸福
    But I know the happiness that I want
    I think this line translates very nicely as is.
  • 就在那片更高的天空
    is in that wide open sky over there.
    I am actually still on the fence about whether “is right over there in the open sky” ends better with the final emphasis on “open sky.”


  • 我要飛得更高 飛得更高
    I want to fly even higher, fly even higher.
    Literal translation.
  • 狂風一樣舞蹈 掙脫懷抱
    I want to dance like the wind, breaking away.
    The second phrase is tough to translate as it’s a Chinese idiom; there’s more meaning there than I can pack into the English.
    “break away” is a bit of a cheeky callout to the Kelly Clarkson song of very similar imagery to this one.
  • 我要飛得更高 飛得更高
    I want to fly even higher, fly even higher.
  • 翅膀捲起風暴 心生呼嘯
    My wings kicking up a storm, my heart shouting out for joy.
    This is pure idiom localization. “rolling up a storm” and “heart whistling” don’t work as well literally.
  • 飛得更高
    I want to fly even higher.

[Verse 2]

  • 一直在飛 一直在找
    I keep on flying. I keep on searching.
    Literal translation.
  • 可我發現 無法找到
    But you just can’t find what I’m looking for.
    The Chinese uses first-person this whole line, but to facilitate the transition to the indefinite second-person in the next line, I brought “you” into this line.
  • 若真想要 是一次解放
    If you really want a taste of freedom,
    “taste of freedom” is an idiom localization choice, though the imagery differs slightly with the rest of the song.
  • 要先剪碎 這誘惑的網
    you have to cut loose from the nets of temptation.
    This was a very difficult line; I like the imagery but the word “temptation” feels clunky here.
  • 我要的一種生命更燦爛
    I want a life that’s more brilliant.
    Literal translation.
  • 我要的一片天空更蔚藍
    I want a piece of the sky that’s more blue.
    Literal translation; I really like the imagery here.
  • 我知道我要的那種幸福
    I know that the happiness that I want
  • 就在那片更高的天空
    is in that wide open sky over there.

[repeat chorus]

Overall, some of the hardest challenges with this were:

  • Keeping a similar syllable count: certain semantic phrases in Chinese are shorter than in English and vice versa.  Luckily, music can often be a bit forgiving, allowing for you to create an double eighth note rhythm to accommodate the extra syllables in what was a quarter note in the original language.
  • Keeping to the important musical enunciation: as a counter to the previous point, there are certain musical high points or held moments that cannot be sacrificed without changing the rhythm and you HAVE to build around these.  For example, in the original Chinese, much of the emphasis falls on the two-character phrases that end each line; thus in English, I have to look for two-syllable words or two-syllable phrases with similar power and rhythm to preserve the overall structure of the song.
  • Literal vs. idiomatic? This is part of the artistry as well.  Making decisions about where the artist’s original imagery is great and should be kept versus where a more idiomatic English construction would be more powerful is a very subjective decision that really boils down to the transcriber’s own opinions.


Clock Hand Motion

Saw an analog clock today at a school, and it surprised me.  The minute hand moved every 15 seconds, and moved a quarter of the way to the next minute each of those times.

Now, the analog clock I have at home is continuously geared.  The minute hand is always moving, just at 1/60th the speed of the second hand [illustrated below]

I couldn’t help but to wonder exactly how the internal gearing of that clock in the school worked.  While we live in an age where a simple internet search and digging through some manuals and videos could explain this very quickly, it seemed remiss to pass on the chance to see what my own knowledge can afford me in an explanation.

My instinct in reverse-engineering something like this would be to think of the states that each hand can be.  The second hand has 60 states, so give it a gear with 60 teeth.  The minute hand moves every quarter minute and therefore must have 240 states, so give it a gear with 240 teeth.  Now how to convert between the two gears?  The seconds gear changes the state of the minutes gear only every 15 times it moves, so perhaps another gear on the same axle but with four teeth, corresponding to every 15 on the seconds gear [illustrated below].  The discontinuities between the four teeth would create the lack of continuous motion in between.

However, there was still one last puzzle.  The minute hand and second hand moved exactly in sync during that one tick on the clock I saw in the school, which implied to me that the teeth must be the same radial size.  Moreover, now that I knew the 1:15 relationship, I could imagine an easier gear pairing to make: Rather than a gear with 60 tiny teeth and another with only 4 teeth the same tiny size, how about a gear with 15 well-defined teeth and another gear with a single 1/15 tooth [illustrated below].  These can then be linked up to the appropriate 60-tooth and 240-tooth gears.  Moreover, in this arrangement, instead of power traveling from the seconds hand then to the minutes hand and having to overcome torque of each in the chain, the power that drives the clock comes from a single axle that transfers power to both the seconds hand and the minutes hand at the right ratios.

String Held Up in Tension

Saw this image online today, and was pretty fascinated by it.


I decided to do a quick free body diagram to get a better sense of how exactly tension was distributed across the string.


I color-coded the left-side against the right-side so that you can see the forces balanced by being from the same “spring.” As with any freebody diagram, taking any specific section of the string and summing up the forces coming into it from either direction gives us a sense of the net forces on it.

We see here that sections 1,3,5,7,9 are equivalent and 2,4,6,8 are equivalent.  The odd-numbered sections are in tension with force F, while the shorter even-numbered sections are in tension with force 2F.

This of course is a simplified view of the system because it does not take into account any moments of rotation generated by the masses hanging on the string.

Chinese New Year 2017 Graphic

For this Chinese New Years, I wanted to take a shot at making my own version of a graphic hat captured the year of the rooster.

A quick look revealed a lot of designs that were very stylistic or that only hinted at the rooster partially.  I decided that I wanted to attempt something that utilized the whole number as part of the rooster while retaining the legibility of the numbers.


A quick initial investigation on the form revealed to me where I would like the numbers to be and I then began to bring the numbers back to a more legible state.


Attempting to keep the numbers in a printed font like state proved difficult as the blockiness conflicted with he angles I wanted for the rooster (the upwards angle of the head and neck and of the tail).  I ended up deciding to angle the numbers slightly up at each end to accommodate this.


Then it was onwards to the calligraphy.  Ink is a very punishing medium; without layers and undo buttons, a single mistake on a later stroke can make an entire image trash.  On the other hand, this means that you get a lot of practice, and by the final draft, every stroke is very familiar to you.

As I started, I still needed to play with thickness and dryness of the brush.


With a bit of workshopping with my friend Dan Lin (https://aeveis.tumblr.com/), here is my final version below.


Geometry 6/7/2016


Stared at some ceiling tiles today, which was a bad call for my productivity because I immediately wondered how the contractors cut and installed the cross pieces, and whether or not their was a standardizable piece that allowed optimal tiling.


So I started with some exploratory thought experiments.  Pieces that have one intersection and one edge can perfectly cover one square (in pink below) so let’s go from there.  Unfortunately as we add to it (green pieces), we create spaces that standard pieces don’t fit into.  A failure.


What about a longer pieces that spans an intersection and two edges?  This creates a very familiar weave-like pattern that definitely tessellates (below).


However, we aren’t close to a generalize-able rule.  Indeed, one could imagine many other strange angled or partial length shapes that I have not tried yet, and I wondered if there were at least some property that influenced their tessellate-ability.

I began to think that it has to do with the number of intersections and edges that a piece crossed since the relationship between those helps to define how much space the cross pieces need to cover.

An inductive analysis can be used: a single tile has 4 corners and 4 edges, then four tiles have 9 corners and 12 edges, and then nine tiles have 16 corners and 24 edges (image below).  This is solvable by looking for the pattern (n^2 corners to 2n^2 edges), but the answer is easier to come to if we simply look at the general situation of each corner and each edge instead.


In a fully-tiled situation, a corner sits at the intersection of 4 tiles while an edge sits at the intersection of 2 tiles.  There we have it then!  For an infinitely tiled surface, you will need a corner for every 4 tiles, but an edge every 2 – there will then be a ratio of edges to intersections/corners of 2:1.  Thus, this must be a design constraint of the cross-pieces (which agrees with why my second thought experiment worked unlike the first).

While this does not give us a way to define all possible cross piece shapes (one could imagine a complicated cross-piece shape with 74 edges and 37 intersections but does not tessellate), it does allow us to check if a cross piece shape could potentially tessellate.

Avatar: The Last Airbender Power Levels

When physics and “superpowers” reconcile (or not), it’s all in great fun.

A show that I like for various reasons, but that has also shown a variety of great feats is “Avatar: The Last Airbender” and the subsequent “Avatar: The Legend of Korra.”

One of the most extreme examples of bending happens when Ghazan melts the Northern Air Temple Mountain:

Given: an approximate energy of 900kJ/kg to melt rock[1] and an average density of 2.7g/cm^3 for rock [2].

[1] ( http://home.earthlink.net/~jimlux/lava.htm )

[2] ( http://en.m.wikipedia.org/wiki/Continental_crust )

Approximate: The temple has a footprint of about 500m x 500m = 250,000m^2.  The mountain has rather sheer faces so let’s give it a cylindrical profile and say about 400m vertically is melted.  That’s 100,000,000m^3 of rock.

Based on our givens, that is 270,000,000,000kg of rock or 243,000,000,000,000kJ of energy, 243 petaJoules.

Gazan outputs the energy equivalent of the Tsar Bomba, the largest nuclear device ever tested.

Or enough to power all the electricity in New York City for 6,136 days, i.e. 17 years.

If the energy all came from within him through conventional biology, he burned 5.8×10^13 kilocalories (or just capital “C” Calories – of which we are recommended to eat 2000 a day by food packaging), that’s 29,000,000,000 days or 79 million years of meals.  If he was converting mass directly to energy, then via Einstein, he lost 2.7kg of pure mass (not bad!).

One could argue that characters are tapping into energy sources external to themselves when bending, nevertheless, it is interesting to know just how much of it they must be accessing.

See this Google Doc for further calculations with Zaheer, Avatar Kyoshi, etc.

Google Doc with More Details

On Reasons I Like Third-Person Camera

There has been plenty written about why one should make a game in third-person or first-person:  Convention and what your target audience will already be familiar with.  How much you want the player to be immersed as the character in your game.  And so on.  Today, I would like to discuss my biggest consideration: information – as a gamer who likes when UX/UI emphasizes information and clarity, third-person camera appeals to me more.

While first-person camera appears immersive immediately, there is quite a bit of information that it will not be able to capture until VR tech gets further along.  Forefront is touch/proprioception.  In addition to the first-person view I have out of my own head, I can feel where the ground is below me and where a wall is behind or beside me without having to look at it.  Touch/proprioception allows me move comfortably around my environments in spite of my own limited field of view.  With first-person camera however, you can’t tell that you’ve landed on a surface or if you’ve bumped up against a wall unless the camera stops moving or if one your directional movements starts pushing you along something.  It’s not ideal and, at least for me, requires an additional moment of mental processing to figure out what is going on.

Now enters third-person camera.  It does not give us completely natural proprioception of the environment; however, it does allow me to see the floor and the walls in lieu of feeling them.  I can more closely see where my character is in space just as I would feel where they are in space if it were ideal first-person.  In lieu of physically being able to brush up against things, at least I can see where the 3D models touch.  This restores more of my sense of space and allows me to move in the game more reflexively.

I can’t just outright recommend third-person camera.  Of course, when poorly implemented, it can cause just as much frustration.  What I do want to say is that in most cases, when given a choice by a game, I would choose the third-person camera over the first-person camera because it feels more natural to me.  More natural because, though it sacrifices the sense of immediacy and of seeing “through the character’s eyes”, it offers information normally provided by touch/proprioception.

Geometry 12/2/2015

Here’s another puzzle that had me occupied all of my bike ride home yesterday:

While stopped at an intersection, I noticed how the windows on the building across the street allowed me to see oncoming traffic from the side from farther away than I had turned my head.  And so I wondered, what relation and how much of a reduction in neck strain does such a situation promote?


Clearly you need to turn your head only b degrees instead of a degrees, but that relationship can be anywhere from a negligible difference when the target is right against the mirror to a near complete reduction if the mirror was at infinity.  What’s the actual relationship though?


The target is at some x and y position away from us the viewer, and in the case of a building where the reflection is always ideally positioned, it only matters the y’ distance of the building from the target (the image will be the same distance behind the mirror).

With all of three of these values, we can find the angle of the triangles formed in the diagram by arctan(y/x) and arctan((y+2y’)/x).

The angle I must turn to look at a car then is (90º – arctan(y/x)), while I only need to turn (90º – arctan((y+2y’)/x)).

Wolfram alpha can help us with the rest of the work here in visualizing this relationship, and we can choose to look at all three as variables or arbitrarily set certain one’s as constants.

For example, if we are interested in how the ratio of the reduction behaves as a function of the distance of the mirror, see the following graph.  The ratio of the image in the mirror angle to the object angle is y and the distance of the mirror from the object is x in this case.  (as expected, mirror farther away means you have to turn your head less)


Or, if we are interested in how the ratio of the reduction behaves as a function of the x position of the object (the farther away it is, the closer the angle is between the mirror image and it):


Or we can vary both the position of the object and the mirror at the same time (reflected in the top right quadrant of the below graph since both values can only be positive):



By the way, if you were wondering about the ideal positioning of a mirror to see an object at your side, the relationship is governed by (y+y’)/(x-x’) = y’ / x’ where x and y are the position of the desired target object to your side and x’ and y’ are the position of the mirror relative to that object.


x’ and y’ have an expected asymptotic relationship where they start right on top of the target to halfway between you and the target in x while infinitely far away in y. Per Wolfram Alpha below (setting y=1 and x=2).