Post Reply 
[Prime] Missing trigonometric/hyperbolic functions, possible navigational enhancement
09-20-2015, 12:58 AM (This post was last modified: 01-14-2016 12:19 AM by matthiaspaul.)
Post: #1
[Prime] Missing trigonometric/hyperbolic functions, possible navigational enhancement
Hi,

I'd like to propose a number of easy to implement functional and navigational enhancements for the Prime:

The trigonometric functions SIN/ASIN, COS/ACOS and TAN/ATAN are not listed in the menu (Toolbox>Math>Trigonometry lists only COT/ACOT, SEC/ASEC and CSC/ACSC). Apparently, this is because they are directly available via the keyboard and therefore less likely to be selected through the menu. But having some functions available through method A and other functions of the same type available through method B is breaking a basic UI design rule. Consistency is important. (I am aware of the fact, that these functions are available in the soft menu "Toolbox>Catalog", but still.) To the extent possible, users should have the free choice how to select a function (even if some methods are more convenient to use than others most of the time, this may not hold true in all situations or for all users). Therefore, I suggest to add entries for the missing functions to the Math menu as well. If omitting them in the menu is meant to be a feature, a configuration setting should be added to make the desired behaviour ("suppress menu entries for functions available directly via keyboard") user-selectable.

Going through the list of available hyperbolic functions, I found the following functions missing: COTH/ACOTH, SECH/ASECH, CSCH/ACSCH. They should be provided not only for symmetry reasons.

There is another group of trigonometric functions unsupported in the Prime. They are rarely used today, but since it would be comparably easy to add support for them, it would be great if the Prime knew about them by default as well for completeness:

versed sine aka versine aka versus aka sagitta: VER (or VSN, SIV)
(versed cosine aka) vercosine: VCS
coversed sine aka coversine: CVS
coversed cosine aka covercosine: CVC
haversed sine aka haversine aka semiversus: HAV (or HVS, SEM)
haversed cosine aka havercosine: HVC
hacoversed sine aka hacoversine: HCV
hacoversed cosine aka hacovercosine: HCC

See also: http://en.wikipedia.org/wiki/Versine

chord: CRD

See also: http://en.wikipedia.org/wiki/Chord_(geometry)

exsecant: EXS
excosecant: EXC

See also: http://en.wikipedia.org/wiki/Exsecant

(Of them, versine, coversine, haversine and exsecant are the most important ones.)

All these functions have inverse functions as well:

AVER (or AVSN, ASIV), AVCS, ACVS, ACVC, AHAV (or AHVS, ASEM), AHVC, AHCV, AHCC, ACRD, AEXS, AEXC

At present, the Prime supports only degrees (full circle = 360°) and radians (full circle = 2pi). As I have stated elsewhere already (see: http://www.hpmuseum.org/forum/thread-449...l#pid40343, http://www.hpmuseum.org/forum/thread-542...l#pid48945), I would like to see support added at least for gradians/gons (full circle = 400g <- this should be a superscript "g") and turns (full circle = 1) as well.

Some suggestions how to further enhance the menu navigation in general:

Since selecting functions through menu trees like the Toolbox>Math/CAS/App menus might be inconvenient when a function is needed often, the last selection of each sub-menu should be stored internally and displayed in a different background color (or in another way to make it visually stand out) in the menu. It should be invocable directly by special hotkey "0" (which is unused in this scenario even in menus with more than 9 entries, as the numbering starts with "1" and continues with "A" after "9" (at least up to letter "O")). Thereby, the last selected entry in a menu could be reinvoked by a sequence of "blind" keypresses of "0" - much faster than going through the menu the normal way. There is (at least up to now) still a free soft menu entry (between "App" and "Catalog"). This could be occupied for "Last" and work identical to "0" as well (for a more logical grouping, "Catalog" could be moved leftwards to make room for "Last" between "Catalog" and "OK"). Invoking functions by other means (not through the menu) should not update the "last-selected entry" of the corresponding submenu, so, if the Toolbox>Math>Trigonometry menu was last used to invoke SEC, invoking f.e. SIN via the function key should not change the menu's last-selection-state to SIN, but remain at SEC (assuming SIN would be listed in the same sub-menu as SEC, see above).

Further, for quicker navigation inside a menu, the hotkey "." (which is also unused) should jump back and forth between the absolute first and absolute last entry in the current menu list without activating that entry. That is, the first press of "." should jump to entry "1" without activating it, except for when the currently selected entry is already "1", when "." should jump to the absolute last entry in the list instead (similar to a combination of "Shift"+"up" or "down").
Similarly, hotkey "_" (also unused) should jump back and forth between the first and last entries in the currently visible part of the menu list (similar to a combination of page-up/page-down functions on "Alpha"+"up" and "Alpha"+"down"). The difference between "." and "_" is only visible if the list of menu entries is longer than a screenful and can be scrolled up and down (as f.e. in Toolbox>Math>List).

In the menu, "Enter" already works like "right". In addition to this, "Backspace" should work like "left", "+" like "down", "-" like "up", "*" like "page down" and "/" like "page up" (useful for longer menus like Toolbox>Math>List), so that key sequences to reach specific menu entries can be memorized more easily and typed in faster than having to switch between the numpad and the cursor pad.

Within a menu, it is possible to jump to the next entry starting with letter x by pressing "Alpha" followed by the letter x. If there is no matching entry down the list, the search will continue at the beginning. Most menu entries start with uppercase letters, but there are also a few lower-case entries (like under Toolbox>CAS>Rewrite>Trig). In either case, the search is case-insensitive and at present "Alpha" and "Alpha" "Alpha" produce the same results. Therefore, "Alpha" "Alpha" could be used to reverse the jump-cycle direction through the menu, that is, it would case-insensitively select the next matching entry upwards, and if none is found, continue at the end of the list.

Since "EEX" is also unused inside of menu lists, it could be used as a "master-shortcut" to directly select the last entry in the last selected sub-menu even while the focus is still in one of the upper or in "parallel" menus. Let's assume, the last selected function in the Math menu would have been COSH, the user could invoke it by opening the Math menu and press "0" twice. Alternatively, he could open "Toolbox>Math" and just type "EEX" to reinvoke COSH again as well - obviously, this gets more convenient the deeper a function is buried in the menu tree.

With a menu like "Toolbox>Math" open, pressing direct function keys of the "x^y" to "log" and "x^2" to "," rows should automatically close the menu and directly invoke the pressed function. It shouldn't be necessary to press "Esc" first. However, if a menu with more than 9 entries is active, letters are used to invoke a menu entry directly, so this suggestion could either work only for menus with less than 10 entries in general, or the menu selection function should override the standard function of the key at least for those letters occupied by the corresponding menu.

Greetings,

Matthias

See also: http://www.hpmuseum.org/forum/thread-542...l#pid49015


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
[Prime] Missing trigonometric/hyperbolic functions, possible navigational enhancement - matthiaspaul - 09-20-2015 12:58 AM



User(s) browsing this thread: 1 Guest(s)