Descripcion
Esta forma giratoria parece desafiar la lógica al girar alrededor del eje horizontal y vertical, al mismo tiempo. Para hacer las cosas aún más confusas, la dirección de rotación también es ambigua. El autor, Frank Force, menciona que la idea de crear Dual Axis surgió en la mente de Force mientras experimentaba con las curvas de Lissajous (un sistema de ecuaciones que genera una acción armónica compleja). Force creía que, con la mezcla adecuada de concentración y dedicación, podría hacer que el sistema girara alrededor de cualquier eje.
Usabilidad
Son útiles para comprender mejor las limitaciones del sentido visual del ser humano y la posibilidad de distorsión, ya sea en la forma, la dimensión, el color y la perspectiva de lo observado. Estos son sólo algunos ejemplos de cómo nuestro cerebro interpreta de manera distintiva el mundo que nos rodea. Como expresó el autor, el fin era crear una ilusion optica hipnótica, relajante y llamativa, también lo relaciona con la metáfora de ver las cosas desde diferentes perspectivas.
Al detalle
En el siguiente video se puede observar sobre que ejes rota.
code to the solution
function setup() {
createCanvas(windowWidth, windowHeight);
frameRate(35)
background(10);
}
var t
var a,b,c
var aa,bb,cc
var l1,l2,r1,r2
var radX,radY
function draw() {
radX=width/4
radY=height/4
background(15);
t=frameCount*0.015
//stroke(cos(2*t)*255,cos(2*t+2/5*PI)*255,cos(2*t+4/5*PI)*255)
stroke(255)
a=cos(t)*radX
b=cos(t+PI*2/3)*radX
c=cos(t+PI*4/3)*radX
l1=cos(t*1.5+PI/2)*radY
l2=cos(t*1.5+PI*3/2)*radY
r1=cos(t*1.5)*radY
r2=cos(t*1.5+PI)*radY
aa=cos(t+PI*1/3)*radX
bb=cos(t+PI*2/3+PI*1/3)*radX
cc=cos(t+PI*4/3+PI*1/3)*radX
strokeWeight(35)
noFill();
beginShape();
curveVertex(width/2+a, height/2);
curveVertex(width/2+a, height/2);
curveVertex(width/2+cc, height/2+radY);
curveVertex(width/2+c, height/2);
curveVertex(width/2+bb, height/2-radY);
curveVertex(width/2+b, height/2);
curveVertex(width/2+aa, height/2+radY);
curveVertex(width/2+a, height/2);
curveVertex(width/2+cc, height/2-radY);
curveVertex(width/2+c, height/2);
curveVertex(width/2+bb, height/2+radY);
curveVertex(width/2+b, height/2);
curveVertex(width/2+aa, height/2-radY);
curveVertex(width/2+a, height/2);
curveVertex(width/2+cc, height/2+radY);
endShape();
}