The present invention relates to a method of and apparatus for expression display and animation of expression display in polar plan using a calculator.
A hand-held calculator is an important and useful device. Similar to a computer, the hand-held calculator has a processor, a memory, a display, and an input device; however, there are important distinguishing differences between the hand-held calculator and the computer.
The hand-held calculator is a specialized device and not a general purpose device, as is true of a computer. Because of this specialization, typically the hand-held calculator costs less, has a longer useful lifespan, and is more reliable and more portable than the computer.
Whereas a general purpose computer is capable of executing many different programs, a hand-held calculator typically executes a single program and, less frequently, supports execution of user-created programs. Normally, a hand-held calculator supports addition, subtraction, multiplication, and division of numbers, either integer-based or decimal-based, entered by a user and displays the results on a built-in display.
A graphical calculator is a further specialized version of a hand-held calculator having a display which is typically larger than a regular hand-held calculator display in order to enable graph output. In many instances, graphical calculator displays are liquid crystal displays for more accurate representation and enhanced readability of a graph output.
A graphical calculator is able to display a graph of a specific expression, e.g. a sine wave representing a sinusoidal function, entered by a user. Disadvantageously, graphical capabilities on hand-held calculators are only available as part of expensive and complex, “high end” scientific calculators. These graphical calculators are more expensive than other calculators, typically costing hundreds of dollars. These graphical calculators are more complicated to operate than other calculators because of the large amount of functionality incorporated therein.
The increased functionality has required a corresponding increase in the number of keys required for manipulating and using the calculator. For example, currently available graphical calculators have approximately fifty (50) keys including two (2) shift or modifier keys for a user to manipulate, e.g. a Texas Instruments (TI) 83 plus calculator has 51 keys and two (2) shift keys which can be used concurrently, enabling up to four functions to be assigned per the 51 remaining keys, and a Hewlett-Packard (HP) 48G+/GX calculator has 49 keys and three (3) shift keys, enabling up to six functions to be assigned per the remaining 49 keys.
Additionally, and in conjunction with the larger number of keys present, a user must contend with different modes of operation of the current graphical calculator. Different modes of operation, accessible via specific keys and/or key sequences, must be utilized in order to access specific calculator functionality, e.g. a graphical calculator may include a fraction mode, a decimal mode, a binary mode, a hexadecimal mode, a finance mode, a statistics mode, and a graph mode.
Further, expression input requires increasingly complicated key manipulations and combinations. For example, in order to graph an expression, there are typically three combinations to be entered: a mode specifying combination, an expression entry combination, and a completion combination. The mode specifying combination may include manipulation of a graph key to instruct the calculator to graph the following expression entry. The expression entry combination may include manipulation of multiple keys to input the expression to be graphed and the completion combination includes manipulation of a key, e.g. an enter key, to instruct the calculator to perform the preceding operations, i.e. graph the entered expression.
Requiring a user to manipulate multiple keys increases the need for learning, the possibility of error and may lead to frustration on the part of the user. Also, requiring additional key presses by a user requires more time and slows the entry and use of the calculator by the user. The addition of multiple modes, complicated expression input combinations, and ever-increasing numbers of keys results in a very complicated device.
As further evidence of increasing complexity, the user manual for a currently available hand-held graphical calculator has dramatically increased in size in order to fully explain the use of the calculator. For example, the above-cited TI-83 plus calculator manual includes 269 pages and the HP 48G+/GX calculator manual includes 506 pages. These are very long documents which are typically not read by users. Further, users are likely to be deterred from reading the manual because of the imposing size of the manual.
Graphical calculators are very popular and effective educational aides. School students using graphical calculators can easily visualize complex functions; however, the complexity and cost of currently available graphical calculators deters many students and schools from making a purchase. Purchasers are dissuaded by the size of the manual, multiple modes of operation, and the number of keys and key combinations required for inputting expressions.
Graphical representations of a function is an effective teaching method. Prior approaches for teaching functions using polar coordinates and a polar plan representation include lectures and drawing functions using a hand drawn approach, i.e., pen and paper, chalk and blackboard, or marker and whiteboard. Further, prior approaches to display graphical representations of functions on calculators have included use of a polar coordinate system. However, traditionally the graphical representation has been limited to display of the function, i.e., graphing of the function, by varying the angle of the function θ and graphing the point defined by the radius and the angle θ on a polar plan where the radius R is determined by the input function, e.g., R=sin(θ). A graphical representation of the function R=sin(θ) in polar coordinates is illustrated in
It is therefore an object of the present invention to provide a method of and apparatus for expression display by varying the angle of a user-entered expression in polar plan using a calculator.
The present invention provides a method of and apparatus for animated expression display in polar plan using a calculator.
A method aspect of graphing a user-entered expression on a calculator display includes a calculator receiving a user-entered expression including a radius variable to be graphed. The user-entered expression causes the calculator to graph the user-entered expression on a polar coordinate system.
An apparatus aspect of a calculator for graphing a user-entered expression on a calculator display includes means for receiving and displaying a user-entered expression including a radius variable. The calculator further includes means for graphing the received user-entered expression in a polar coordinate system on a calculator display responsive to receiving only the user-entered expression.
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention.
The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
a-4d illustrate input of a user-entered expression on a calculator and display of a graphical representation of the user-entered expression on the calculator of
a-6ww illustrate steps in a graphical animation of graphing the function cos(2θ) according to an embodiment of the present invention; and
a-7o illustrate steps in a graphical animation of graphing the function cos(2R) according to an embodiment of the present invention.
Calculator 100 includes a display 102 and a primarily key-based input area 104 set in a front face 106. Although front face 106 is depicted as a rounded rectangle, it is to be understood that the front face may be manufactured to be any of a number of different shapes. Further, although a specific number, type and configuration of input mechanisms are described below, it is to be understood that variations in the number, type, and configuration of input mechanisms may be found in different embodiments of the present invention.
Display 102 is a rectangular liquid crystal display (LCD) which is 96 pixels wide and 64 pixels in height. As shown in
Directional input device 108 is used to navigate menus and perform information input, recall, and editing. Directional input device 108 may be manipulated by the user to input at least four directions, i.e. up, down, left, and right to calculator 100. Input of the left arrow of directional input device 108 inputs a move left command to processor 204 thereby moving the current cursor position on display 102 to the left one position. Input of the right arrow of directional input device 108 inputs a move right command to processor 204 thereby moving the current cursor position on display 102 to the right one position.
A secondary function of directional input device 108, accessible via use of shift key 114 as described below, is editing an expression on display 102. The input of shift key 114 in conjunction with or prior to left arrow of directional input device 108 inputs a backspace command to processor 204 thereby deleting the character to the left of the current cursor position on display 102. The input of shift key 114 in conjunction with or prior to right arrow of directional input device 108 inputs a delete command to processor 204 thereby deleting the character to the right of the current cursor position on display 102.
The four remaining keys in row 110 are shift key 114, open parenthesis key 116, close parenthesis key 118, and power key 120.
Shift key 114 is used to access a second set of functions, i.e. secondary functions, assigned to the remaining keys on calculator 100. For example, user activating power key 120 turns on calculator 100; however, activation of power key 120 subsequent to activation of shift key 114 turns off the calculator. In a similar fashion, each of the remaining keys of calculator 100 has an assigned secondary function.
Open parenthesis key 116 inputs a beginning parenthesis in a user-entered expression. The secondary function of open parenthesis key 116 is to input a command causing calculator 100 to split a graphical output on display 102 such that one half of the display is a graph and the other half is numerical information related to the graph displayed.
Close parenthesis key 118 inputs an ending parenthesis in a user-entered expression. The secondary function of close parenthesis key 118 is to input a T variable in a user-entered expression.
Power key 120 turns on calculator 100 and, as described above, the secondary function of power key 120 is to turn off calculator 100. Additionally, power key 120 operates as a clear key after calculator 100 is turned on, i.e. the power key may be used to clear the displayed expression on display 102. Manipulation of shift key 114 followed by right arrow of directional input device 108 deletes input characters to the right of the current input position and manipulation of shift key 114 followed by left arrow of directional input device 108 deletes input characters to the left of the current input position.
Beginning in the upper left corner of four by four grid 112, the description of the remaining keys is now provided in a row, column order.
Row 1, column 1 key 122, i.e. the seven key, inputs a seven (7) value in a user-entered expression and has a secondary function of inputting a sin function in a user-entered expression. Row 1, column 2 key 124, i.e. the eight key, inputs an eight (8) value in a user-entered expression and has a secondary function of inputting a cos function in a user-entered expression. Row 1, column 3 key 126, i.e. the nine key, inputs a nine (9) value in a user-entered expression and has a secondary function of inputting a tan function in a user-entered expression. Row 1, column 4 key 128, i.e. the division key, inputs a division (/) function in a user-entered expression and has a secondary function of inputting a theta (θ) variable in a user-entered expression. Further, as described in detail below, the division key 128 is used to input a fractional value to calculator 100. Division key 128 is input between input of the digits of the numerator and denominator of a fraction.
Row 2, column 1 key 130, i.e. the four key, inputs a four (4) value in a user-entered expression and has a secondary function of inputting a square root function in a user-entered expression. Row 2, column 2 key 132, i.e. the five key, inputs a five-(5) value in a user entered expression and has a secondary function of inputting a squared function, i.e. raising a value to the second power, in a user-entered expression. Row 2, column 3 key 134, i.e. the six key, inputs a six (6) value in a user-entered expression and has a secondary function of inputting a value raised to the power of a subsequently entered value function, i.e. X raised to the power of Y, in a user-entered expression. Row 2, column 4 key 136, i.e. the multiplication key, inputs a multiplication (*) function in a user-entered expression and has a secondary function of inputting an X variable in a user-entered expression.
Row 3, column 1 key 138, i.e. the one key, inputs a one (1) value in a user-entered expression and has a secondary function of inputting an absolute value function in a user-entered expression. Row 3, column 2 key 140, i.e. the 2 key, inputs a two (2) value in a user-entered expression and has a secondary function of inputting a natural logarithm function in a user-entered expression. Row 3, column 3 key 142, i.e. the three key, inputs a three (3) value in a user-entered expression and has a secondary function of in putting eight logarithm function in a user-entered expression. Row 3, column 4 key 144, i.e. the minus key, inputs a subtraction (−) function in a user-entered expression and has a secondary function of inputting a NOT function in a user-entered expression.
Row 4, column 1 key 146, i.e. the execute key, inputs an execute command to calculator 100 and has a secondary function of inputting a menu command to the calculator. Row 4, column 2 key 148, i.e. the zero key, inputs a zero (0) value in a user-entered expression and has a secondary function of inputting an e value in a user-entered expression. Row 4, column 3 key 150, i.e. the dot key, inputs a decimal point in a value entry and has a secondary function of in putting a pi constant value in a user-entered expression. Row 4, column 4 key 152, of i.e. the plus key, inputs an addition (+) function in a user-entered expression and has a secondary function of in putting a times ten to the power of a subsequently entered value, i.e. “*10{circumflex over ( )}Y”, in a user-entered expression.
With respect to the secondary function of the execute key 146 described above, after receipt of a menu command input by a user, processor 204 (described below in conjunction with
Calculator 100 includes a bus 202 or other communication mechanism for communicating information, and a processor 204 coupled with the bus 202 for processing information. In one particular embodiment, processor 204 is a 16 bit processor. Calculator 100 also includes a main memory 206, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 202 for storing data and expressions according to an embodiment of the present invention and instructions to be executed by processor 204. Main memory 206 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 204. In one particular embodiment, main memory 206 is an 8 Kilobyte RAM. Further, it is to be understood that in alternate embodiments, the components of calculator 100 may be combined onto a single integrated circuit, e.g. processor 204 and main memory 206 may be combined on a single “system on a chip.”
Calculator 100 further includes a read only memory (ROM) 208 or other static storage device coupled to the bus 202 for storing static information and instructions for the processor 204. In one particular embodiment, ROM 208 is a 128 Kilobyte ROM.
Calculator 100 may be coupled via the bus 202 to a display 102, such as the above-described 96*64 pixel LCD, for displaying an interface to a user. An input area 104, as described above with reference to
The invention is related to the use of calculator 100, such as the depicted calculator of
Execution of the sequences of instructions contained in the main memory 206 causes the processor 204 to perform the process steps described below. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with computer software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
In addition to enabling the display of a graphical representation of user-entered expressions in a polar coordinate system, according to an embodiment of the present invention, user-entered expressions are able to be displayed varying based on a radius variable. Typically, functions drawn on a polar coordinate system as described above, were drawn using θ as the angle varying from 0 to 2 pi and R as dependent upon θ based on the user-entered expression and representing the distance of a given point to the origin of the polar coordinate system, i.e. R=f(θ).
In an embodiment according to the present invention, polar functions are graphically displayed in polar coordinates on display 102 using the form θ=f(R), i.e., varying the radius of the function. In order to display the function R=f(θ), the graphical representation is displayed by graphing the values (θ, R=f(θ)) on the polar coordinate system.
In a further embodiment, an animated display of the graphing process of graphing the function in polar plan view is achieved by repeatedly drawing a line from the origin (0, 0) to the destination point (θ,θ=f(R)) as the value of R is incremented from a given starting value, e.g., zero (0). The resulting animation displays, i.e., graphs, the input expression with a sweeping style on display 102.
In a still further embodiment, an animated display of the graphing process of graphing the function in polar plan view is achieved by repeatedly drawing a circle having an origin at a given starting point, e.g., (0, 0), and a radius equal to the value R and a point on the perimeter of the circle at an angle θ. The user-entered expression determines the radius R and the angle θ. The angle θ varies from a given starting value, e.g., zero (0), as the circles are drawn.
According to an embodiment of the present invention, a user is able to input and display expressions in a polar coordinate system and a polar plan view using a calculator. With reference to
After the user manipulates the execute key 146, processor 204 evaluates the input mathematical expression 402 and drives display 102 to display the result 404, i.e. a graphical representation of a cosine function 406 varying based on the radius R in a two dimensional polar coordinate system (i.e., a four petal flower graph) to the user as depicted in
Further advantageously, the user is able to graph expressions using a polar coordinate system without requiring special modes or the manipulation of a graphing key.
As described in greater detail in the aforementioned application, the user is able to display either cosine wave 406 or cosine wave 406 and a listing of select points on cosine wave 406. Further, the user is able to zoom in and out, increasing or decreasing the scale of the displayed graph, shift the coordinate system to the right, left, upward, or downward as described, and manipulate directional input device 108 to move a cursor position along the displayed graphical representation of the user-entered mathematical expression.
In a further embodiment, the user is able to manipulate calculator 100 to display a graphical representation of a user-entered expression varying based on the radius R and a user-entered expression varying based on the angle θ in a polar plan view of a polar coordinate system. With reference to
After the user manipulates the execute key 146, processor 204 evaluates the input mathematical expression 408 and drives display 102 to display the result 410, i.e., a graphical representation of a cosine wave 412varying based on the angle θ in a polar coordinate system (i.e., the four petal flower graph) and a graphical representation of a cosine wave 414 varying based on the radius R in a polar coordinate system (i.e., the sinusoid to the right of the cosine wave 412) to the user as depicted in
Because both user-entered expressions use the same coordinate system, both expressions may be displayed on display 102 at the same time as illustrated in
a-6ww sequentially illustrate a sequence of steps in the animation process of graphing the function cos(2θ) while varying the angle θ. As depicted in the sequence, a line 602 (
a-7o sequentially illustrate a sequence of steps in the animation process of graphing the function cos(2R) while varying the radius R. As depicted in the sequence, a circle 702 (
With respect to the animation of the display of the graphical representation of a user-entered expression described above, the user may further manipulate specified keys in order to input commands causing the calculator 100 to stop, resume, speed up or slow down the animation. Further, additional key manipulations by the user may cause the increase or decrease of scale and/or movement of the position of the origin point of the coordinate system on display 102.
A high level pseudo-code listing of an embodiment according to the present invention in which the angle θ is varied is listed in Listing 1 below.
System detects user input of a polar equation based on the Theta (θ) parameter.
For theta=1 to 360 for all values of θ
In Listing 1, P=(function(θ),θ), where function evaluates the user-entered expression for the value θ and returns the value of the R coordinate of the point. (R, θ) represents a polar point of coordinates R, θ. G=save the current display graphic in order to allow display of the sweeping line.
A high level pseudo-code listing of an embodiment according to the present invention in which the radius R is varied is listed in Listing 2 below.
System detects user input of a polar equation based on the radius (R) parameter.
For R=1 to 10
In Listing 2, P=(R, function(R)), where function evaluates the user-entered expression for the value R and returns the value of the θ coordinate of the point. (R, θ) represents a polar point of coordinates R, θ. G=save the current display graphic in order to allow display of the sweeping line.
It will be readily seen by one of ordinary skill in the art that the present invention fulfills all of the objects set forth above. After reading the foregoing specification, one of ordinary skill will be able to affect various changes, substitutions of equivalents and various other aspects of the invention as broadly disclosed herein. It is therefore intended that the protection granted hereon be limited only by the definition contained in the appended claims and equivalents thereof.
For example, as depicted in
This application is related to each of the following applications: “Graphical Calculator User Interface for Function Drawing” (HP Docket No.: 200310007-1); “Input and Evaluation of Fractions Using a Calculator” (HP Docket No.: 200310009-1); “Previous Calculation Reuse in a Calculator” (HP Docket No.: 200310016-1); and “Graphical Calculator” (HP Docket No.: 200310014-1), each assigned to the present assignee, all of which are hereby incorporated by reference in their entirety, and all of which are being filed concurrently herewith.