Christian,
I teach engineering mechanics (statics) at
Massachusetts Maritime Academy and also am a long time geogebra user. I've made a lot of geogebra diagrams over the years, some of which are here
https://ggbm.at/eKD1jLzg . I'm very excited about the possibilities of Numbas+geogebra for generating randomized mechanics problems and also for guided problem solving and exploration. I'm familiar with html, xml, xslt, css, LaTeX, mathJax, and ruby, but i'm a novice with javascript and have never used jquery. I've only been exploring Numbas for about two weeks.
I have LOTS of ideas, but so far in my explorations I keep wanting check student answers against values which are already known by the geogebra applet. For my problems these are not dynamic values; - once Numbas loads GGB and passes in random values nothing more changes.
Students are asked to find the area and centroid of a random polygon; Numbas generates the four corners. I want them to consider the polygon as a large rectangle with some pieces removed, and fill in a table with the areas and coordinates of the centroids of these pieces. Potentially there is a (blue) rectangle and two (red) triangles at each vertex of the (gray) polygon, but depending on the particular polygon, some of these collapse to nothing and are not considered.
I want to query GGB to find out which sub-shape are zero and remove their corresponding rows from the table, and then use the areas and centroidal coordinates of the remaining shapes as the correct answers to the gaps in columns 1, 2 and 3. It's possible to solve this problem analytically inside Numbas which I've done for part b, but it only works for shapes with straight sides, and it isn't the way I want the students to solve these types of problems.
Maybe there could be a Numbas function which grabs GGB values and assigns them to JME variables? Or a parameter on the geogebra_applet() function which maps selected geogebra values back to Numbas? Or a custom part type which takes a GGB variable name as input and checks the student answer against the value of that variable? I'm not familiar enough to know what's the best approach or how to implement it.
Thanks,
Will