Saludos de un novato

ariznaf shared this question 7 years ago
Answered

Acabo de empezar con GeoGebra.

Como he comentado en el foro de beginners en inglés, he empezado por crear con GeoGebra un modelo para el diseño de taludes con mecanismo de rotura en cuña Plana.


Gracias a la ayuda recibida en dicho foro, he podido añadir las input boxes para introducir algunos de los parámetros como el peso específico del terreno.


La verdad es que el programa me parece una maravilla, para poder desarrollar modelos interactivos para nuestros alumnos. Hace tiempo que buscaba algo así, ya que crear programas propios que permitan al alumno investigar el efecto de diversos parámetros lleva un tiempo excesivo y se necesitan muchos conocimientos de programación.


Os pongo el enlace al modelo que he creado con GeoGebra:

https://www.geogebra.org/st...


Todavía quedan algunas cosas por pulir y añadir algunas opciones más, pero ya funciona bastante bien, creo yo.


Se agradecerían todo tipo de sugerencias o comentarios respecto a su funcionamiento.


Hay una cosa que me gustaría poder hacer y no he sabido.

En el modelo se pueden arrastrar los puntos en rojo para controlar parámetros del modelo como la altura del talud, o los puntos con una cruz para controlar los ángulos del talud y las discontinuidad o el ángulo de la grieta de tracción.

Me pareció que resultaba más atrayente e intuitivo de esta manera.


Pero si uno quiere cambiar la altura de talud de 40 a 150m, resulta muy incómodo tener que arrastrar el punto de control esa distancia.

Me gustaría poder añadir un input box en el que se pudiera meter dicha altura, de forma que si se introduce una altura nueva, automáticamente se mueva el punto de control a la posición correspondiente.

Creo que se debería de poder hacer activando un script en el tab "al actualizar" del input box que se utilice para introducir la altura. Pero lo he intentado y no he sabido, no he conseguido nada.

¿Alguna idea?

Comments (8)

photo
1

hola

menos mal que eres novato, con estos trabajos daras lecciones a los mas antiguos pronto.

he visto tu trabajo y aunque no tengo ahora tiempo para analizarlo sí te diria que lo veo sobrecargado de textos y avisos junto al grafico (te habra costado horas diseñarlo)

creo que para futuros trabajos deberias empezar a usar las dos ventanas graficas y asi pones en una los graficos y en otra los textos y explicaciones. esto te permitira poder cambiar el tamaño e incluso la escala de los graficos variando los valores de xmin y xmax en la configuracion de la ventana mediante variables (lo mismo en el eje y)

concretando lo que pides si quieres variar mucho un punto y no quieres moverlo manualmente puede poner un boton con un script que diga SetValue[P,(x(P),y(P)+20)] (creo que en español es valor[]) y esto hara que suba de 20 en 20. otro boton para bajarlo.

o tambien una casilla de entrada que ponga altura del talud enlazada a una variable hh y el talud con ecuacion y=hh o el punto que defineel talud con segunda coordenada hh

saludos

photo
1

Gracias.

Sí, sí que está bastante recargado.

Es información relevante e importante para analizar el resultado.

Pero como dices, buena parte de ella será mejor pasarla a la ventana gráfica secundaria (hace poco que la descubrí).


En ella pretendía poner el triángulo de fuerzas (tendré que copiar los valores a otros vectores fuerza para poder situarlos en orígenes diferentes a los correspondientes a los centros de gravedad en donde están dibujados en la principal).


En esa ventana será mejor poner un resumen de los resultados y en la secundaria el triángulo con el informe detallado de las fuerzas actuantes.


Lo probaré a ver si queda más limpio todo. Ahora lo que más me importaba es que todo funcionara bien y los cálculos fueran correctos (y es en eso en lo que me he centrado).


Tal y como está diseñado, la altura la cambias arrastrando un punto de control sobre el eje vertical, y los ángulos los cambias con los puntos de control con las crucecitas.

Pero interesaría poder meterlo todo directamente también, para ganar en precisión y rapidez.


Probé a usar el evento "al cambiar" en un input box y usando un script asociado que cambiar la posición del punto de control. Pero so supe hacerlo bien, seguramente por que no conozco la sintaxis del lenguaje de script.

Probaré con eso del setvalue y si no con un botón que cambie el valor al pulsarlo.


Por cierto, también necesitaría tener una opción tipo checkbox asociado a una variable (que valga 0 o 1 según lo pulses o no).

Pero el checkbox sólo parece que se puede asociar a la visibilidad de los objetos, y no parece que puedan utilizarse para cambiar a 0 o 1 una variable de tipo número.


Tener algo parecido a un listbox (para seleccionar entre varias opciones alternativas) también sería de gran ayuda para lo que quiero hacer.


En cualquier caso estoy encantado con haber encontrado esta perla :)

photo
1

hola

el checkbox sirve para lo que quieras, incluso para hacer tablas de verdad. por ejemplo si tienes el checkbox b (true o false para los valores booleanos) él mismo sirve como cero o uno. puedes escribir cosas como b x+(1-b) x^2 y cambiar de funcion al clicar en el checkbox y además puedes definir if[b,-1,1] para hacer un conmutador negativo-positivo o muchas cosas que se te ocurran


no es necesario usarlo para visualizar nada, eso es una opcion para acelerar el uso cuando se crea pero sirve para todo lo que quieras

saludos

photo
1

¡AH! Pues gracias, lo probaré también.


Como tiene la opción de seleccionar un objeto para activar o desactivar su visualización, creí que sólo servía para eso.

Así que el checkbox en sí se comporta como una variable.


Yo esperaba que tuvieras que crear una variable de tipo número y asociarla al checkbox, de forma similar a como ocurre con los inputboxes, que creas el número y luego lo asocias a un input box si quieres que se pueda editar su valor.


Me resulta un poco confuso, pues no se separa bien el objeto de su vista (que es el modelo.


Lo probaré.

photo
1

No consigo hacer funcionar lo del EntryBox y cambiar el valor de un punto.


Explico el problema:


tengo un punto ligado al ejeY


Control= Punto[EjeY]


El punto lo puedo mover a lo largo del eje Y y las cosas funcionan perfectamente.


Pero el problema está en que quiero poder meter el valor de la cota de dicho punto utilizando un entryBox también.


He probado a crear uno y (sin asociarlo a ningún objeto) poner en él el siguiente guión en el evento "al actualizar".


1 Valor[Control,Punto[(0,%0)]]


Lo he probado también como


1 Valor[Control, (0,%0)]


y de alguna otra forma.


Pero nada, no consigo hacer que funcione. El punto de control no se mueve y a veces el guión da un error (sin aclarar muy bien dónde está el problema, si es error de sintaxis o qué).


También querría que el entryBox mostrara la cota y del punto de control, y que cuando mueva el punto de control en el ejeY, el contenido del entrybox lo refleje.


¿Alguna idea?

photo
1

He visto que la sintaxis es incorrecta.

Creo que debería de ser:


Valor[Control,Punto[{0,%0}]]


Esto lo admite, pero aún así no funciona.


Aún me monto un lío con los corchetes[] , paréntesis () y llaves {}


Está claro que necesito urgentemente un libro.


¿Algún buen libro en español o inglés que enseñe GeoGebra desde el principio y de una manera ordenada?

Mejor si lo hay en formato ebook (epub o similar).


Y que no sea demasiado básico, que empiece por el principio pero también comente aspectos más avanzados de GeoGebra.

Estoy leyendo el manual en línea, pero para empezar necesitaría algo más ordenado y paso a paso.

photo
1

hola

creo que te lías tú sólo.

siento no poder ayudarte en lo del manual pues lo que sé lo aprendí probando. creo que hay uno bastante bueno de la versión 3.2 en la pagina de manuel sada. busca sada geogebra y lo encontrarás si sigue allí


en cuanto a lo del punto es cuestión de un poco de orden. te lo adjunto

saludos

https://ggbm.at/564087

photo
1

Sí, efectivamente me estaba haciendo un lío (está claro que necesito leer ;) ).


Ahor sí funciona, asociando el inputbox a otra variable y con el script.

Además hay que poner el script también en el punto de control para actualizar la variable, tal y como está en tu ejemplo.

Muy bueno. Gracias.


Me miraré esa página.

© 2021 International GeoGebra Institute