elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)  (Leído 15,960 veces)
‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« en: 16 Noviembre 2008, 03:43 am »

Bueno en vista a que me sorprendio la piramide giratoria que postearon unos dias atras, usando mi matematica basica que aprendi
ahora hice este cubo qe gira, tambien puse una breve explicacion; pero para que pudan entender requiere conocimientos de otro sistema de coordenadas: Coord. Polares
PD: si miran bien el cubo tiene dos sentidos de giro: de derecha a izquierda, y de izquieda a derecha;
tan solo quedense mirando el cubo buscandole forma y se podra apreciar el efecto.
Pues da la impresion de que el cubo esta por debajo de tu mirada, como tambien por encima de tu mirada
(esto fue sin querer)





Código
  1. '#########################################
  2. '                                               ## Teoria ##
  3. 'La idea se basa en hacer girar un cuadrado sobre su eje
  4. 'Si tenemos dos cuadrados girando a la vez, seria como tener las dos tapas (superior e inferior) del cubo
  5. 'para ello haremos uso de coordenadas Polares, para poder propiciar el giro
  6. 'Debemos saber que un punto se puede ubicar de varias formas:
  7. '1: Conociendo la posicion en X, y en Y
  8. '2: Conociendo el Angulo y el Radio (Coordenadas Polares), esto usaremos para ubicar cada punto
  9.  
  10. 'Si un cuadrado gira sobre su eje, existe una distancia del punto al eje, esto sera nuestro RADIO;
  11. 'por lo cual cada punto en movimiento  describira una circunferencia (su trayectoria)
  12. 'o una elipse dependiendo de como se mire
  13.  
  14. 'Controles: un Timer
  15. 'by Jackl007!
  16. '#########################################
  17. Const PI = 3.141592654
  18.  
  19. Dim Inter As Integer 'Intervalo del Angulo
  20.  
  21. Function AngRad(ByVal a As Double) As Double
  22. 'Esta funcion convierte un Angulo Decimal a un angulo en radianes,
  23. 'recordar que necesitamos hacer dicho cambio para poder trabajar con los incrementos
  24. 'ya que la funcion seno, y coseno recibe en RADIANES
  25. AngRad = (a * PI / 180)
  26. End Function
  27.  
  28. Private Sub Form_Load()
  29. Inter = 0
  30. Me.AutoRedraw = True
  31. Me.BackColor = vbBlack
  32. Me.Height = 6180
  33. Me.Width = 6180
  34. Timer.Interval = 100
  35.  
  36. Scale (-50, 50)-(50, -50) 'Mi escala, en X y en Y normal
  37.  
  38. End Sub
  39.  
  40. Private Sub Timer_Timer()
  41. Cls 'Colocarlo y quitarlo para probar distintos efectos
  42. 'recordamos que inter es el ANGULO
  43.  
  44. '##############################
  45. Cubo 30, 15, 0, 0, Inter   'El 30 : radio 1, 15 = radio dos, 0 =eje x, 0 = eje y
  46. Line (0, 40)-(0, 15), vbRed
  47. Line (0, 15)-(0, -15), vbGreen
  48. Line (0, -15)-(0, -40), vbRed
  49. '##############################
  50.  
  51. 'Algunos ejemplos Mas...
  52. '#########################################
  53. 'Rotar cuadrados en su mismo eje; probar ambas sentencias de este bloque a la vez
  54. 'El cero, cero: POSICION
  55. 'Rectangulo 30, 30, 0, 0, Inter
  56. 'Rectangulo 30, 30, 0, 0, Inter + 20
  57. 'Rectangulo 30, 30, 0, 0, Inter + 40
  58. 'Rectangulo 30, 30, 0, 0, Inter + 60
  59. 'Rectangulo 30, 30, 0, 0, Inter + 80
  60. '#########################################
  61. '#########################################
  62. 'Conociendo a un Cuadrado
  63. 'Cuadrado 25, 0, 0, 0 'el ultimo parametro es el ANGULO DE INCLINACION
  64. 'Cuadrado 25, 0, 0, 45
  65. 'Cuadrado 25, 0, 0, 70
  66. '#########################################
  67.  
  68.  
  69. Inter = Inter + 10 'Incremento del Angulo
  70.  
  71. End Sub
  72. Sub Cubo(ByVal R1 As Double, ByVal R2 As Double, ByVal eX As Double, ByVal eY As Double, ByVal Ang As Double)
  73. 'R1 = Radio 1 (el algoritmo calcula los giros del cubo en base al radio de una circunferencia circunscrita en el cuadrado
  74. 'R2 = radio 2
  75. 'eX = Posicion en eje X
  76. 'eY = Posicion en eje x
  77. 'Ang = angulo de inclinacion, respecto a la horizontal
  78. Dim a, i As Integer
  79. Dim xA, xB, yA, yB As Double 'variables para guardar las posiciones temporales
  80.  
  81. a = Ang + 45 'inclinacion entre cada radio
  82. i = a
  83. 'Cambiamos a sistema de coordenadas polares
  84.    For i = a To a + 360 Step 90
  85.        If i = a Then
  86.            xA = R1 * Cos(AngRad(i)) + eX
  87.            yA = R2 * Sin(AngRad(i)) + R1 / 2 + eY
  88.            xB = R1 * Cos(AngRad(i)) + eX
  89.            yB = R2 * Sin(AngRad(i)) - R1 / 2 + eY
  90.        Else
  91.         Line (xA, yA)-(R1 * Cos(AngRad(i)) + eX, R2 * Sin(AngRad(i)) + R1 / 2 + eY), &HE0E0E0
  92.         Line (xB, yB)-(R1 * Cos(AngRad(i)) + eX, R2 * Sin(AngRad(i)) - R1 / 2 + eY), &HE0E0E0
  93.         xA = R1 * Cos(AngRad(i)) + eX
  94.         yA = R2 * Sin(AngRad(i)) + R1 / 2 + eY
  95.         xB = R1 * Cos(AngRad(i)) + eX
  96.         yB = R2 * Sin(AngRad(i)) - R1 / 2 + eY
  97.         Line (xA, yA)-(xB, yB), &HE0E0E0 'Esto dibuja las lineas entre las tapas laterales
  98.         'quitarlo y probar los efectos
  99.  
  100.        End If
  101.  
  102.  
  103. Next i
  104.  
  105. End Sub
  106. Sub Rectangulo(ByVal R1 As Double, ByVal R2 As Double, ByVal eX As Double, ByVal eY As Double, ByVal Ang As Double)
  107.  
  108. Dim a, i As Integer
  109. a = Ang + 45
  110. i = a
  111.    For i = a To a + 360 Step 90
  112.        If i = a Then
  113.            CurrentX = R1 * Cos(AngRad(i)) + eX
  114.            CurrentY = R2 * Sin(AngRad(i)) + eY
  115.    Else
  116.        Line -(R1 * Cos(AngRad(i)) + eX, R2 * Sin(AngRad(i)) + eY), &HE0E0E0
  117.    End If
  118. Next i
  119.  
  120. End Sub
  121. Sub Cuadrado(ByVal R As Double, ByVal eX As Double, ByVal eY As Double, ByVal Ang As Double)
  122.  
  123. Dim a, i As Integer
  124. a = Ang + 45
  125. i = a
  126.    For i = a To a + 360 Step 90
  127.        If i = a Then
  128.            CurrentX = R * Cos(AngRad(i)) + eX
  129.            CurrentY = R * Sin(AngRad(i)) + eY
  130.    Else
  131.        Line -(R * Cos(AngRad(i)) + eX, R * Sin(AngRad(i)) + eY), &HE0E0E0
  132.    End If
  133. Next i
  134.  
  135. End Sub
  136.  
  137.  
  138.  
  139.  
  140.  

Lo bueno de estas cosas es que aplicas la matematica qe algun dia aprendiste, y no comprendes porque la aprendiste...
aqui se ven los efectos!!
Saludos!!!!


« Última modificación: 16 Noviembre 2008, 05:20 am por jackl007 ツ » En línea

WestOn

Desconectado Desconectado

Mensajes: 272


El testamento Maya...


Ver Perfil
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #1 en: 16 Noviembre 2008, 14:18 pm »

Wenas, esta muy bueno el ejemplo, yo estoy intentando hacer uno tambien, haber si lo consigo.
Muy bien explicado... :D, un saludo ;)


PD: En la foto superior parece que gira de izquierda a derecha, pero una vez lo probe en el VB parece que gira de derecha a izquierda :P


« Última modificación: 16 Noviembre 2008, 14:26 pm por WestOn » En línea

En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            
nahueld

Desconectado Desconectado

Mensajes: 53


<NEWBIE>


Ver Perfil
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #2 en: 16 Noviembre 2008, 14:24 pm »

la verdad esta muy bueno, cuanto ingenio para hacer esto, cuanta gente que sabe aplicar sus conocimientos, me gusta esto, quiero ser asì! :-\

un saludo para vos!
En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #3 en: 16 Noviembre 2008, 15:27 pm »

Gracias, gracias, en cuanto me libere de mis examenes, quisas me anime a escribir un paper para mostrar desde cero, la matematica aplicada para figuras, pero aun tendre que poder hacer mas ejemplos, estudiar un poco mas esta matematica para hacer mas cosas....

mira aqui les dejo las imagenes, donse he pintado las paredes del cubo, dependiendo de tu cual veas, es el giro del cubo; vuelvelo a mirar (el con movimiento), y ahora busca las paredes y la base o la parte superior... y alli se podra apreciar los giros...




Sin querer me di cuenta de eso.... cuando ya estaba todo hecho... :)

Saludos :P
« Última modificación: 16 Noviembre 2008, 15:33 pm por jackl007 ツ » En línea

jack06

Desconectado Desconectado

Mensajes: 133


anarkia99-Soft.


Ver Perfil
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #4 en: 16 Noviembre 2008, 16:15 pm »

ah todo lo que puede hacer las matematicas esta muy bueno y muy bien explicado que envidia la verdad yo en las mates no doy mucho jojo  :P Salu2
En línea

(̅_̅̅_̅(̅_̅_̅_̅_̅() ڪ €l $åßîø nø d nµn¢å tødø lø qµ£ Þî£n$å, Þ£®ø $î£mÞ®£ Þî£n$å tødø lø qµ£ d (̅_̅̅_̅(̅_̅_̅_̅_̅() ڪ
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #5 en: 16 Noviembre 2008, 16:27 pm »

Muy bueno jackl007  , gracias por el aporte.

PD: apareció AngRad
« Última modificación: 16 Noviembre 2008, 16:32 pm por Dessa » En línea

Adrian Desanti
‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #6 en: 17 Noviembre 2008, 06:03 am »

Gracias
Cita de: Dessa link=topic=235246.msg1123326#msg1123326 date=1226849268
PD: apareció [b
AngRad[/b], 
que quisiste decir con que aparecio?, osea esa es la funcion que convierte los grados normales a radianes...
no comprendo a que te refieres con que aparecio?
(en un principio cuando postee el codigo, me habia olvidado de poner esa funcion, asi que modifiqe el post colocandola...
nose si lo dices por eso...)
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #7 en: 17 Noviembre 2008, 09:56 am »

Es que bajé el el code a penas lo publicaste y me faltaba esa función,  un aspecto sin importancia, te felicito nuevamente, saludos.

« Última modificación: 17 Noviembre 2008, 09:59 am por Dessa » En línea

Adrian Desanti
<[(x)]>

Desconectado Desconectado

Mensajes: 215



Ver Perfil
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #8 en: 18 Noviembre 2008, 20:14 pm »

mmm

me suena, pero si el code es tullo. Lo que si espero, que la idea tambien.

esta bueno me gusto lo de "paraqueladogira?"

y nose si soy yo o que pero me parece que el cubo presenta una pequeña deformacion mietras gira.

me despido.-00010000
 
En línea

<[(x)]>
‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Cubo en 3D girando + EFECTO Optico- Sin apis (explicacion)
« Respuesta #9 en: 19 Noviembre 2008, 02:37 am »

Exacto, el code es enteriito mio, Todo lo escribi, no vi ningun ejemplo de esto (mire superficialmente el tuyo, pero no me dedicar a entender el razonamiento), solo aplique conocimientos que se adquiri en el primer semeestre de mi facultad.
lo de la deformacion es verdad, despues de mis examenes hare un estudio minucioso de las deformacionmes que presenta un verdadero cubo al girar con respecto a dos angulos. ya que se puede conocer la posicion en el espacio conociendo dos angulos y un radio... en DIC me pongo con esto cuando me libere un poco de mis estudios...

Pues ese "cubo" es una idea de hacer girar dos cuadrados en paralelo y unir los vertices de cada cuadrado.
Realmente es un cuadrado que gira sobre su eje, pero en este caso hay dos; Solo que un lado es mas largo que el otro para dar la apariencia de estar en 3D

Saludos :P
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
El secreto de la bailarina girando. « 1 2 3 »
Foro Libre
MA40 26 14,523 Último mensaje 27 Noviembre 2010, 09:08 am
por kuroi shonen spider
podrian explicarme un efecto en compiz girar el cubo con la rueda del raton (S
GNU/Linux
dvdr 1 4,099 Último mensaje 14 Junio 2011, 16:21 pm
por dvdr
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines