Inigo Quilez   ::     ::  
1402 blog posts, written between 2008 and 2016. These are mostly short observations, funny thoughts and word playing. Some are embarrasingly corny, some more deep. I keep it here mostly a little time capsule for myself, organized by month:



<
August 2013
>
copiones
2013-08-31
los niños del mundo desayunan Nesquick. nosotros desayunamos ColaCao
los niños del mundo juegan con Lego. nosotros jugamos con Tente
los niños del mundo meriendan con Nutella. nosotros merendamos con Nocilla
los niños del mundo tienen M&M. nosotros tenemos Lacasitos

plagios absolutos. creo que lo único original que hemos inventado nosotros es el chupachups?
3 hours delay
2013-08-29
Being in the airport waiting for an almost 3 hours delayed flight is a great opportunity to go to the store and read for free magazines with articles that you'd never, never ever, read otherwise.

On other news, why can you Americans keep endlessly doing jokes about the arms of the tyrannosaurus rex? I find it really amusing. Also, in a similar geeky note, just so you know and stop doing culturally artifacted math puns, you are pronouncing both Uranus and Pi incorrectly. You didn't know? Boomer, huh?

I love the random conversations of the people waiting by the gate after all the smartphone batteries have gone below 50% charge and people switch them off and start interacting with one another. Indeed, Americans do engage in random interaction, just like that, as if nothing. I'm still not used to it, but I like it, and I like them for that!

Lastly, I feel like having some strawberry yogurt. Gonna grab one.
mathimage #29: intersecting planar coordinate systems
2013-08-27
Say you want to intersect a ray with a planar coordinate system (a regular plane with a center point and two perpendicular vectors defining a 2D coordinate system). You are interesting in getting the distance to the intersection point along the ray (t), and the 2D coordinates of the intersection point in the coordinates system of the plane (s,t). So, given you ray with origin o and direction d, and your plane with center c and generating vectors u and v, you can proceed in two ways:

[1] The traditional way: computing the intersection with the plane (t), then project its relative position with respect to the center of the plane into the two coordinates axes (s,t).

[2] The elegant way: solving the 3x3 linear system of equations for (r,s,t) all at once, at a single step. You can do this by using Cramer's law.

The second solution, despite more expensive, turns out a lot more elegant (more symmetric and regular, that is)



vec3 intersect( vec3 o, vec3 d, 
vec3 c, vec3 u, vec3 v )
{
vec3 q = o - c;
vec3 n = cross(u,v);
float t = -dot(n,q)/dot(n,d);
float r = dot(u,q+d*t);
float s = dot(v,q+d*t);
return vec3( t, s, r );
}
vec3 intersect( vec3 o, vec3 d, 
vec3 c, vec3 u, vec3 v )
{
vec3 q = o - c;
return vec3(
dot( cross(u,v), q ),
dot( cross(q,u), d ),
dot( cross(v,q), d ) ) /
dot( cross(v,u), d );
}


This is one example of how you can use the function in order to draw oriented planar patterns:

fun
2013-08-25
visiting a work colleague in her office for coffee break, and spending more than one hour playing piano and singing classic disney movie songs.
the 7 dimensional train
2013-08-23
you know, all those guys trying to unify quantum mechanics and general relativity by means of a universe of a higher dimensionality than 3+1, face the frustrating but very necessary need for a scientific a prove of their model in the form of a repeatable experiment. of course, finding traces of the existence of such 5th or 6th dimensions for example is way too indirect and elusive, and chances are they are not real but only existent in this mathematical model that desperately tries to unify the four forces, and the big and the small.

now, here in my nightly train commute from the office to the city, i often have the impression i actually must be making use of the dimensions 5, 6 and 7 every time i have to leave the train car...

usually the car is really packed with people, to the point that passenger have little to no space and margin of movement at all. the situation gets really complicated for me, because i have my bike surrounded by people who have been pushing and finding gaps between it and other passengers, quite like in a tetris game. so almost every night, when we leave Montgomery station and i realize i have to get off at the next stop, i freak out. i never see how i and my bike are going to make it out of the car. then i say "excuse me", and magic happens - as if this a magic password for the opening of a stargate to higher dimension where i somehow was able to maneuver my bike freely just in time to return to our regular 3 dimensional world right before the door opens at Powell station. i'm normally unaware of the process, i only know i say "excuse me" and then i'm automagically and instantly at the door quitting the car, not aware of what have possibly happened between those two moments of space-time.

this happens to me in the train almost every night, it seems to be a very repeatable experiment indeed. maybe i should contact the guys at Cern.
perhaps a disturbing idea
2013-08-21
i am in my bike heading home. it's not that late really, still in the one digit PM-s, but the city has already turned its face into its night face, the more decadent one.

i'm waiting here for the red traffic light to turn green, at that weird corner in SF where a fancy trendy restaurant shares the cross street and address with the market of cheap sex. to my left, a group of people in elegant dresses and suits just left the restaurant. to my right, a prostitute starts walking the zebra crossing. when she passes by me and my bike she fires her hook in form of a smile and a "hi baby...". i look at her, smile, shake my head, and break the eye contact rapidly and look to the infinity. that seems to be the protocol, or at least, one way to do it safely through the situation. finally the traffic light turns green and i resume my pedaling for one more block of sketchiness before i reach more transparent waters.

this little encounter starts a new thread of thought that keeps my head busy until i finish my ride home. this time i don't think of these women themselves, of how conflicting for their lives it must be to do that, or what needs and dramas pushes them to do it in the first place. this time my thoughts go to the counterpart of the business - those who pay for sex and the very idea of paying for sex in itself. bear with me for a bit, i hope not to offend anybody (and if i do, you probably don't enjoy reading this blog in general anyway). because i've seen many, may people paying for sex in form of expensive ticket to music festivals or expensive clubs, perfume, alcohol and invitations to drink, fantastic sexy dresses, cab rides, love hotels, breakfasts, and "good bye, see you soon"s. for the most part there's a lot more going on than just the desire of a sexual encounter, granted. however, can anybody categorically assert there's only one way of paying for sex?

of course these are not all the same. ideas like "courtship" or "socialization" come to my mind while i keep biking home. but still, to me, if i put all social context, accepted morals and established behaviors aside, the question phrased the way still sort of holds in some ways.
on formulanimations (II)
2013-08-20
Programmers work in levels 1, mathematicians in level 2, artisans and crafters work in level 3, and artists work in level 4. People naturally tend to focus and develop skills in one of the four levels.

Levels 1 and 3, programming and crafting, are analytical, they require attention to detail. In the other hand, levels 2 and 4, mathematics and art, are creative and intuitive, they are less mechanical and involve research and exploration.

In fact, generally there is a huge chasm between levels 2 and 3. The chasm is so big that there is a whole industry on development of software tools designed to bridge the chasm. This impacts the creation process of a piece, as it promotes the specialization of the authors involved into one of the sides of the chasm, or even only one of the four levels.

The key to formulanimations is to fuse levels 2 and 3 with a different glue - mathematics. Certainly, mathematics enjoy a rich vocabulary to express shaping of objects, patterns, ideas, colors, and when use properly they fully support the needs of level 3. Therefore, when used properly, there is no chasm anymore, and the four levels can work seamlessly into one single piece, all at once, simultaneously. Also, no chasm means no specialization, no compartmentalized thinking or processing, or in other words, a smooth flow of interpretations across the four levels, a simultaneous view of the piece at all this different levels of abstraction, a more agile exploration and a more expressive medium for creation. Indeed, when the barriers between the four levels are demolished, they start reacting to each other, and a much richer set of interactions flourish between them, broadening the spectrum of creative and technical possibilities.

However, intellectually attractive as they are, formulanimations suffers from big scale production logistic difficulties under the current production pipelines. Without a clear compartmentaliation of the production process ito the four levels, how do we arbitrate collaboration among multiple creators, how do we map skill sets to responsibilities, how do we let creators focus on what they are best while other creators complement them in the areas they are not best.

I think that while formulanimations might not scale up to big production pipelines per-se, at the very least they are a prove of that we can effectively get rid of the chasm between levels 2 and 3, and that a smoother flow of ideas can happen between these two levels, quite like it currently happens between the first and second level, or between levels 3 and 4. Therefore, we should be able to balance the production process, and provide to the pipeline with an equal flow of creativity among the four levels, which should translate into a more efficient production.
mathimage #28: inversions
2013-08-19
This week's doodling happened during coffee break, in about 30 minutes. I used 16 inversions of the z plane (1/z) moving origins, followed by a twists. Every point/pixel gets transformed with these 16 maps and the distance to the origin is mapped to a color through a cosine with three different phases. Will see what I end up doing next week. For now, homework is done.

a celebration
2013-08-17
this is a funny group of people that the gods have decided to crowd together tonight, here by this door of this car of this late metro train. it's the wednesday night of an anonymous week of the year. we are all participating, some more shyly, others more vibrantly, in this spontaneous concert that we have here.

next by where my and a girls bikes are resting there's a young man with a hat who has started playing guitar as soon as he has entered the train in West Oakland. i immediately do the eye contact, smile, and decide to support him into building his audience. others join rapidly, happily, with huge grins in their faces, almost as if they had been desperately waiting for an excuse for leaving their smartphones.

one of the first ones to join in is a punk blond girl who has a puppy, which moves at the feet of the musician and looks up to her owner, me, and the musician alternatively. behind the punk girl, by the other door, there's a gothic young redhair teenager. sitting in front of me a blond curly haired boy with a skateboard, to his left an asian office employee young lady. then there's me and the other biker girl. there's plenty exchange of eye contacts and smiles between all of us. and that makes me thing of how different all this would have been, what of an sterile space this would have been, if it wasn't for the musician and his music.

in fact, now it's the third song the plays already. this one is quite fast paced and happy. now, a super young cute black about-5-years-old girl stands up from her seat a couple of rows back and comes our way while her mum follows her while smiling. the little girl joins in the middle of the concert space, in front of the musician, and with the help of her mum who's holing the by the arms, starts dancing. everybody looks at her, including the puppy. the scene is pretty cute and somehow magical. some of us laugh, some grin, some. there's clearly a lot of happiness here right now. it's clearly a celebration. a celebration of the small things probably.

yeah, a wednesday night in the metro is just as good as any other place, or what am i saying - it's perhaps the best place, to to celebrate such things.
grrraaaaawwwwwwww
2013-08-15
2:30pm

(grrraaaaawwwwwwww!) okey, time to wake up! i did nothing but relax last night, and same this morning. (diving in thoughts) to make things even better, i've got three days ahead fully packed of no-plans-whatsoever. (huge grin). ok, end of transmission (happy, and one foot on the floor)
clearly not me
2013-08-13
due to entering the credit card number in a multitude of online websites over and over again for many years, people end up knowing their credit card number by heart eventually.

i am clearly not one of those people.
mathimage #25: openly geometrical
2013-08-11
i've been doing mathimages for almost 20 years now. back in the beginning most of my drawings were purely geometrical. because doing geometry in the computer is just easy: lines, cubes, spheres... these are all geometrical objects with simple mathematical descriptions and therefore easy to compute. since computers are made exactly for that, compute, creating images (or sounds) in the computer with such shapes is by far the easiest.

of course, the challenge of moving away from such simple geometrical shapes and producing organic imagery instead (ie, rich in shapes, textures and movement, yet not random but with rhythm) is indeed a fight against the machine, and also the ultimate goal (from a technical point of view) of creating mathimges. that's way i enjoy it better trying to create such natural/organic images than doing easier geometrical work.

however, for this week's mathematical image i decided to do all my regular improvised jam coding session strictly in geometry-land. no attempts to break regularity or silhouettes, no diving in memories in search of the shapes of nature. instead, i played only with one of the most regular and euclidean of all structures: an infinite grid of cubes.

as usual, a jam session is a jam session, improvisation drives it all. so sure, the image could be better, but the exercise turned out fun once again:

i know, but still...
2013-08-09
when i pay a check with credit card and i stamp my signature, i often draw a smiley face as well next to the signature.

because in my innocent and inaccurate version of the world, there's a poor banking intern assigned the task of manually double checking all the signatures for approving all the transactions that happen every day. and i want to make that intern smile.

i know none of this is true, that there's no intern checking anything. but i still have the funny though, and laugh at myself for thinking about it while putting my signature.

and then, before finishing,... just in case... i draw the smiley face.
on race
2013-08-07
it's interesting to realize that i never had to think of race issues until i moved to this place. furthermore, i never before knew there were still "issues" with race, to begin with. not so extended as i have come to understand recently.

just to put things in context and give you an idea of what i'm talking about - i was grown up in a quarter of a million inhabitant city and studied in a city populated by one million people. hence, both were reasonably sophisticated urban areas. yet, i had never seen a latinamerican, arabic, african or asian person other than in the movies and TV until the age of 23 when i moved to the capital of europe. even there things didn't get much better. for example, i can say that the amount of asians i saw during those 7 years can be counted with the fingers of a single hand.

this means that my only contact with race conflicts had been little to none, and i was only aware of them through the conflicts portrayed in documentaries, movies and news (which i never trust for you are never sure how much of what you see in those media is real and how much is just there as hyperbole serving the narrative). of course i had been exposed to some degree of racism in one form or another, for in such lack of prominent race or cultural diversity back there back there in the old continent, language and cultural localisms have often been used as excuses to create conflict. also, the recent massive immigration from latin america, euroasia and africa to europe are starting to rise conflicts and hence awareness. but in any case, it is undeniable that the magnitude and intricacy of the issue of racism that americans have to live with every day are unheard to me (and probably to the average european immigrant in americam).

in fact, being grown so unexposed to a multicultural and multiethnic reality, the average european feels too optimistic, probably too confident and surely too naive regarding race issues in america, the first country on the planet to celebrate diversity for more than a century. "way, wasn't this already solved?". however one learns with disappointment that we these hairy monkeys called humans have not solved the issue yet, and that the topic is fact pretty vivid issue and continuous topic of debate. i am still very tangentially exposed to it. i am however often find myself reading about race or talking about it in casual conversations with friends. which is something new to me. new and sometimes difficult for me and most eurokids, simply because we the lack the life experiences in a multicultural and multiracial reality that allows us to have developed an opinion and taken a position.

however we might enjoy some advantages. for example, we do join such discussions with some sort of tabula rasa mindset, free of preconditioned opinions nor real cultural artifacts. i'm thinking that perhaps we can see things a bit clearer, free of pre-established believes or indoctrinated "truths" blocking our view. we've never been educated in any particular point of view regarding the topic.

one such thing that i clearly see is the mistake of assuming that the average (liberal) white person feels (or should feel) guilty for all the atrocities done by white people during the centuries. i've seen this idea expressed multiple times. i'd like to inform them that i feel no connected or related whatsoever to the fucking bastard spaniards who killed the native americans, nor i feel responsible for the slavery white americans practiced. if anybody thinks i should feel guilty for what other people from which i only share skin color or blood did, then they are being racist. because race is not something transcendental that carries identity with it. culture is the mechanism to transfer identity. race isn't. or not even - perhaps my very strong sense of individuality and the fact that i always have problems feeling blame or pride for what a group of people i am told i belonged to do or achieve, doesn't help me here.

another cultural artifact i personally am free from (i think!) is famous whole american idea of the "white default" - that the US mostly agrees that americans are "white" by default. and that therefore black, yellow and brown people are out of the norm and must in fact be labeled as such. this is something carved so strongly in the very language that it is unconsciously accepted by all americans regardless of their race. for example, the news in the TV will talk about "a man" if the subject of the news is a so called "regular" white man, but will specifically talk about "a man of color" if he subject was a black man. indeed, analyzing the use language is a good way to measure one society's idiosyncrasy, morality and standards. and it seems clear that being any color buy white is considered the exception to the rule in the american collective consciousness.

i do think i am still in my naive euroflowepower view of things, and relatively free of these preconditioned opinions and artifacts. i wonder if this will always be so, or if being now exposed to this new culture will, over the years, change and shape the way i subconsciously think and feel about these issues.
a silly permutation
2013-08-05
i had this silly joke idea in my head, and i needed to put it out there. i am sorry.



because it's a visual joke, and because i cannot draw with my hands (well, obviously nobody can, what i mean is i can't draw with a pencil or tablet), i asked my friend to execute it for me. thanks!!!!
anywhere but there!
2013-08-03
for me, clearly, the one place you absolutely don't want to put the "watch your step" warning sign in, is the step itself.

anywhere but in the step, for Aristotle's sake. what's wrong with you, people? why am i alone in this one again?
mathimage #24: abstract flames
2013-08-01
This one got improvised pretty quickly (90 minutes or so) after a similar volumetric image I made a few days ago, which was a lot more dramatic. I've realize that I spent quite a lot of my time tweaking the colors. Since I don't have any solid understanding of color theory (from an artistic point of view, I mean), I find myself exploring variations and going by intuition more than I should. Which is fun, but time consuming. My hope is that I keep learning as I do this naive searches, and that by the end of this year of weekly mathematical images I'll be more agile in this aspect of the image making.

Anyway, the image this time is a volumetric fbm (the same I used a few months ago with my clouds, which were the first mathematical image in this ongoing challenge), and I deformed it inside out, then distorted it with some low frequency noise and then twisted it a bit. That creates moving flames (click in the realtime player below to see how the image moves - it's pretty cool). The coloring is a gradient of two colors based on the local density, plus some spatial variation shaped by a cosine, and then some periodic dot patterns (product of cosines).

Overall I'm happy with the result, even more considering the limited amount of time invested. I hope you like it too!