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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Algoritmo en dos dimensiones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Algoritmo en dos dimensiones  (Leído 2,479 veces)
DanFire

Desconectado Desconectado

Mensajes: 24


Si quieres conocerme buscame...


Ver Perfil
Algoritmo en dos dimensiones
« en: 15 Abril 2016, 18:24 pm »

Buenas!
tengo un problemilla que no sé resolver a ver si vosotros se os occure algo ;)
Esto es lo que tengo:
Un vector de massas (es francés) dnd massa es una classe:
Código:
std::vector<Masse>

Y dentro de esa clase tengo los atributos siguientes:
Código:
private:
Vecteur3D mPosition;
Vecteur3D mVitesse;
Vecteur3D mForceS;
std::vector<Ressort*> mEnsRes;
double mMasse;
double mCoefFrott;
CoordIJ mCoordIJ;
///-----------------------------Dans le cas ou coeff est pareil partout, ou pour definir val par défaut.
static double msCoeffCste;
position, velocidad y demas cosas sin importancia... Lo que importa que que la clase masa tiene un atributo  :
Código:
typedef std::array <size_t, 2> CoordIJ;

CoordIJ mCoordIJ
(el typedef esta afuera pero es para que veais lo que es ;) )
Este atributo en especial cuado esta inicializado posee las coordenadas de su posicion en otro vector  pero de dos dimensiones tal que asi:

Código:
typedef std::vector<std::vector<Masse> >  TabMasses2D

En definitiva lo que me gustaria seria poder pasar de mi 1era dimension que posee las coordenadas de la segunda a la segunda XD.
Pero notese que el vector de una dimesion las masas que estan dentro no tienen por que estar en orden y puede tambien pasar lo siguiente:

massa m1;
massa m2;
m1.coordenadasEn2D( 2, 5);
m1.coordenadasEn2D( 7,0);

es decir que el resto de las "cuadriculas" (asi me lo imagino) estarian vacias.
Un pseudo codigo me bastaria de sobra o nada mas que la parte algoritmica. Estoy desesperado espero que alguien pueda ayudarme...

Gracias de antemano y saludos!
pd: aqui teneis el prototipo de mi funcion:
Código:
TabMasses2D Dim1toDim2(std::vector<Masse> const&);


« Última modificación: 16 Abril 2016, 12:05 pm por DanFire » En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Algoritmo en dos dimensiones
« Respuesta #1 en: 15 Abril 2016, 23:32 pm »

Estoy casi seguro que @MAFUS y otros lo puedan "cazar al vuelo" pero a muchos mas podrian ayudarte si colocas el codigo completo.


En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Algoritmo en dos dimensiones
« Respuesta #2 en: 15 Abril 2016, 23:45 pm »

Quieres crear un array bidimensional de esa clase a partir de un array unidimensional, hasta ahí bien.
Pero, ¿cómo quieres hacerlo? No entiendo cómo quieres crear el array bidimensional a partir del array unidimensional. ¿Qué pasos quieres seguir?
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Algoritmo en dos dimensiones
« Respuesta #3 en: 16 Abril 2016, 08:36 am »

A ver si entiendo el concepto que estás intentando realizar.
Tienes un conjunto de particulas en un entorno tridimensional, un cubo.
Por lo que veo en la definición de sus propiedades,  estas partículas van a interactuar entre sí unas con otras.
Has guardado tus partículas en un array, contienen la información en el momento t
Quieres otro array para que te guarde todas las partículas otra ves pero actualizadas al momento t+1.
En línea

DanFire

Desconectado Desconectado

Mensajes: 24


Si quieres conocerme buscame...


Ver Perfil
Re: Algoritmo en dos dimensiones
« Respuesta #4 en: 16 Abril 2016, 12:04 pm »

Buenas!
He cambiado mi concepcion, era una mala idea y demasiado complicado.. En el mejor de los casos tenia que hacer n operaciones y en el peor  n^3. Pero gracias!
Si os pica la curiosidad o teneis consejos que darme os puedo enviar el codigo por privado pero no puedo compartirlo asi en internet, me arriesgaria demasiado.
MAFUS estas casi en lo correcto!
Saludos
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Algoritmo en dos dimensiones
« Respuesta #5 en: 16 Abril 2016, 14:48 pm »

Pues si estoy en casi lo correcto busca un juego, lo más sencillo que encuentres, del juego de la vida de Conway.
Trabajas de la siguiente forma:
Tienes un array que es tu mundo en el presente, en el momento T.
Tienes un array que representa tu mundo en el momento T+1.
Para rellenar éste último array lo que haces es a cada partícula de T aplicas los cálculos de física sobre todos sus vecinos en el momento T. A la partícula actualizada la guardas en el array de T+1.
Finalizadas todas las partículas copias T+1 a T, o mediante punteros (será más rápido) conviertes el array T+1 en el array T y el que era el T servirá para situar los datos de T+1, y lo presentas por pantalla, o lo que sea que tengas que hacer para representar los datos.
Vuelves a empezar.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dimensiones Avatar
Sugerencias y dudas sobre el Foro
Lionheart12 3 1,932 Último mensaje 4 Abril 2007, 14:18 pm
por H4RR13R
dime el algoritmo que más te gusta... ejm:algoritmo del avestruz
Programación General
jhonatanAsm 0 4,451 Último mensaje 13 Mayo 2011, 01:30 am
por jhonatanAsm
Explicando las 10 dimensiones « 1 2 3 »
Foro Libre
erest0r 20 6,140 Último mensaje 20 Febrero 2014, 23:08 pm
por erest0r
4 dimensiones
Foro Libre
@synthesize 6 2,096 Último mensaje 17 Marzo 2015, 12:18 pm
por ivancea96
Descubre la Música 8D ( ¡ocho dimensiones! )
Foro Libre
Eleкtro 2 1,561 Último mensaje 16 Octubre 2018, 16:19 pm
por srWhiteSkull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines