[LON-CAPA-dev] RFC: XML for <imageresponse> rewrite

Gerd Kortemeyer lon-capa-dev@mail.lon-capa.org
Wed, 12 Oct 2005 09:28:14 -0400


On Oct 11, 2005, at 6:01 PM, Guy Albertelli II wrote:
>> I like this a lot - but it needs to accept leaving out <answer> if
>> there is only one because of existing content.
> if answer exists -> new mechanism, if answer doesn't exist -> old
> mechanism.

Sounds good.

>> Okay, I don't understand why this is tied to other objects. I would
>> suggest
> Some people don't want to draw a force diagram, they want an arrow
> going from location 1 to location 2.
> (For instance concept mapping.)

Okay, and some people do want force diagrams and do math with this.  
For the physics and math people, the more that a vector resamples the  
mathematical idea of a vector, the better, i.e., it has two  
components ((x,y) or (r,theta)).

I think what is currently called "vector" is more like a "connector"

I hate to introduce yet one more thingy, but maybe it makes sense to  
have a vector (which has two parameters and possibly an origin) and a  
connector (which connects two objects in a directed way - BTW, for a  
connector, "undirected" might be a good attribute, so it can go from  
A to B or B to A.

> And as will already have areal specifiers (for click support anyway)
> why not use this?

Hmmm ... I guess I just don't think about vectors in this way, but  
for me, the word "vector" is also pretty "loaded."

> These are proposed below as a second style of <vector>,
> i.e. positionless vectors.

Real vectors are ALWAYS positionless.

How about <connector> connects two nailed down objects (positioned)
And <vector> is (x,y) or (r,theta) (unpositioned), but with the  
option of nailing down the starting point (could be to an object).

>> You might then add an origin if you want to tie to a certain  
>> location:
>> <vector>
>> <xinitial unit="pixels">30</xinitial>
>> <yinitialunit="pixels">60</yinitial>
>> <xlength unit="pixels">40</xlength>
>> <ylength unit="pixels">80</ylength>
>> </vector>
> How do you specify the tolerenceing on this?

Absolute in pixels:

<initial unit="pixels">30,60</initial>
<cartesian unit="pixels">40,80</cartesian>
<responseparam name="tolerance" type="tolerance" default="5" />

- note how the responseparam does refer to the whole vector, we don't  
need to be THAT particular.

This accepts anything within a 5-pixel radius of the starting and end  
point of the vector.

<cartesian unit="pixels">40,$height</cartesian>
<responseparam name="tolerance" type="tolerance" default="5" />

<polar lengthunit="pixels" angleunit="radians">$l,$theta</polar>
<responseparam name="tolerance" type="tolerance" default="5" />

Here the student picked the starting point, so it accepts anything  
within a 5-pixel radius of where the vector should have ended for  
their choice of starting point.

> evening ignoring the fact that I can't even convey the circular area
> of correctness using the <xinitial> etc. concept.

That's what I just tried to do.

> with little likelyhood that anyone would be that interested in
> changing this excpet for the author, it seems a little dubious.

- nope! I had to change the tolerances on problems I used from other  
authors because they made it almost impossible to get the right  
answer. They give some graph and want a velocity read from it, but  
the curvature for several randomizations is too steep to get a decent  
value within the precision of the graph. Once I assigned the problem,  
I very much appreciated the chance to loosen the precision  
requirements to something every student could achieve before  
everybody gets ticked off. Happened more than once. Also, some  
authors always use too restrictive significant digit limits - it's  
good to have control when issues pop up.

- Gerd.