Condicionar imantación

JohnPuentes
Posts: 6
Joined: Tue Jul 28, 2015 12:13 am

Condicionar imantación

Postby JohnPuentes » Mon Nov 14, 2016 5:38 pm

Me he propuesto condicionar la imantación de dos puntos P1 y P2 a un tercero P3 de tal manera que:
Si P1 y P2 no tienen las mismas coordenadas de P3, éstos se imanten a P3.
Si P1 toma la posición de P3 entonces P2 pierde la imantación a P3.
y Si P2 toma la posición de P3 entonces P1 pierde la imantación a P3.
Agradecería que me colaboraran respondiendo las siguientes preguntas:
¿Es posible condicionar la imantación a un punto?
¿Es posible añadir y quitar objetos magnéticos de un punto mediante un script o una expresión?

martinAcosta
Site Admin
Posts: 343
Joined: Mon Apr 28, 2014 8:06 pm

Re: Condicionar imantación

Postby martinAcosta » Tue Jan 24, 2017 5:55 pm

Creo haber encontrado una solución.

En realidad deberíamos esperar a que Eric añada un bloque con la propiedad de imantación, pero mientras tanto esta solución puede funcionar.

Eric nos dijo que el siguiente script sirve para modificar la intensidad de la imantación de un punto: supongamos que hay un punto P1 y un punto P3 que está imantado a P1:
p3=Find("P3"); //archiva el punto P3 en la variable p3
p1=Find("p1"); //archiva el punto P1 en la variable p1
var T = p3.getMagnet(p1); //archiva en T la fuerza de imantación de p3 con respecto a p1
T[1] = 0; //anula la fuerza de imantación

Así que mi solución lo que hace es escribir ese script en una expresión, utilizando blockly.
Tengo tres puntos A, B y C. B y C están imantados sobre A y dos expresiones de valor numérico cualquiera, E1 y E2.
Programo un dgscript sobre el punto B, en la pestaña 'al soltar':
Si distancia de A a B = 0
Hacer: Fijar expresión E1 como Expresión: c=Find("C");a=Find("A");var T = c.getMagnet(a);T[1] = 0;"prog" //quita la imantación de C
Si no: Fijar expresión E1 como Expresión: c=Find("C");a=Find("A");var T = c.getMagnet(a);T[1] = 200;"prog" // pone la imantación de C.

De la misma manera programo otro script en C, para cambiar la imantación de B.

Lo intenté y funciona.
ensayoMagnetismo4.dgp
(7.77 KiB) Downloaded 31 times


Return to “DGPad-Blockly”

Who is online

Users browsing this forum: No registered users and 0 guests