wgxli / complex-function-plotter

WebGL Complex Function Plotter
https://samuelj.li/complex-function-plotter/
GNU General Public License v3.0
48 stars 9 forks source link

dragging causes invisible text selection, and some other css issue #34

Open farteryhr opened 2 weeks ago

farteryhr commented 2 weeks ago

on microsoft edge, doubleclicking/dragging are prone to selecting something despite there's pointer-event:none, causing it laggy, and edge will pop-up its toolbar to make things worse. image in function-plot.css canvas.axes add: user-select: none; seems to fix this.

btw (the main part some css/font resources referenced located on jsdelivr, googleapis, are unavailable in certain region, thus makes the page have a hard time loading, and seems the whole page must wait for these requests to timeout, while they're not the key part. it'll be nicer to have some workaround here for basic availability.

if #30 is not happening soon, though, it's fine to use plain fonts everywhere.

as for the label z= f(z)=, moving the mouse around, the toggling of "×10^x" produces distracting effect. some custom design idea is here: show (±x.xxxxx±0.000xxi)×10^±n if the ‘’‘more significant part’‘’ is beyond 1e7 or smaller than 1e-3, otherwise ±xxx.xxx±0.000xxi with fixed number (6 maybe) of significant digits. but always 0.000xx for the smaller part, and if 0.00000 should be shown, then assume it's zero. it'll be better to set transparency for insignificant zeros. this way it'll be easier to see the relationship between the real and imaginary part on the first glimpse.

in other word, the non-scientific calculator style with modification.

as always, this tool shines. we'll see it used by more people.

wgxli commented 2 weeks ago

user-select:nonehas been added in the latest update. Please check if the issue is resolved.

I will see if there are alternative sources for the jsdelivr/googleapis sources.

The scientific notation is a compromise between many conflicting requests. The current behavior is due to some requests to show small imaginary parts on a large real background value. This is important for some applications - better to show too much information than too little.