Information processing device, display control method, and program
The information processing device facilitates understanding of three-variable functions through interactive three-dimensional graph visualization and solution processes, addressing the limitations of existing technologies in this area.
Patent Information
- Application Number
- JP2024046320
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-22
- Publication Date
- 2025-10-03
AI Technical Summary
Existing technologies lack the capability to effectively visualize and solve three-dimensional graphs corresponding to functions of three variables, hindering user understanding.
An information processing device and method that displays a three-dimensional graph and allows users to interact with it to identify and solve for solution target objects based on user operations, providing dynamic event handlers for various solution results.
Enhances user understanding of three-variable functions by enabling interactive visualization and solution processes on three-dimensional graphs.
Smart Images

Figure 2025145857000001_ABST
Abstract
Description
[Technical Field]
[0001] The disclosure of this specification relates to an information processing device, a display control method, and a program. [Background technology]
[0002] Patent Document 1 describes a graph function calculator equipped with a graph drawing function for drawing and displaying a two-dimensional graph according to a function formula. Patent Document 1 also describes a function for solving and displaying feature points of the two-dimensional graph. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2008-171384 Summary of the Invention [Problem to be solved by the invention]
[0004] Patent Document 1 has a function for solving feature points of a two-dimensional graph, but does not have a function for solving three-dimensional graphs corresponding to functions of three variables, making it difficult for users to deepen their understanding of functions of three variables.
[0005] In light of the above circumstances, an object of the present invention is to provide a mechanism for deepening understanding of functions of three variables expressed as three-dimensional graphs. [Means for solving the problem]
[0006] An information processing device according to one embodiment of the present invention is an information processing device having a control unit that displays information on a display unit, wherein the control unit displays a three-dimensional graph corresponding to a function of three variables on the display unit, and in response to a user operation on the three-dimensional graph, displays on the three-dimensional graph a solution target object that is identified based on three-dimensional coordinates on the three-dimensional graph specified by the user operation and is the subject of solution for the function of three variables, and displays the results of the solution for the solution target object on the display unit. [Effects of the Invention]
[0007] According to the above aspect, it is possible to provide a mechanism for deepening understanding of a three-variable function expressed as a three-dimensional graph. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a system according to an embodiment. [Figure 2] FIG. 10 is a diagram illustrating an example of a screen displayed on a terminal according to an embodiment. [Figure 3] FIG. 10 is a diagram illustrating another example of a screen displayed on the terminal according to an embodiment. [Figure 4] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 5] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a function is input. [Figure 6] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 7] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a mouse hover event on a sample point is detected. [Figure 8] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 9] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a mouse click event is detected at a sample point. [Figure 10] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 11] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a mouse down event on a sample point is detected. [Figure 12] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a right-click event is detected on a click point. [Figure 13] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 14] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a context menu click event is detected for a click point. [Figure 15] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 16] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a right-click event on an intersection line is detected. [Figure 17] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. [Figure 18] 10 is an example of a flowchart of a process performed by a terminal according to an embodiment when a context menu click event for an intersection line is detected. [Figure 19] FIG. 10 is a diagram illustrating yet another example of a screen displayed on a terminal according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] The system 1 shown in FIG. 1 includes a server 10 and a terminal 20 connected via a network such as the Internet. The server 10 is a computer with communication capabilities and includes a processor 11, a memory 12, a storage 13, and a communication device 14. The processor 11 includes, for example, a central processing unit (CPU). The processor 11 executes a program stored in the memory 12 or loaded from the storage 13 to the memory 12. The processor 11 may include any electrical circuit such as a graphics processing unit (GPU), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). The memory 12 may include, for example, any semiconductor memory. The memory 12 may include volatile memory such as random access memory (RAM), or non-volatile memory such as read-only memory (ROM), flash memory, or the like. The storage 13 includes, for example, a magnetic storage device, an optical storage device, or other types of storage device. The communication device 14 is, for example, a device including a communication circuit and may be a device compatible with wireless communication such as Wi-Fi or BLE, or may be a device compatible with wired communication.
[0010] The terminal 20 is an information processing device operated by a user of the system 1, and may be a personal computer, tablet terminal, smartphone, electronic dictionary terminal, mobile phone, e-book terminal, portable game console, or the like. The terminal 20 is a computer with communication capabilities, and may include, for example, a processor 21, a memory 22, a storage 23, a display device 24, an input device 25, and a communication device 26. The processor 21 may include, for example, a CPU (Central Processing Unit). The processor 21 executes programs stored in the memory 22 or loaded from the storage 23 to the memory 22, and programs (scripts) received from the server 10, thereby operating as a control unit that displays various information on the display device 24, which serves as a display unit. Like the processor 11, the processor 21 may also include any electrical circuit. The memory 22, the storage 23, and the communication device 26 are similar to the memory 12, the storage 13, and the communication device 14. The display device 24 is an example of a display unit, and may include, for example, a liquid crystal display, an organic electroluminescence (EL) display, or a CRT display. The input device 25 includes a keyboard, a mouse, a touch device, etc. The display device 24 and the input device 25 may, for example, form a touch panel display, or may be configured as an integrated unit. Furthermore, the display device 24 and the input device 25 may be provided in the same housing as the main body including the processor 21, etc., or may be configured as separate units from the main body.
[0011] System 1 configured as described above provides users of system 1 via terminal 20 with a drawing function for drawing a 3D graph and a solution function for solving the 3D graph in response to user operations. In the following description, terminal 20 primarily functions as a display control device that controls display information provided to users, and server 10 functions as a computing device that performs various computational processes related to solving the 3D graph in response to requests from terminal 20. However, the division of roles between server 10 and terminal 20 is not limited to this example. For example, terminal 20 alone may provide users with both the function for drawing a 3D graph and the function for solving the 3D graph. System 1 is, for example, a Web application system. Users of system 1 may access a Web application running on server 10 via a Web browser running on terminal 20 to use the drawing function and the solution function provided by system 1. However, system 1 is not limited to a Web application system. System 1 may provide users with the drawing function and the solution function by communication between a client application installed on terminal 20 and a server application running on server 10. Furthermore, when the terminal 20 provides both the drawing function and the solution-finding function, the server 10 may provide only the management function such as user management and data storage.
[0012] In the following, an example will be described in which the system 1 is a Web application system for an electronic notebook that records arbitrary information on a server 10 and provides a drawing function for drawing a three-dimensional (3D) graph and a solution function for the 3D graph on the electronic notebook (hereinafter simply referred to as the notebook). First, a user operates the terminal 20 to access a Web application running on the server 10, whereby the notebook is opened on the Web browser and displayed on the display device 24. Thereafter, when an operation to open a paper is performed to use the drawing function for drawing a 3D graph on the notebook, the system 1 displays a paper P on the display device 24 of the terminal 20. The system 1 monitors the user's operation on the paper P and performs processing according to the detected operation. When the system 1 detects a paper selection operation to select an empty portion of the paper P, the system 1 displays a menu 100 on the paper P on the display device 24, as shown in FIG. 2. The menu 100 includes multiple icons (icon 101, icon 102, icon 103, etc.). The icon 101 is used to instruct the user to create a text sticky note. Icon 102 is used to instruct the creation of a statistical data sticky note. Icon 103 is used to instruct the creation of a graph sticky note. Note that a sticky note is a display area whose layout can be freely changed by the user within paper P, and is information recorded on server 10. A sticky note is also called an electronic sticky note or a sticky.
[0013] When an operation on the icon 103 (an operation to select the sticky note icon) is detected, the system 1 creates a graph sticky note 110 in response to the operation and displays it on the display device 24 within the paper P. After that, when the system 1 detects an operation to select the graph sticky note 110, it displays multiple icons (icons 111, ...) within the graph sticky note 110 on the display device 24 as shown in FIG. 3. The icon 111 instructs the creation of a graph sticky note. When an operation on the icon 111 (an operation to select the sticky note icon) is detected, the system 1 displays a graph sticky note 120 on the display device 24 in a state linked to the graph sticky note 110 as shown in FIG. 4. When the user inputs an equation for a function of three variables into the graph sticky note 120, the processor 21 in the terminal 20 executes a program to perform the processing shown in FIG. 5. Specifically, the processor 21 acquires the formula of the three-variable function f(x, y, z)=0 input into the graphical sticky note 120 (step S1), and transmits the acquired formula of the three-variable function f(x, y, z)=0 to the server 10 to request sample points of the three-variable function f(x, y, z)=0 (step S2). The server 10, which has received the request, identifies multiple sample points, each of which is a combination of values of the three variables that satisfy the functional formula, and transmits a response including information on the identified multiple sample points to the terminal 20. In the terminal 20 that has received the response, the processor 21 acquires information on the sample points (step S3), and draws a 3D graph based on the acquired information on the sample points (step S4), thereby displaying the 3D graph corresponding to the three-variable function on the display device 24. FIG. 6 shows how the three-variable function “z=cos(x)·sin(y)” is input into the graphical sticky note 120 and how the 3D graph 112 is displayed in the graphical sticky note 110. 6, in step S4, processor 21 maps the sample points into a two-dimensional space, thereby displaying 3D graph 112 as a two-dimensional image on display device 24. In other words, the 3D graph is made up of a set of sample points corresponding to a function of three variables, and is a two-dimensional image when the sample points distributed in three-dimensional space are viewed from a specific direction (hereinafter referred to as the line of sight direction). Note that the line of sight direction may be changeable by a user operation.For example, by selecting and dragging the 3D graph 112, the processor 21 may rotate the 3D graph 112 to change the line of sight direction.
[0014] Thereafter, in response to various operations on the 3D graph 112 by the user, the terminal 20 displays, on the 3D graph 112, a solution-search target object for which a solution is to be obtained for a function of three variables, which object is specified based on three-dimensional coordinates on the 3D graph 112 specified by the user's operation, and also displays the result of the solution for the solution-search target object on the display device 24. Specifically, the operation is as follows. For example, when the user moves the cursor C on the 3D graph 112, a mouse hover event occurs at the sample point where the cursor C is located. When the processor 21 detects a mouse hover event for the sample point, it executes the processing shown in FIG. 7. In the processing shown in FIG. 7, the processor 21 first determines whether the selection flag is ON or not (step S11), and if the selection flag is not ON, displays the three-dimensional coordinates of the sample point where the cursor C is located (step S12). FIG. 8 shows a state in which a speech bubble 113 is displayed at a sample point where cursor C is placed, and the values of the three variables x, y, and z of the sample point, X (=22.2), Y (=1.05), and Z (=-0.5104795), that is, the three-dimensional coordinates, of the sample point are displayed in speech bubble 113. If there is no sample point at the position of cursor C, speech bubble 113 may be displayed for a sample point close to cursor C. If the selection flag is ON, processor 21 ends the processing shown in FIG. 7 without displaying the three-dimensional coordinates of the sample point. The selection flag will be described later.
[0015] When the user performs a click operation at any position on the 3D graph 112, a mouse click event occurs at the sample point where the cursor C is located. The mouse click event is an example of an event that occurs due to a user operation on the 3D graph 112. When the processor 21 detects a mouse click event at a sample point, it executes the processing shown in FIG. 9 in response to the detection of the event. In the processing shown in FIG. 9, the processor 21 first sets a selection flag to ON (step S21), acquires the three-dimensional coordinates of the sample point where the event occurred, and sets the coordinates as the click point (X, Y, Z) (step S22). The click point 114 is an example of an object identified based on the three-dimensional coordinates on the 3D graph 112 that are specified by a user operation, i.e., a mouse click, and is an example of a solution target object that is the target of solving a function of three variables. Thereafter, the processor 21 draws the click point 114 on the 3D graph 112 and sets an event handler for the click point 114 (step S23). In step S23, the processor 21 first displays, on the display device 24, a click point 114, which is an object identified based on three-dimensional coordinates on the 3D graph 112 specified by a user operation. The three-dimensional coordinates on the 3D graph 112 specified by a user operation are identified by the values of three variables corresponding to a sample point mapped to a position on the two-dimensional image selected by the user operation. When multiple sample points are mapped to a position on the two-dimensional image selected by a user operation, the processor 21 may identify the three-dimensional coordinates on the 3D graph 112 specified by the user operation by the values of three variables corresponding to a sample point selected from the multiple sample points mapped to that position according to a predetermined rule. The predetermined rule is not particularly limited, and may, for example, select the sample point closest to the user in the line of sight of the two-dimensional image from the multiple sample points. FIG. 10 shows the click point 114 rendered as a white circle. Furthermore, the processor 21 dynamically sets an event handler for the rendered click point 114.Specifically, processor 21 sets, for click point 114, an event handler that displays a context menu when an event generated when right-clicking click point 114 is detected, and an event handler that performs processing according to the clicked item when an event generated when an item in the context menu is clicked is detected. Items in the context menu include, for example, "Tangent Plane Equation" that displays a tangent plane equation, "Label Display" that displays labels showing three-dimensional coordinates in different display formats, and "Table Conversion" that displays three-dimensional coordinates in a table format. Regardless of which item is selected, the results of the solution (e.g., calculation of an equation, format conversion of coordinate values, etc.) for click point 114 (sample point) are displayed. In other words, the event handler that performs processing according to the clicked item is the event handler that displays the results of the solution for click point 114 (object).
[0016] The processor 21 further draws a curve f(X, y, z)=0 on the 3D graph 112 and sets an event handler for the curve f(X, y, z)=0 (step S24). In step S24, the processor 21 first causes the display device 24 to display the curve f(X, y, z)=0 on the 3D graph 112. The curve f(X, y, z)=0 is derived by substituting X (2.2 in this example), which is the variable value of x at the click point 114, for x of the function of three variables. The curve f(X, y, z)=0, like the click point 114, is an example of an object identified based on three-dimensional coordinates on the 3D graph 112 specified by a user operation, i.e., a mouse click, and is an example of a solution-target object that is the object for which a solution is to be obtained for the function of three variables. The curve f(X, y, z)=0 is an object that indicates a state in which the value of at least one of the three variables included in the function of three variables is fixed to a value indicated by the three-dimensional coordinates, and is an example of a solution-target object that is a line tangent to the three-dimensional coordinates. FIG. 10 shows an intersection line 115x representing a curve f(X, y, z)=0 drawn on the 3D graph 112. Furthermore, the processor 21 dynamically sets an event handler for the drawn intersection line 115x. Specifically, the processor 21 sets an event handler for the intersection line 115x that displays a context menu when an event generated when the intersection line 115x is right-clicked is detected, and an event handler that performs processing according to the clicked item when an event generated when an item in the context menu is clicked is detected. The items in the context menu include, for example, a "2D graph" that displays the intersection line as a 2D graph, an "intersection equation" that displays the equation (function formula) of the intersection line, and a "rotation around axis" that displays a rotated body created by rotating the intersection line around an axis (x-axis, y-axis, z-axis). Regardless of which item is selected, the result of solving (e.g., calculating an equation) for the intersection line 115x is displayed. That is, the event handler that performs processing according to the clicked item is the event handler that displays the result of the solution that targets the intersection line 115x (object).
[0017] The processor 21 further draws a curve f(x, Y, z)=0 on the 3D graph 112 and sets an event handler for the curve f(x, Y, z)=0 (step S25), and draws the curve f(x, y, Z)=0 on the 3D graph 112 and sets an event handler for the curve f(x, y, Z)=0 (step S26). The processes of step S25 and step S26 are similar to the process of step S24 except that the substituted variable value is Y or Z instead of X. FIG. 10 shows an intersection line 115y indicating the curve f(x, Y, z)=0 and an intersection line 115z indicating the curve f(x, y, Z)=0 drawn on the 3D graph 112. After drawing the object and dynamically setting the event handler for the object are completed, the processor 21 requests various solution-finding processes from the server 10 in order to obtain in advance the solution-finding results to be displayed when the event handler is executed (step S27). Upon receiving the request, the server 10 transmits a response including the solution results obtained by executing various solution-finding processes to the terminal 20. In the terminal 20 that has received the response, the processor 21 acquires the solution results and stores them in the memory 22 (step S28). In this manner, the processor 21 displays, on a three-dimensional graph, a plurality of solution-finding target objects (click point 114, intersection line 115x, intersection line 115y, intersection line 115z) that are specified based on the three-dimensional coordinates of the click point by clicking the mouse.
[0018] When the user performs a click operation at any position on the 3D graph 112, a mouse down event occurs before a mouse click event. When the processor 21 detects a mouse down event for a sample point, it executes the processing shown in FIG. 11 in response to the detection of the event. At the time of the first mouse click for the sample point, the processing shown in FIG. 9 corresponding to the mouse click event has never been executed, and the selection flag remains OFF (initial value). Therefore, the processor 21 determines that the selection flag is OFF (step S31 NO) and terminates the processing shown in FIG. 11. In contrast, at the time of the second or subsequent mouse click for the sample point, the processing shown in FIG. 9 has been executed at least once, and the selection flag is ON. Therefore, the processor 21 determines that the selection flag is ON (step S31 YES) and first acquires the three-dimensional coordinates of the sample point (step S32). Thereafter, the processor 21 determines whether the acquired three-dimensional coordinates of the sample point match the three-dimensional coordinates (X, Y, Z) of the click point set by the previous click operation (step S33). 11 without performing any additional processing if the three-dimensional coordinates do not match, but if the three-dimensional coordinates match, processor 21 deletes the click point and three curves (three intersecting lines) displayed on 3D graph 112 (step S34). As a result, the click point and three curves drawn by the previous click operation are not displayed, and only a new click point and three curves are drawn by a mouse click occurring following a mouse-down event.
[0019] When a click point 114 is displayed by clicking any position on the 3D graph 112 and the user selects the click point 114 and performs a right-click operation, a right-click event occurs. When the processor 21 detects a right-click event on the click point 114, it executes the event handler set in step S23 of FIG. 9 to perform the process shown in FIG. 12, specifically, the process of drawing a context menu (step S41). FIG. 13 shows a state in which the context menu 116 is displayed near the click point 114 in response to the right-click on the click point 114. The context menu 116 includes the items "Tangent plane equation," "Display label," and "Table conversion" as options.
[0020] When the user selects an item in the context menu 116 and clicks it while the context menu 116 is displayed, a click event occurs. When the processor 21 detects a click event on the context menu 116 at the click point 114, the processor 21 executes the event handler set in step S23 of FIG. 9 in response to the detection of the event, thereby performing the processing shown in FIG. 14. Specifically, the processor 21 first determines the selected item (step S51). If the selected item is "Tangent Plane Equation," the processor 21 creates a sticky note separate from the graph sticky note 110 on which the 3D graph 112 is drawn, and displays the function formula of the tangent plane equation in the new sticky note (step S52). The function formula of the tangent plane equation is read from the information previously acquired in step S28 of FIG. 9 and stored in the memory 22. If the selected item is "Label Display," the processor 21 creates a sticky note separate from the graph sticky note 110, and displays the three-dimensional coordinates corresponding to the click point in the new sticky note in a format different from the format displayed in the speech bubble 113 (step S53). The three-dimensional coordinates in the different format are read from information previously acquired in step S28 of FIG. 9 and stored in memory 22. Here, the three-dimensional coordinates displayed in speech bubble 113 are in decimal format, and the three-dimensional coordinates in the different format are in fractional format. If the selected item is "table conversion," processor 21 creates a sticky note separate from graph sticky note 110 and displays the three-dimensional coordinates corresponding to the clicked point in a table created within the newly created sticky note (step S54). FIG. 15 shows how a table sticky note 130, separate from graph sticky note 110, is displayed in response to clicking "table conversion." Graph sticky note 110 is an example of a first electronic sticky note, and table sticky note 130 is an example of a second electronic sticky note. Here, an example is shown in which the three-dimensional coordinates (x, y, z coordinate values of 2.2, 1.05, and z=cos(11 / 5)·sin(21 / 20)) in table sticky note 130 are displayed in fractional format. If a table sticky note has already been created, you can add 3D coordinates to the table sticky note. By repeatedly clicking on the 3D graph and converting the table, you can add 3D coordinates of multiple points to one table sticky note.The processing of steps S52 to S54 described above is an example of processing in which the processor 21 displays the result of a solution for the click point 114 on the display device 24 in response to the detection of an event generated by a user operation on the click point 114, and is an example of displaying the result of a solution for the click point 114, which is a solution-search target object designated in response to a user operation among a plurality of solution-search target objects displayed on the 3D graph 112, on the display device 24. More specifically, this is an example of displaying the result of executing a solution-search function designated in response to a user operation among a plurality of solution-search functions (tangent plane equation, label display, table conversion, etc.) for the click point 114, which is a solution-search target object designated in response to a user operation, on the display device 24.
[0021] When a click operation is performed at any position on the 3D graph 112, and the click point 114 and the intersection line are displayed, and the user selects the intersection line and performs a right-click operation, a right-click event occurs. When the processor 21 detects a right-click event on the intersection line, it executes the event handler set in steps S24 to S26 of FIG. 9 to perform the process shown in FIG. 16, specifically, the process of drawing a context menu (step S61). FIG. 17 shows a context menu 117 displayed near the intersection line 115y in response to a right-click on the intersection line 115y. The context menu 117 includes options such as "2D Graph," "Intersection Equation," and "Rotation Around an Axis." The options may also include "Table Conversion." Thus, it is sufficient that at least some of the solution-finding functions executable for the solution-finding object differ depending on the type of the solution-finding object (e.g., click point, intersection line, etc.). The following describes the process for the intersection line 115y, but the process is similar for the intersection lines 115x and 115z.
[0022] When the user selects an item in the context menu 117 and clicks on it while the context menu 117 is displayed, a click event occurs. When the processor 21 detects a click event on the context menu 117 of the intersection line 115y, the processor 21 executes the event handler set in step S25 of FIG. 9 in response to the detection of the event, thereby performing the processing shown in FIG. 18. Specifically, the processor 21 first determines the selected item (step S71). If the selected item is "2D graph," the processor 21 creates a sticky note separate from the graph sticky note 110 on which the 3D graph 112 is drawn, and draws the 2D graph of the intersection line 115y within the new sticky note (step S72). Information required for drawing the 2D graph is read from information previously acquired in step S28 of FIG. 9 and stored in the memory 22. If the selected item is "intersection equation," processor 21 creates a sticky note separate from graph sticky note 110 and displays within the new sticky note a function formula of the intersection equation between the three-variable function and the plane defined by the Y coordinate (Y=1.05) of click point 114 (step S73). The function formula of the intersection equation is read from information previously acquired in step S28 of FIG. 9 and stored in memory 22. If the selected item is "rotation around an axis," processor 21 creates a sticky note separate from graph sticky note 110 and draws within the new sticky note a body of revolution generated by rotating intersection line 115y 360 degrees around one of the x-axis, y-axis, and z-axis as the central axis (step S74). Note that the user may further select which axis around which the body of revolution will be displayed. Information necessary for drawing the body of revolution is read from information previously acquired in step S28 of FIG. 9 and stored in memory 22. Note that if the context menu 117 includes "Table Conversion" and the "Table Conversion" is selected, a table sticky note containing multiple coordinate values corresponding to the intersection line may be generated. FIG. 19 shows the state after "Intersection Equation" and "2D Graph" are clicked from the context menu 117. FIG. 19 also shows the state in which a graph sticky note 140 and a graph sticky note 150, which are different from the graph sticky note 110, are displayed. Here, an example is shown in which the graph sticky note 140 is associated with the graph sticky note 150, but the graph sticky note 140 may also be associated with the graph sticky note 110.The processing of steps S72 to S74 described above is an example of processing in which the processor 21 displays the result of the solution for the intersection line 115y on the display device 24 in response to the detection of an event that occurs due to a user operation on the intersection line 115y, and is an example of displaying the result of executing a solution function selected in response to a user operation from a selection menu consisting of options for solution functions corresponding to the type of object to be solved that is specified in response to a user operation, among multiple solution functions.
[0023] According to the system 1, the terminal 20 can provide a function for drawing a 3D graph and a function for solving an object on the 3D graph. In particular, a user operation on the 3D graph displays an object on the 3D graph, and a further user operation on the object displays a solution result for the object. As described above, the object may be a point (e.g., a sample point) or a line (e.g., an intersection line). The object may also be a surface (e.g., a tangent plane). That is, the object may be any spatial figure (including a point, a line, and a surface) displayed on the 3D graph. In other words, the user can obtain a solution result for an object freely selected by operating the 3D graph, and the user can deepen their understanding of a three-variable function visualized as a 3D graph through intuitive user operations.
[0024] Furthermore, while 3D graphs visualizing functions of three variables are displayed as two-dimensional images, creating a 3D graph as a set of sample points preserves three-dimensional information. Therefore, it is possible to reconstruct three-dimensional information from positions on a two-dimensional image identified by user operations on a 3D graph visualized as a two-dimensional image, and the three-dimensional information can be used to display objects and solve solutions for the objects. Even when multiple sample points are mapped to positions on a two-dimensional image, identifying the sample points according to a predetermined rule allows appropriate objects to be selected for display and solution results to be obtained. For example, by establishing a rule that prioritizes the selection of objects closer to the viewer's line of sight, the predictability of the selected object (e.g., sample point) is increased, and additional operations (e.g., additional clicks) enable the selection of objects located further back in the viewer's line of sight.
[0025] Furthermore, by dynamically setting event handlers for newly displayed objects in response to user operations on the 3D graph, it is possible to set just the right number of event handlers for the necessary objects. This avoids situations such as the execution of an event handler for an unintended object, thereby achieving high operability. Furthermore, by displaying various information (3D graphs, solution results) in electronic sticky notes created in Paper P, this information can be moved freely around the screen. Furthermore, by displaying the 3D graphs and solution results in separate electronic sticky notes, it is possible to prevent too much information from being concentrated on a single electronic sticky note. This not only makes it easier to grasp the information, but also simplifies management operations such as adding and deleting items.
[0026] The above-described embodiments are illustrative examples provided to facilitate understanding of the invention. The present invention is not limited to the above-described embodiments, and should be understood to encompass various modifications and alternative forms of the above-described embodiments. For example, it will be understood that the above-described embodiments can be embodied by modifying the components without departing from the spirit of the invention. It will also be understood that various embodiments can be implemented by appropriately combining multiple components disclosed in the above-described embodiments. Furthermore, it will be understood by those skilled in the art that various embodiments can be implemented by deleting some components from all of the components shown in the embodiments, or by adding some components to the components shown in the embodiments.
[0027] In the above-described embodiment, the user operation is described as an example of mouse operation, but the user operation is not limited to mouse operation. For example, if the terminal 20 has a touch panel display, such as a tablet terminal, the user operation may be various operations on the touch panel. In addition, in the above-described embodiment, an example is shown in which a 3D graph and the results of solving for an object on the 3D graph are displayed within an electronic sticky note, but the display location of the 3D graph and the results of solving are not limited to within the electronic sticky note. These functions may be provided in any application, not just an application related to the electronic sticky note. In the above-described embodiment, an example is shown in which a line tangent to the three-dimensional coordinates of a click point is displayed on a 3D graph as a solution-target object. However, a surface tangent to the three-dimensional coordinates of the click point (e.g., a tangent plane) may be displayed on the 3D graph as a solution-target object. [Explanation of symbols]
[0028] 20: terminal, 21: processor, 24: display device, 112: 3D graph, 114: click point, 115x, 115y, 115z: intersection line
Claims
1. An information processing device including a control unit that displays information on a display unit, The control unit displaying a three-dimensional graph corresponding to a three-variable function on the display unit; In response to a user operation on the three-dimensional graph, a solution-seeking object that is specified based on three-dimensional coordinates on the three-dimensional graph specified by the user operation and that is the object for which a solution is to be obtained regarding the function of three variables is displayed on the three-dimensional graph, and a result of the solution for the solution-seeking object is displayed on the display unit.
1. An information processing device comprising:
2. 2. The information processing device according to claim 1, The control unit An object showing a state in which the value of at least one of the three variables included in the three-variable function is fixed to the value indicated by the three-dimensional coordinates is displayed on the three-dimensional graph as the object to be solved.
1. An information processing device comprising:
3. 2. The information processing device according to claim 1, The control unit A line or a surface tangent to the three-dimensional coordinates is displayed on the three-dimensional graph as the object to be solved.
1. An information processing device comprising:
4. 4. The information processing device according to claim 1, The control unit displaying a plurality of the solution-finding target objects specified based on the three-dimensional coordinates on the three-dimensional graph; a display unit that displays a result of a solution for a solution-seeking object that is designated in response to a user operation among the plurality of solution-seeking objects displayed on the three-dimensional graph; 1. An information processing device comprising:
5. 5. The information processing device according to claim 4, The control unit A result of executing a solution-finding function designated in response to a user operation among a plurality of solution-finding functions for the solution-finding target object designated in response to a user operation is displayed on the display unit.
1. An information processing device comprising:
6. 6. The information processing device according to claim 5, the plurality of solution-finding functions executable on the solution-finding target object are at least partially different for each type of the solution-finding target object; The control unit displaying a selection menu consisting of options for solution-finding functions corresponding to the type of the object to be solved that is designated in response to a user operation from among the plurality of solution-finding functions, and displaying the results of executing the solution-finding function selected from the selection menu in response to the user operation on the display unit; 1. An information processing device comprising:
7. 2. The information processing device according to claim 1, the three-dimensional graph comprises a set of sample points corresponding to the three-variable function; The control unit displaying the three-dimensional graph as a two-dimensional image on the display unit by mapping the sample points into a two-dimensional space; The three-dimensional coordinates on the three-dimensional graph designated by the user operation are identified by the values of three variables corresponding to the sample points mapped to the positions on the two-dimensional image selected by the user operation.
1. An information processing device comprising:
8. 8. The information processing device according to claim 7, When a plurality of sample points are mapped to positions on the two-dimensional image selected by the user operation, the control unit selects one sample point from the plurality of sample points according to a predetermined rule and specifies the three-dimensional coordinates on the three-dimensional graph specified by the user operation by values of three variables corresponding to the selected sample point.
1. An information processing device comprising:
9. 2. The information processing device according to claim 1, The control unit dynamically setting an event handler for the object to be solved in response to detection of an event generated by a user operation on the three-dimensional graph, the event handler displaying a result of the solution for the object to be solved; Executing the event handler in response to detection of an event generated by a user operation on the object to be solved.
1. An information processing device comprising:
10. 2. The information processing device according to claim 1, The control unit displaying the three-dimensional graph and the object to be solved within a first electronic tag on the display unit; The result of the solution is displayed on the display unit in a second electronic sticky note different from the first electronic sticky note.
1. An information processing device comprising:
11. The computer A three-dimensional graph corresponding to a three-variable function is displayed on the display unit. In response to a user operation on the three-dimensional graph, a solution-seeking object that is specified based on three-dimensional coordinates on the three-dimensional graph specified by the user operation and that is the object for which a solution is to be obtained regarding the function of three variables is displayed on the three-dimensional graph, and a result of the solution for the solution-seeking object is displayed on the display unit. A display control method comprising:
12. On the computer, A three-dimensional graph corresponding to a three-variable function is displayed on the display unit. In response to a user operation on the three-dimensional graph, a solution-seeking object that is specified based on three-dimensional coordinates on the three-dimensional graph specified by the user operation and that is the object for which a solution is to be obtained regarding the function of three variables is displayed on the three-dimensional graph, and a result of the solution for the solution-seeking object is displayed on the display unit. A program characterized by executing a process.
Citation Information
Patent Citations
Graphic function calculation apparatus and control program thereof
JP2008171384A