Posts Tagged ‘ 3D ’

3
20
Apr

Entorno 3D alucinante


Ver en Alta Definición (vimeo)

Sencillamente alucinante, pagaría para poder probar ese “entorno” y esa sensación de volar.

Pero para mejorarlo aún mas (si cabe), le vamos a añadir algunas “prestaciones”, así, imaginándonoslo:

  • Para empezar, imagínate que la cabina está sujeta sobre unos ejes hidráulicos que pueden variar su inclinación (como en los simuladores), produciendo un efecto de falsa aceleración (pendientes y bajadas).
  • Imagínate que el suelo es deslizante, estilo cinta transportadora, que te permite andar por la sala sin moverte de sitio.
  • Imagínate que es tu Shooter preferido y que vas con una arma en tus manos.
  • Imagínate además que es multiplayer.

Ahora dime que no lo quieres en tu casa.

Vídeo visto en : Microsiervos

1
17
Oct

Flash Player 10 ya disponible para descargar

Hace un par de días que salió el Flash player 10. Esta versión del archi famoso player de Adobe trae muchas mejoras que venían siendo reclamadas por los desarrolladoresde aplicaciones en flash.

En magnitud de cambios vine a ser lo que ActionScript3 fue al AS2 lo que este Player será al Flash Player 9. Las versiones están disponibles para Mac, Linux y Windows.

Sin duda la mejora que más me atrae la atención es la posibilidad de poder manipular objetos 3D de forma nativa.

Flash Player 10
Descargar el Flash Player 10 (Adobe)

PD: Alucinante la animación que se han currado los de adobe

10
6
Sep

Física en flash: El péndulo tridimensional

Hace unos días Jacri me contactó. Se ve que alguien le dijo que yo era un genio de flash (no lo duden ni por un momento XD) Me dijo que si sabia como hacer un péndulo en flash. Le pasé ese mismo link, pero él quería un péndulo que oscilara tridimensionalmente.

Enseguida me imagine la forma de hacerlo, es sencillo: Si observamos un péndulo oscilar desde arriba, vemos que describe una circunferencia. Lo único que hay que añadir un alinea desde la bola del péndulo hasta un punto mas elevado (por donde se sujetaría).

La circunferencia, la hice haciendo su parametrización matemática:

r(t)=(cos t, sin t, 0) t€[o,2pi]

La linea, la conseguimos con un lineTo(a,b). Sencillo ^^
Claro que la teoría siempre es fácil, la cosa es poder hacerlo en la práctica. Yo creo yo que lo logré, igual algo justito y sucio, pero con un aprobado ya entramos, ¿no? XD
Bueno, la cosa es que se lo hice a Jacri, y quedó satisfecho ( me pagó 200$* U_u)

Hoy le he cambiado un par de cosillas, como por ejemplo, que se puede variar la inclinación en la que se ve, es decir, mirándolo desde el frente(1), o un poco mas arriba(2):

1:http://blog.bleend.net/downloads/jacri/Pi_2.swf 2:http://blog.bleend.net/downloads/jacri/Pi_4.swf

El código esta basado enteramente en el “entorno” 3D que hice (pero que no publiqué, porque, como ya pueden ver, no es muy limpio…) :
[as]//—variables—//
var ang_vision:Number = Math.PI/4
var guia:Boolean = true;
var cola:Number = 50;
var anchura:Number = 40
//—no variables—//
var Xo:Number = mc._x;
var Yo:Number = mc._y;
var i:Number = 0;
var altura:Number = 200*Math.sin(ang_vision);
var x3d:Number = 0;
var y3d:Number = 0;
var z3d:Number = 0;
var t:Number = 0;//angulo
var v:Number = 6;//velocidad de variación del angulo
//——alzamos a la máxima “profundidad” el péndulo—-//
mc.swapDepths(this.getNextHighestDepth());
//——–empezamos——//
_root.onEnterFrame = function() {
with (_root) {
//<-----------Introduce tu parametrización aquí:
x3d = (anchura)*Math.cos(t);
y3d = (anchura)*Math.sin(t);
z3d = 0
//<-----------Fin de parámetros
t += v/120;
}
//---------efecto 3D----------//
with (mc) {
_x = Xo+y3d-x3d*Math.sin(ang_vision);
_y = Yo-z3d+x3d*Math.cos(ang_vision);
}
setProf(mc,x3d/3);
//------------linea de recorrido----------//
if (guia) {
attachMovie("punto","p"+i,i+1);
ref = _root["p"+i];
if (i>1) {
ref._x = mc._x;
ref._y = mc._y;
ref._alpha = x3d+80;
}
}
_root["p"+(i-cola)].removeMovieClip();
i++;
//————linea al centro——–//
_root.createEmptyMovieClip(“linea”,10);
linea.lineStyle(2,0×999999,100);
linea.moveTo(Xo,Yo-altura);
linea.lineTo(mc._x,mc._y);
};
//gracias maikel:
function setProf(mc:MovieClip, prof:Number) {
with (mc) {
_width = prof+36;
_height = prof+36;
_alpha = prof+70;
}
}
[/as]

Como podrán notar, no hace falta mas que eso para reproducir cualquier parametrización matemática, cambiando el periodo de oscilación de un eje ( (anchura)*Math.sin(3*t);) , podrán reproducir cualquier figura de lissajous.

Edición: Se me olvidó! :P Pueden descargar aquí el archivo original


*(Nota: eso de los 200$ no es verdad, es solamente un engaño para evitar que nadie me pida que le haga su trabajo gratis U_U)
2
18
May

Arte 3D en suelo de las calles

Se llama Julian Beever.

2
25
Apr

Dibujar curvas parametrizadas 3D en Flash

He escrito un código que permite hacerlo.

No es mas que un Archivo *.fla, con un código de AS de 44 lineas que simula profundidad y capaz de generar movimiento en los 3 ejes X,Y,Z. El código no es muy limpio, pero al menos funciona. No va ni incluido en una clase siquiera. ¿Que quieren?, no soy un pr0.

Anteriormente y había hablado un poco de él aquí.

El código dibuja correctamente cualquier curva que le pongas, únicamente cabe especificar la parametrización matemática de su movimiento. Está programado para curvas 3D, pero en su defecto pueden poner el eje Z o X siempre en valor nulo y podrán representar curvas 2D.

A continuación les pongo algunos ejemplos de parametrizaciones locas que se me han ocurrido de las que ni siquiera me acuerdo de parametrización que representan:

Hélice
Hélice
[Vertical]

Curva de Lissajous , infinito
Infinito
[Vertical, Inclinado]

Curva de Lissajous en el plano XY
Simbolo de bus light year?
[Normal]

Curva de Lissajous, “S”
Curva
[Vertical, Lateral, Inclinado]

Curva rara 1
Curva rara
[Normal]

Curva rara 2
Curva rara
[Normal]

Curva rara 3
Curva rara
[Normal]

Curva rara 4
Curva rara
[Normal]

Curva rara 5
Curva rara
[Normal]

Para los que se pregunten que es una parametrización de una curva en 3D, vendría a ser esto: r(t)=(t*tan(t/3),t*cos(t),t*sin(t)) , donde cada coma separa las cocordenadas: r(t)=(CoordX(t), CoordY(t), CoordZ(t))

Donde “t” sería el tiempo. Se supone que este avanza de forma lineal y uniforme, cambiando así valor de cada coordenada, dando un punto en el espacio; que es dibujado por el programa cada cierto tiempo.

Archivo fuente: Archivo FlashCurvas parametrizadas en 3D