A collection of gripes and questions (many threads)

J shared this question 3 months ago
Needs Answer

1) out of frustration I have to ask, is there some sort of conspiracy that prevents useful work from being done to figure out arcsin(sin(a)+sin(b)) ? arccos generates NaN (presumably) but arcsin throws an exception that pops up a dialog and shifts control focus, which double -tries to parse, and a second error box appears immediately after closing the first.

2) Editing an existing expression is almost impossible.

a) I'm all for auto complete when there isn't some other token already after the current position.... when I want to add an absolute value to an expression I have to copy the old expression, delete it, add `abs()` or `|` which either way autocompletes to `||` with the cursor between, I can't delete the right one to move it, I can't just type another one later, with that one blank to extend it (like works with parenthesis; which actually work really good for updating the nesting level by shifting a close later; it's not all bad)

b) wrapping an existing expression that starts with a function in another function is another one - must use the side panel text editor instead - and even then, it often clears work in progress because of popup errors.

c) when I select an item on the left, and have to tools closed, clicking the gear and opening settings clears the item selected... I have to then go all the way back to the left and reselect the item and go back to settings; I understand there might otherwise not be a way to get to the top level settings, but, maybe an 'up' or 'global' link/button at the top instead? (and yes, I realize that global is actually an entirely different set of property panels ( I don't know what your specific API you're using calls them, panel is fairly generic, but sometimes I say things that might imply other things if you haven't used a ton of user interface libraries).

d) (I have saves that generate the errors; especially the newer ones)... I don't remember at the moment so let me diverge a bit.


Mostly I'm a programmer; I stumbled on this meshing framework for point clouds a while ago via wikipedia, and have updated the methods; and am now working on a logquaternion rotation counter.

https://d3x0r.github.io/IsoSurface-MultiTexture/


There's a link to the repo; and in src/ there's a file 'test_data.js' which has super simple point cloud generator functions; and then there are a lot of parallel meshing things.

I think the links are all available (and I tried to be verbose in my readme's) to go back to the original; which is a little more simplistic; I really only added to that (although because it is just a index.html that loads some scripts; no build process, just need a server to serve the files.... that's a little dirty; although related changes are together so as to not destroy the overall flows; but I don't know why I'm going on about that... ).

https://d3x0r.github.io/STF... this is basically that other project plus a file 'src/dual_quat.js' or '3d/dual_quat.js' that was added, and a chunk of code to add some sliders, and create 'normal' lines. The default configuration of this is to show the partial path of quaternions, and log-quaternions computed as a normal from 'y' as an up Other the the exact point at the pole, the rest is continuous translations.

log-quaternions like logrithmic numbers, just 'add' in order to multiply; but if I want to 'add' a value at a quaternion/complex level like `f(x)=f(x-1)^2+c` (mandelbrot) is `f(x) = ln( exp( 2*f(x-1) ) + c)` the process involves a round trip of arccos(cos(a)+cos(b) ) `ln( +c )` and `arcsin(sin(a)+sin(b))`; the fist is trivial, because it's an obvious closed surface. (approaching a surface from the positive ... err `outside` side). The other, is immediately degenerate... and has lines not only vertical but backwards.. do doing a differential/dervivitive is +dx ... but it needs to change from +dx to -dx otherwise it can't stay on the surface... the sin(a)+sin(b) ends up referring to itself such that it's `sin(a+b+sin(a)+sin(b)+2sin(a)sin(b)e)` (... well; there's other graphs on my profile, again; some have to have layers enabled.


Okay thank you for a fantastic tool! Have a great day.

Comments (2)

photo
1

The other function issue about inserting a function also is a failure because of a loss of focus (I think); when I start using 3 letter functions, I get a function help popup that causes the expression to evaluate before I'm done, and I think that causes it to fail to let me prefix () with a function name.... f(x) (f(x)) g(f(x)) usually works... but for a much more complex thing that has several +'s it 's not so great.

Edit: There's so very much to say about all the meshing; but the Input Data selecter at the top left selects the point cloud dataset `Sine Waves` is sin(x)+sin(y)+sin(z)` and that (happens to be) the curve of arcsin

photo
1

Please say exactly what you did - it's impossible to guess from this description what problem you are having exactly

1) out of frustration I have to ask, is there some sort of conspiracy that prevents useful work from being done to figure out arcsin(sin(a)+sin(b)) ? arccos generates NaN (presumably) but arcsin throws an exception that pops up a dialog and shifts control focus, which double -tries to parse, and a second error box appears immediately after closing the first.

© 2020 International GeoGebra Institute