TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

lunes, 8 de junio de 2015

Looking for a 3D crosslinking model / Buscando un modelo 3D reticular

La idea es poder crear una red reticular, fácil de manipular por programación, para poder emular materiales reales. Sus características deben ser:
The idea is to create a mesh network, easily manipulated by programming, to emulate real materials. Its characteristics should be:




  1. La red de puntos se distribuirá en cuadrícula
  2. Cada punto tendrá un nexo con propiedades de unión
  3. Cada punto N tendrá varios puntos conectados. Uno por cada conexión:
  1. The network will be distributed at grid points
  2. Each point will have a link with binding properties
  3. Each point N will have a number of connected points. One for each connection:



Un punto, varias conexiones:
One point, several connections:


Un punto, varios puntos conectados. Uno por cada conexión:
A point, a number of connected points. One for each connection:

Aunque parezca secundario lo primero es adivinar cual es la correlación entre los puntos N y las conexiones K.
Although it may seem secondary, the first thing is to guess what is the correlation between N points and K connections.

El primer paso. Simplificando el problema. 2D: / The first step. Simplifying the problem. 2D:




NOTA: Se numeran los puntos en orden para hacer más fácil la programación de esta manera sólo hará falta un buche "FOR". También se podría haber nombrado los puntos como P[x,y] mucho más lógico desde el punto de vista "humano" pero más difícil a la larga desde el punto de vista informático.
NOTE: The points are numbered in order to make programming easier this way you will only need one "for" loop. I could have also named points as P [x, y] more logical from the "human" view point of, but more difficult from the IT perspective.

Para una red de w puntos de ancho y h puntos de altura:
El número de puntos será de w·h
Las conexiones serán (w-1)·h+(h-1)·w = 2·w·h-w-h.

For a network with wide of w points and height of h points:
The number of points will be w · h
The connections are (w-1) · h + (h-1) · w = 2 · w · hwh.

Para nuestro caso particular
For our particular case:

Biela 0 une punto 0 con 1.
Biela 1 une punto 0 con 4.
Biela 2 une punto 1 con 2.
Biela 3 une punto 1 con 5.
Biela 4 une punto 2 con 3.
Biela 5 une punto 2 con 6.
Biela 6 une punto 3 con 7.
Biela 7 une punto 4 con 5.
Biela 8 une punto 4 con 8.
Biela 9 une punto 5 con 6.
Biela 10 une punto 5 con 9.
Biela 11 une punto 6 con 7.
Biela 12 une punto 6 con 10.
Biela 13 une punto 7 con 11.
Biela 14 une punto 8 con 9.
Biela 15 une punto 9 con 10.
Biela 16 une punto 10 con 11.

Punto  0 conectado con: 4, 1.
Punto  1 conectado con: 5, 0, 2.
Punto  2 conectado con: 6, 1, 3.
Punto  3 conectado con: 7, 2.
Punto  4 conectado con: 8, 0, 5.
Punto  5 conectado con: 9, 1, 4, 6.
Punto  6 conectado con: 10, 2, 5, 7.
Punto  7 conectado con: 11, 3, 6 .
Punto  8 conectado con: 4, 9.
Punto  9 conectado con: 5, 8, 10.
Punto  10 conectado con: 6, 9, 11.
Punto  11 conectado con: 7, 10.

El algoritmo en VB para realizar las conexiones es:
The algorithm in VB for connections is:

Const nnn = 10000
Dim Px(nnn), Py(nnn) As Double
Dim b1(nnn), b2(nnn), P1(nnn), P2(nnn), P3(nnn), P4(nnn), Kmax, Nmax As Integer

----------

w = 4:h = 3:k = -1
Nmax = w * h - 1 '100 '(w - 1) * (h - 1)
For r = 0 To Nmax
i = r Mod w : j = Int(r / w)
  If (i <> w - 1) Then
    k = k + 1:    b1(k) = r:    b2(k) = j * w + (i + 1)
    Debug.Print "Biela " & Trim(k) & " une punto " & Trim(b1(k)) & " con " & Trim(b2(k)) & "."
    P3(b2(k)) = r:    P4(r) = b2(k)
  End If

  If j <> h - 1 Then
    k = k + 1:    b1(k) = r:    b2(k) = (j + 1) * w + i
    Debug.Print "Biela " & Trim(k) & " une punto " & Trim(b1(k)) & " con " & Trim(b2(k)) & "."
    P1(r) = b2(k):    P2(b2(k)) = r
  End If
Next r
Kmax = k - 1

For r = 0 To Nmax
    Debug.Print Replace("Punto  " & Trim(r) & " conectado con: " & Trim(P1(r)) & ", " & Trim(P2(r)) & ", " & Trim(P3(r)) & ", " & Trim(P4(r)) & ".", " ,", "")
Next r


El próximo día explicaremos como poner una carga y substituir bielas por muelles.
The next day we explain how to put a load and replace rods by springs.

http://carreteras-laser-escaner.blogspot.com/2015/06/looking-for-3d-crosslinking-model-ii.html


No hay comentarios:

Publicar un comentario