![]() |
|
Bienvenido a Foros 3DPoder.. Usted esta viendo este foro como invitado, no esta registrado todavía, lo que limita su visión del foro. Si quiere unirse gratis a la mayor comunidad del diseño gráfico de habla hispana, tener acceso a publicar y responder mensajes, tener mensajes privados con otros miembros(PM), responder encuestas, publicar sus imágenes para que las vea el resto del mundo, tener acceso a los video_tutoriales, y muchas cosas más, no lo dude. Registrarse es rápido, simple y gratuito, agregate hoy a la mayor comunidad 3D de habla hispana! ! Si usted tiene algún problema con su registro, por favor , díganoslo aquí.
|
![]() |
|
|||||||
|
|
#1 |
|
Miembro Nuevo
Fecha de Ingreso: mayo-2003
Mensajes: 20
|
Por aqui hay muchos que saben programar, o al menos saben como se proyecta en 3d. El problema es que he hecho este cubo 3d dentro de flash, pero se ve raro y no le encuentro el error
Alguien me da una mano para encontrar el error? http://hernan.webcindario.com/cubo.swf El codigo es el siguiente, perdon es un poco desprolijo: Código:
MovieClip.prototype.rotateXY = function(s, xo, a, yo, zo) {
this.a = a;
this.speed = s;
this.camara = 300;
this.radio = 100;
this.xo = xo;
this.yo = yo;
this.zo = zo;
this.onEnterFrame = function() {
this._x = this.xo+this.radio*Math.sin(this.a);
this._y = this.yo+this.radio*Math.cos(this.a);
this.z = this.z0;
this.pers = this.camara/(this.z+this.camara);
this._x *= this.pers;
this._y *= this.pers;
this.a += this.speed;
};
};
makeFace = function (mc1, mc2, mc3, mc4, col) {
this.beginFill(col, 50);
this.lineStyle(0);
this.moveTo(mc1._x, mc1._y);
this.lineTo(mc2._x, mc2._y);
this.lineTo(mc3._x, mc3._y);
this.lineTo(mc4._x, mc4._y);
this.lineTo(mc1._x, mc1._y);
this.endFill();
};
ball1.rotateXY(0.1, 150, 0, 150, 0);
ball2.rotateXY(0.1, 150, Math.PI/2, 150, 0);
ball3.rotateXY(0.1, 150, Math.PI, 150, 0);
ball4.rotateXY(0.1, 150, Math.PI*3/2, 150, 0);
ball5.rotateXY(0.1, 150, 0, 270, Math.sqrt(100));
ball6.rotateXY(0.1, 150, Math.PI/2, 270, Math.sqrt(2));
ball7.rotateXY(0.1, 150, Math.PI, 270, Math.sqrt(2));
ball8.rotateXY(0.1, 150, Math.PI*3/2, 270, Math.sqrt(2));
onEnterFrame = function () {
this.clear();
makeFace(ball1, ball2, ball3, ball4, 0xff9900);
makeFace(ball1, ball5, ball8, ball4, 0xFFFF00);
makeFace(ball2, ball6, ball7, ball3, 0xFF0000);
makeFace(ball4, ball3, ball7, ball8, 0x0000FF);
makeFace(ball1, ball5, ball6, ball2, 0x00FFFF);
makeFace(ball2, ball1, ball4, ball3, 0x00FF00);
};
Saludos |
|
|
|
| Enlaces patrocinados |
|
|
#2 |
|
Ready? Go!
Fecha de Ingreso: junio-2003
Ubicación: Castellón
Mensajes: 11,213
|
Se ve algo raro porque la vista parece una perspectiva isométrica y, sin embargo, los ángulos de las aristas varían.
Cómo corregirlo, pues ni idea :D |
|
|
|
|
|
#3 |
|
Miembro Nuevo
Fecha de Ingreso: mayo-2003
Mensajes: 20
|
Me explicarias un poco sobre perspectivas? Eso de isometrica y esas cosas?
Es que eso no lo se, deduje todas las formulas para armar el cubo 3d, y mucho no lo hize con fundamentos por falta de informacion sobre perspectivas Saludos |
|
|
|
|
|
#4 |
|
Ready? Go!
Fecha de Ingreso: junio-2003
Ubicación: Castellón
Mensajes: 11,213
|
Bueno, tiene todo un poco que ver con la representación de vistas. Pásate por www4.uji.es/~ribelles y échale un vistazo a los pdf's de teoría, sobre todo a los referentes a cámaras y visualización. Te lo explicará mejor de lo que yo pueda hacerlo.
|
|
|
|
![]() |
| Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes) | |
| Herramientas | |
|
|
|
|