Matrix operation support method, electronic device and program

By displaying a matrix on a display unit and controlling its components through intuitive gesture operations, the method addresses the challenge of performing advanced matrix manipulations, achieving efficient and user-friendly matrix component movements.

JP7670205B2Active Publication Date: 2025-04-30CASIO COMPUTER CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024091328
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-06-05
Publication Date
2025-04-30
Estimated Expiration
2041-12-10

AI Technical Summary

Technical Problem

Conventional electronic computing devices, applications, and web applications cannot intuitively perform advanced movements of matrix components, such as rotational movement, cyclic shift, transposition, etc., that change the arrangement of multiple components within a matrix at once.

Method used

The method involves displaying a matrix on a display unit and controlling the arrangement of its components based on gesture operations. Specifically, the system detects gestures as transpose operations, rotational movements, cyclic shifts, and transposition operations, allowing for intuitive manipulation of matrix components.

Benefits of technology

This approach enables highly intuitive and efficient performance of advanced matrix component movements, allowing users to quickly and easily rotate, shift, and transpose matrix components without the need for complex icon or menu operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007670205000001
    Figure 0007670205000001
  • Figure 0007670205000002
    Figure 0007670205000002
  • Figure 0007670205000003
    Figure 0007670205000003
Patent Text Reader

Abstract

To provide a matrix operation method, an electronic device, and a program configured so that matrix components can be moved at a high level by an intuitive operation.SOLUTION: A control unit of an electronic device includes: control processing to display a matrix on a display unit, the matrix being an array of a plurality of components, and change the arrangement of the plurality of components in the matrix according to gesture operation on the matrix displayed on the display unit; and detection processing to detect a touch position on the display unit, and determine that the gesture operation is started when the touched position is within a preset effective range to start the gesture operation on the matrix when touched in. When the gesture operation shows a sliding operation from an arrangement position P1 of a first component to an arrangement position P2 of a second component, for a row R11 of the matrix in which the first component, the second component and a third component are arranged in this order, the control unit circularly shifts the components in the row R11 so that the first component and the second component may shift in the same direction.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention is a matrix operation support The present invention relates to a method, an electronic device and a program. [Background technology]

[0002] 2. Description of the Related Art Conventionally, some electronic calculators have a matrix calculation function for inputting a matrix and performing calculations in addition to the usual four arithmetic calculation functions.

[0003] Also, devices capable of performing basic transformations of matrices (row operations and column operations) are known. For example, Patent Document 1 proposes a device that displays a matrix together with a list of row operation functions related to the matrix, and allows a user to select an equation or input a value required to execute a touched row operation function from the list, thereby performing row operations.

[0004] In recent years, there have also been scientific calculator web applications and scientific calculator applications that run on touch-enabled devices. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-243015 Summary of the Invention [Problem to be solved by the invention]

[0006] However, conventional electronic computing devices, applications, and web applications do not allow intuitive operations to be performed on advanced matrix element movements (e.g., rotation, circular shift, transposition, etc.) that change the arrangement of multiple elements in a matrix at once.

[0007] The present invention has been made in consideration of the above problems, and has as its object to enable advanced movement of matrix elements through intuitive operations. [Means for solving the problem]

[0008] In order to solve the above problems, the present invention relating to matrix operations support The method comprises computer-implemented matrix operations support A method, comprising: a control process for displaying a matrix in which a plurality of components are arranged on a display unit; and changing the arrangement of the plurality of components based on a gesture operation on the matrix displayed on the display unit. The control process includes: The gesture operation is detected as a transposition operation that indicates a conversion from the matrix to a transposed matrix in which elements are swapped between rows and columns in the matrix. In this case, The shape of the parentheses enclosing the plurality of components is temporarily tilted in a predetermined direction. , characterized by: Also , the present invention relating to The electronic device displays a matrix in which a plurality of components are arranged on a display unit, and changes the arrangement of the plurality of components based on a gesture operation on the matrix displayed on the display unit. A control unit is provided, the control unit The gesture operation is detected as a transposition operation that indicates a conversion from the matrix to a transposed matrix in which elements are swapped between rows and columns in the matrix. In this case, Temporarily tilting the shape of the parentheses enclosing the plurality of components in a predetermined direction; It is characterized by: Also , the present invention relating to The program causes a computer to display a matrix in which a plurality of components are arranged on a display unit, and changes the arrangement of the plurality of components based on a gesture operation on the matrix displayed on the display unit. The control means functions as a control means, The gesture operation is detected as a transposition operation that indicates a conversion from the matrix to a transposed matrix in which elements are swapped between rows and columns in the matrix. In this case, Temporarily tilting the shape of the parentheses enclosing the plurality of components in a predetermined direction; It is characterized by do. [Effects of the Invention]

[0009] According to the present invention, it is possible to perform advanced movement of matrix elements with intuitive operations. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a block diagram showing a functional configuration of an electronic device according to the present invention; [Figure 2] FIG. 10 is a diagram illustrating a rotation operation. [Figure 3] This is a diagram showing an example of a 2x3 matrix rotated 90° clockwise. [Figure 4] FIG. 10 is a diagram illustrating a circular shift operation of rows. [Figure 5] FIG. 10 is a diagram illustrating a circular shift operation of a column. [Figure 6] FIG. 1 is a diagram illustrating a transposition operation. [Figure 7] 10 is a flowchart showing the flow of a matrix manipulation process executed by the control unit in FIG. [Figure 8] 10 is a flowchart showing the flow of a row circular shift process executed by the control unit in FIG. [Figure 9] 10 is a flowchart showing the flow of a column cyclic shift process executed by the control unit in FIG. [Figure 10] 2 is a flowchart showing the flow of a transposition process executed by the control unit of FIG. 1. [Figure 11] 2 is a flowchart showing the flow of a rotation process executed by the control unit in FIG. 1. [Figure 12] 1 is a diagram showing an aspect in which an electronic device is connected to a web server via a communication network such as the Internet. [Figure 13] FIG. 13 is a block diagram showing the functional configuration of the Web server of FIG. 12. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are subject to various limitations that are technically preferable for implementing the present invention. Therefore, the technical scope of the present invention is not limited to the following embodiments and illustrated examples.

[0012] [Configuration of electronic device 100] First, the configuration of electronic device 100 according to the present invention will be described. 1 is a block diagram showing the functional configuration of an electronic device 100 according to this embodiment. The electronic device 100 may be configured, for example, as a tablet terminal, a smartphone, a PC (Personal Computer), or the like, equipped with a scientific calculator application (referred to as a scientific calculator app) 121, or may be configured as a device dedicated to calculations, and its form is not particularly limited.

[0013] As shown in FIG. 1, the electronic device 100 includes a control unit 11, a storage unit 12, an operation unit 13, a display unit 14, a communication unit 15, etc., and each unit is connected by a bus 16.

[0014] The control unit 11 is configured to include a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), etc. The CPU of the control unit 11 reads out programs and data stored in the ROM and the storage unit 12, and performs various processes using the RAM as a work area, thereby centrally controlling each unit of the electronic device 100.

[0015] The storage unit 12 is configured by a non-volatile semiconductor memory, a hard disk, etc., and stores various programs and data used by the programs. In this embodiment, the storage unit 12 stores a scientific calculator application 121. The scientific calculator application 121 is an application program that causes the control unit 11 to execute various processes relating to calculations, including a matrix manipulation process, which will be described later.

[0016] The operation unit 13 includes a touch panel 131 formed by being superimposed on the screen of the display unit 14. The operation unit 13 may further include various operation buttons, and detects operations on the operation buttons and operations on the screen of the display unit 14, and outputs the operation information to the control unit 11.

[0017] The display unit 14 is configured with an LCD (Liquid Crystal Display), an EL (Electro Luminescence) display, or the like, and performs various displays according to display information instructed by the control unit 11.

[0018] The communication unit 15 performs communication control for communicating with external devices via a communication network such as a LAN (Local Area Network) or the Internet.

[0019] [Operation of the electronic device 100] Next, the operation of the electronic device 100 will be described. In the electronic device 100, when the operation unit 13 detects an operation to start the scientific calculator application 121, the control unit 11 starts the scientific calculator application 121 and executes the following process in cooperation with the scientific calculator application 121.

[0020] For example, when scientific calculator application 121 is launched, control unit 11 causes an input screen to be displayed on display unit 14. When an instruction to input a matrix is ​​detected by touch panel 131 and each element of the matrix is ​​input, control unit 11 causes display unit 14 to display the matrix. When touch panel 131 detects input of an arithmetic expression including a matrix and an instruction to execute the expression is given, control unit 11 performs arithmetic processing based on the input and causes display unit 14 to display the arithmetic result. Here, a matrix refers to an arrangement of multiple components (elements).

[0021] In the electronic device 100 of this embodiment, the arrangement of multiple elements in a matrix displayed on the display unit 14 can be changed at once by a gesture operation on the matrix. For example, the elements of the matrix can be rotated, circularly shifted, transposed, etc. by a gesture operation on the matrix. A gesture operation for rotating and moving the position of each element of a matrix is ​​called a rotation operation. A gesture operation for circularly shifting elements of any row or column of a matrix is ​​called a circular shift operation. A gesture operation for transposing and exchanging elements of a row and column of a matrix is ​​called a transposition operation.

[0022] (Rotation operation) For example, when a matrix is ​​displayed on the display unit 14, the control unit 11 sets an effective range R1 for starting a rotation operation on the matrix around the displayed matrix, as shown in Fig. 2. In this embodiment, a predetermined range around the matrix (excluding the matrix itself), for example, a range extending from the periphery of the matrix (for example, a rectangle formed by line segments connecting the top right, top left, bottom left, and bottom right points of the matrix components including parentheses) to a point separated by an inter-element distance (the row-to-row distance dRow or the column-to-column distance dCol shown in Figs. 4 and 5) is set as the effective range R1 for starting a rotation operation. In addition, the center point of the displayed matrix is ​​set as a matrix center point P0. In one embodiment, an area excluding an effective range for starting a transposition operation (described later) from the predetermined range around the matrix (excluding the matrix itself) may be set as the effective range for starting a rotation operation.

[0023] When touch panel 131 detects that a touch has been made within effective range R1 for starting a rotation operation (touch-in), control unit 11 acquires the touch position (coordinates) as gesture starting point P1.

[0024] When the touch panel 131 detects that the user has rotated and slid their finger (touch position) clockwise or counterclockwise from the gesture start point P1 around the matrix center point P0, the control unit 11 acquires the rotation angle up to the current time (counterclockwise is positive, and clockwise is negative), and displays the entire matrix to be operated after being rotated by a predetermined angle according to the rotation angle, as shown in FIG. 2. This allows the user to easily grasp the angle by which the touch position has been rotated. Note that each time the touch position is rotated by a predetermined angle or more (for example, every time the touch position is rotated by 45°, 135°, 225°, 315°, or more), the position of each element of the matrix may also be rotated by a predetermined angle (for example, 90°), and the user may be able to recognize how much each element of the matrix will rotate with the current rotation operation.

[0025] When touch panel 131 detects that the user has removed their finger from the screen and touched out (released their touch), control unit 11 acquires the position (coordinates) of the touched-out as gesture end point P2, and acquires the angle formed by gesture start point P1, matrix center point P0, and gesture end point P2 as rotation angle θ (counterclockwise is positive, clockwise is negative). Then, control unit 11 rotates and moves the position of each element of the matrix to be operated by a predetermined angle based on rotation angle θ, as shown in FIG. 2, and displays the result on display unit 14.

[0026] For example, the control unit 11 rotates and moves each element of the matrix in the following manner according to the rotation angle θ. 0°<θ≦45°: No rotation 45°<θ≦135°: Rotate 90° counterclockwise 135°<θ≦225°: Rotate 180° counterclockwise 225°<θ≦315°: Rotate counterclockwise 270° 315°<θ≦360°: 360° counterclockwise rotation (i.e., no rotation) 0°<θ≦-45°: No rotation -45°<θ≦-135°: Rotate 90° clockwise -135°<θ≦-225°: Rotate 180° clockwise -225°<θ≦-315°: Rotate 270° clockwise -315°<θ≦-360°: Rotate 360° clockwise (i.e., no rotation) If θ is greater than 360°, the rotation is the same as if the remainder of θ divided by 360 is θ. If θ is less than -360°, the rotation is the same as if the remainder of -θ divided by 360 is x -1.

[0027] Figure 3 shows an example of a matrix that is drawn on the display unit 14 when a user touches in within the effective range for starting a rotation operation of a 2-row, 3-column matrix, rotates the touch position clockwise by 90°, and then touches out to perform a rotation operation.

[0028] In this way, the rotation operation involves touching the periphery of the matrix and swiping in the rotation direction around the matrix center point P0, which is a gesture operation that allows the positions of multiple elements in the matrix to be rotated in a single operation.This means that matrix elements can be rotated quickly and intuitively without having to operate icons, function buttons, menus, etc.

[0029] (Circular shift operation) For example, when a matrix is ​​displayed on the display unit 14, the control unit 11 sets the effective range for starting the circular shift operation for each row and each column within the displayed matrix (for example, R11 to R16 in the examples shown in FIGS. 4 and 5), as shown by the dotted lines in FIGS. 4 and 5. In this embodiment, a circular shift of rows in a matrix refers to shifting the elements of a certain row in the matrix horizontally (right or left) and moving the overflowing elements to the vacant space. For example, if the elements of a certain row are (1, 2, 3), when the row is circularly shifted to the right by one position, the elements of the row become (3, 1, 2). When the row is circularly shifted to the right by two positions, the elements of the row become (2, 3, 1). Furthermore, a circular shift of a column in a matrix refers to shifting the elements of a certain column in the matrix vertically (up or down) and moving the overflowing elements into the empty space. For example, if the elements of a certain column are (1, 2, 3) from top to bottom, when the column is circularly shifted down by one position, the elements of the column become (3, 1, 2) from top to bottom. When the column is circularly shifted down by two positions, the elements of the column become (2, 3, 1) from top to bottom. In this embodiment, the area surrounding the elements of each row in the matrix (e.g., R11 to R13 in FIG. 4) is set as the effective range for starting the circular shift operation for each row. For example, the outer periphery of the effective range for starting the circular shift operation for each row is set to surround the elements of each row and be inside the area enclosed by parentheses of the matrix so as not to overlap with the effective ranges of other rows. For example, the outer periphery of the effective range for the part between the first and second rows is inside 1 / 2dRow. Furthermore, the area surrounding the elements of each column in the matrix (e.g., R14 to R16 in FIG. 5) is set as the effective range for starting the circular shift operation for each column. For example, the outer periphery of the effective range for starting the circular shift operation for each column is set to surround the elements of each column and be inside the area enclosed by parentheses of the matrix so as not to overlap with the effective ranges of other columns. For example, the outer periphery of the effective range for the part between the first and second columns is inside 1 / 2dCol. In one embodiment, the effective range from which the circular shift operation begins is a rectangular range.

[0030] When touch panel 131 detects that the user has touched within the valid range for starting a circular shift operation on any row or column, control unit 11 acquires the touch position (coordinates) of the touch as gesture start point P1. 4, when the touch panel 131 detects that a finger (touch position) has been slid (moved) in the horizontal direction from the gesture start point P1, the control unit 11 acquires the horizontal sliding distance (horizontal sliding distance sRow) and the sliding direction (right or left), and circularly shifts the elements of the row that has been slid horizontally in the matrix to be operated, which is displayed on the display unit 14, according to the horizontal sliding distance sRow and the sliding direction, and displays them on the display unit 14. This allows the user to easily understand how circular shifting of rows is performed by horizontal sliding of the current touch position.

[0031] When the touch panel 131 detects that the user has removed their finger from the screen and touched out, the control unit 11 acquires the position (coordinates) of the touched-out as the gesture end point P2. Then, according to the horizontal slide distance sRow between the gesture start point P1 and the gesture end point P2 and the slide direction, as shown in Fig. 4, the components of the row of the matrix to be operated that has been operated by the horizontal slide operation are circularly shifted by a predetermined shift amount in a predetermined direction and displayed on the display unit 14.

[0032] For example, the control unit 11 circularly shifts each component of the operated row of the matrix to be operated according to the horizontal slide distance sRow and the slide direction as follows: Here, the distance between columns of the matrix components is dCol, and the number of columns of the matrix is ​​N. Whether to slide to the right or left is determined by the slide direction of the touch position. 0 <sRow<0.5*dCol :スライドしない 0.5*dCol≦sRow<1.5*dCol: Slide one column to the right or left 1.5*dCol≦sRow<2.5*dCol: Slide two columns to the right or left ... (n-0.5)*dCol ≦sRow < (n+0.5)*dCol: Slide n columns to the right or left ... (N-1.5)*dCol≦sRow<(N-0.5)*dCol: Slides N-1 columns to the right or left (N-0.5)*dCol≦sRow: Slide N-1 columns to the right or left (up to a maximum of N-1 columns)

[0033] 5, when the touch panel 131 detects that the finger (touch position) has been slid (moved) in the vertical direction from the gesture start point P1, the control unit 11 acquires the vertical sliding distance (vertical sliding distance sCol) and the sliding direction (up or down), and circularly shifts the components of the column that has been vertically slid in the matrix to be operated, which is displayed on the display unit 14, according to the vertical sliding distance sCol and the sliding direction, and displays them on the display unit 14. This allows the user to easily understand how the circular shift of the columns is performed by vertically sliding the current touch position.

[0034] When the touch panel 131 detects that the user has removed their finger from the screen and performed a touch-out, the control unit 11 acquires the position (coordinates) of the touch-out as the gesture end point P2. Then, according to the vertical slide distance sCol between the gesture start point P1 and the gesture end point P2 and the slide direction, the components of the column of the matrix to be operated that has been slid vertically are circularly shifted by a predetermined shift amount in a predetermined direction and displayed on the display unit 14.

[0035] For example, the control unit 11 cyclically shifts the components of the operated column of the matrix to be operated according to the vertical slide distance sCol as follows: Here, the distance between the rows of the matrix components is dRow, and the number of rows of the matrix is ​​M. Whether to slide up or down is determined by the slide direction. 0 <sCol<0.5*dRow :スライドしない 0.5*dRow≦sCol<1.5*dRow: Slide one row up or down 1.5*dRow≦sCol<2.5*dRow: Slide two rows up or down ... (m-0.5)*dRow ≦sCol < (m+0.5)*dRow: Slide m rows up or down ... (M-1.5)*dRow≦sCol<(M-0.5)*dRow: Slide M-1 rows up or down (M-0.5)*dRow≦sCol: Slide M-1 rows up or down (up to a maximum of M-1 rows)

[0036] In this way, the circular shift operation allows the positions of multiple elements in a matrix to be circularly shifted with a single gesture operation of touching the row or column in the matrix that you want to circularly shift and swiping horizontally or vertically.Therefore, you can quickly and intuitively circularly shift matrix elements without having to operate icons, function buttons, menus, etc.

[0037] (Transposition operation) For example, when a matrix is ​​displayed on the display unit 14, the control unit 11 sets, for example, regions R21 and R22 (triangular regions outside the matrix in this embodiment) of a predetermined size located at the upper right and lower left of the displayed matrix as the valid range for starting a transposition operation on the matrix, as shown in Fig. 6. Also, the diagonal of the matrix (a line segment passing through the diagonal elements; in this embodiment, a line segment connecting the upper left and lower right of the matrix) is set as the transposition boundary line L1. For example, in this embodiment, the regions R21 and R22 are adjacent to the upper right and lower left corners of the matrix brackets. In one embodiment, the regions R21 and R22 may be adjacent to the corner elements of the matrix. In this embodiment, the region R21 (or the region R22) is a triangle whose base is a straight line that passes through the upper right (or lower left) corner of the matrix brackets and is approximately parallel to the transposition boundary line L1. For example, when the length of each side of the triangle is t, t is expressed as follows: 0.5*dCol≦t<1*dCol In this embodiment, the sizes of the regions R21 and R22 are smaller than the size of the matrix (visual size on display) and the size of the effective range R1, and the regions R21 and R22 are set inside the outer periphery of the effective range R1. In one embodiment, the regions R21 and R22 may be located at the upper left and lower right corners of the displayed matrix. For example, they may be adjacent to the upper left and lower right corners of the matrix brackets, or adjacent to the elements at the upper left and lower right corners. In this case, the transposition boundary line L1 may be a line segment connecting the upper right and lower left corners of the matrix.

[0038] When touch panel 131 detects a touch-in within effective range R21 or R22 for starting a transposition operation, control unit 11 acquires the touch position (coordinates) of the touch as gesture starting point P1. When the touch panel 131 detects that the user has slid their finger (touch position) diagonally from the gesture start point P1 in the upper right corner, the control unit 11 determines whether the touch position after the movement has crossed the transposition boundary line L1, and if it determines that the touch position has crossed the transposition boundary line L1, the control unit 11 changes the shape of the entire matrix of the operation target displayed on the display unit 14. For example, as shown in FIG. 6, when the touch position after the movement has crossed the transposition boundary line L1, the entire matrix is ​​deformed diagonally (into a parallelogram shape) so that the user can recognize that the touch position has crossed the transposition boundary line L1. This allows the user to easily know whether the touch position has crossed the transposition boundary line L1.

[0039] When the touch panel 131 detects that the user has removed their finger from the screen and performed a touch-out, the control unit 11 acquires the position (coordinates) of the touch-out as the gesture end point P2, and determines whether the touch position has moved beyond (across) the transposition boundary line L1 based on the coordinates of the gesture start point P1 and the gesture end point P2. If it is determined that the touch position has moved beyond the transposition boundary line L1, the control unit 11 creates a transposed matrix by swapping the row components and column components of the matrix to be operated on, and displays the transposed matrix on the display unit 14. Specifically, the (i, j) component and the (i, j) component are swapped.

[0040] In this way, the transposition operation involves touching the top right or bottom left corner of the matrix and swiping diagonally until it crosses the transposition boundary line L1, which allows the positions of multiple elements in the matrix to be transposed in a single operation. This means that matrix elements can be transposed quickly and intuitively, without having to operate icons, function buttons, menus, etc.

[0041] (Matrix manipulation processing) 7 is a flowchart showing the flow of matrix manipulation processing executed by control unit 11 when a touch (touch-in) is detected on touch panel 131 while a matrix is ​​being displayed on display unit 14. The matrix manipulation processing is executed by control unit 11 in cooperation with scientific calculator application 121 stored in storage unit 12.

[0042] First, the control unit 11 determines whether or not the touch position where a touch (touch-in) is detected by the touch panel 131 is within the effective range for starting a gesture operation on a matrix (step S1). The valid range for starting a gesture operation includes the valid ranges for a rotation operation, a circular shift operation, and a transposition operation.

[0043] When it is determined that the touch position is within the valid range for starting a gesture operation on a matrix (step S1; YES), the control unit 11 stores the coordinates of the touch position in the RAM as the gesture starting point (step S2).

[0044] Next, control unit 11 determines whether gesture start point P1 is within the area of ​​the matrix displayed on display unit 14 (step S3). If it is determined that the gesture starting point P1 is within the area of ​​the matrix displayed on the display unit 14 (step S3; YES), the control unit 11 determines whether or not a slide (movement) of the touch position is detected by the touch panel 131 (step S4). When it is determined that the sliding of the touch position has not been detected (step S4; NO), the control unit 11 determines whether or not a touch-out has been detected by the touch panel 131 (step S7). When it is determined that touch-out has not been detected (step S7; NO), the control unit 11 returns to step S4. If it is determined that touch-out has been detected (step S7; YES), the control unit 11 ends the matrix operation process.

[0045] On the other hand, when it is determined that the touch panel 131 has detected a slide (movement) of the touch position (step S4; YES), the control unit 11 determines whether the slide direction is horizontal or not (step S5). If it is determined that the slide direction is horizontal (step S5; YES), the control unit 11 executes a circular shift process of the rows (step S6).

[0046] Fig. 8 is a flowchart showing the flow of the circular shift process of rows executed in step S6 of Fig. 7. The circular shift process of rows is executed by the control unit 11 and the scientific calculator application 121 in cooperation with each other.

[0047] In the row circular shift process, the control unit 11 calculates the distance by which the touch position has been slid horizontally (horizontal slide distance sRow) and the slide direction (right or left) (step S61), and based on the horizontal slide distance sRow and the slide direction, circularly shifts the components of the row to be operated in the matrix to be operated displayed on the display unit 14 by a predetermined shift amount in a predetermined direction and displays them on the display unit 14 (step S62). As already described, the direction and amount of circular shift of the components of the row being operated on is determined based on the slide distance sRow and the slide direction.

[0048] Next, the control unit 11 determines whether or not a touch-out has been detected by the touch panel 131 (step S63). When it is determined that touch-out has not been detected by the touch panel 131 (step S63; NO), the control unit 11 determines whether or not sliding of the touch position has been detected by the touch panel 131 (step S64). If it is determined that sliding of the touch position has been detected (step S64; YES), the control unit 11 returns to step S61. If it is determined that the sliding of the touch position has not been detected (step S64; NO), the control unit 11 returns to step S63.

[0049] On the other hand, if it is determined that touch-out has been detected by the touch panel 131 (step S63; YES), the control unit 11 acquires the coordinates of the touch-out position as the gesture end point P2, and calculates the horizontal slide distance sRow and the slide direction between the gesture start point P1 and the gesture end point P2 (step S65). Then, based on the horizontal slide distance sRow and the slide direction, the control unit 11 circularly shifts the components of the row of the matrix to be operated that is displayed on the display unit 14 in a predetermined direction by a predetermined shift amount, and displays the shifted components on the display unit 14 (step S66), and ends the matrix operation process. As already described, the direction and amount of circular shift of the components of the row being operated on is determined based on the slide distance sRow and the slide direction. If the matrix to be operated on is a matrix included in the calculation formula, the control unit 11 further recalculates the calculation formula using the matrix after the circular shift, and causes the display unit 14 to display the recalculation result.

[0050] 7, if it is determined that the sliding direction of the touch position is not horizontal (step S5; NO), it is determined whether the sliding direction of the touch position is vertical (step S8).If it is determined that the sliding direction of the touch position is vertical (step S8; YES), the control unit 11 executes a circular shift process of the column (step S9). When it is determined that the sliding direction of the touch position is not vertical (step S8; NO), the control unit 11 ends the matrix operation process.

[0051] Fig. 9 is a flowchart showing the flow of the circular shift process of columns executed in step S9 of Fig. 7. The circular shift process of rows is executed by the control unit 11 and the scientific calculator application 121 in cooperation with each other.

[0052] In the column circular shift process, the control unit 11 calculates the distance by which the touch position has been slid vertically (vertical slide distance sCol) and the slide direction (up or down) (step S91), and based on the vertical slide distance sCol and the slide direction, circularly shifts the components of the column to be operated in the matrix to be operated displayed on the display unit 14 by a predetermined shift amount in a predetermined direction, and displays the result on the display unit 14 (step S92). As already described, the direction and amount of circular shift of the components of the column being operated on is determined based on the vertical slide distance sCol and the slide direction.

[0053] Next, the control unit 11 determines whether or not a touch-out has been detected by the touch panel 131 (step S93). When it is determined that touch-out has not been detected by the touch panel 131 (step S93; NO), the control unit 11 determines whether or not sliding of the touch position has been detected by the touch panel 131 (step S94). If it is determined that sliding of the touch position has been detected (step S94; YES), the control unit 11 returns to step S91. When it is determined that the sliding of the touch position has not been detected (step S94; NO), the control unit 11 returns to step S93.

[0054] On the other hand, if it is determined that touch-out has been detected by the touch panel 131 (step S93; YES), the control unit 11 acquires the coordinates of the touch-out position as the gesture end point P2, and calculates the vertical slide distance sCol and the slide direction between the gesture start point P1 and the gesture end point P2 (step S95). Then, based on the vertical slide distance sCol and the slide direction, the control unit 11 circularly shifts the components of the column to be operated in the matrix to be operated displayed on the display unit 14 by a predetermined shift amount in a predetermined direction, and finalizes the display (step S96), and ends the matrix operation process. As already described, the direction and amount of circular shift of the components of the column being operated on is determined based on the vertical slide distance sCol and the slide direction. If the matrix to be operated on is a matrix included in the calculation formula, the control unit 11 further recalculates the calculation formula using the matrix after the circular shift, and causes the display unit 14 to display the recalculation result.

[0055] In step S3 of FIG. 7, when it is determined that the gesture starting point P1 is not within the area of ​​the matrix displayed on the display unit 14 (step S3; NO), the control unit 11 determines whether the gesture starting point P1 is within the effective range of the transposition operation set in the upper right or lower left of the matrix (R21 or R22 in FIG. 6) (step S10). In one embodiment, the effective range of the transposition operation may be set to the upper left or lower right of the matrix. In this case, in step S10, the control unit 11 determines whether the gesture starting point P1 is within the effective range of the transposition operation set to the upper left or lower right of the matrix. When it is determined that the gesture start point P1 is within the valid range of the transposition operation (step S10; YES), the control unit 11 determines whether or not the touch panel 131 has detected a slide of the touch position (step S11). When it is determined that the touch panel 131 has not detected a slide of the touch position (step S11; NO), the control unit 11 determines whether or not the touch panel 131 has detected a touch-out (step S14). When it is determined that touch-out has not been detected (step S14; NO), the control unit 11 returns to step S11. When it is determined that touch-out has been detected (step S14; YES), the control unit 11 ends the matrix operation process.

[0056] On the other hand, when it is determined that the touch panel 131 has detected the sliding of the touch position (step S11; YES), the control unit 11 determines whether the sliding direction of the touch position is an oblique direction (step S12). When it is determined that the sliding direction of the touch position is diagonal (step S12; YES), the control unit 11 executes a transposition process (step S13). When it is determined that the sliding direction of the touch position is not diagonal (step S12; NO), the control unit 11 ends the matrix operation process.

[0057] Fig. 10 is a flowchart showing the flow of the transposition process executed in step S13 of Fig. 7. The transposition process is executed by the control unit 11 and the scientific calculator application 121 in cooperation with each other.

[0058] In the transposition process, the control unit 11 determines whether the touch position after the slide has crossed the transposition boundary line L1 (step S131), and causes the display unit 14 to display the matrix to be operated in a shape according to the determination result (step S132). 6, if the touch position after sliding crosses the transposition boundary line L1, the entire matrix is ​​deformed diagonally (into a parallelogram shape) so that the user can recognize that it has crossed the transposition boundary line L1, and is displayed on the display unit 14. If the touch position after sliding does not cross the transposition boundary line L1, the matrix is ​​displayed on the display unit 14 without changing its shape so that the user can recognize that it has not crossed the transposition boundary line L1.

[0059] Next, the control unit 11 determines whether or not a touch-out has been detected by the touch panel 131 (step S133). When it is determined that touch-out has not been detected by the touch panel 131 (step S133; NO), the control unit 11 determines whether or not sliding of the touch position has been detected by the touch panel 131 (step S134). If it is determined that sliding of the touch position has been detected (step S134; YES), the control unit 11 returns to step S131. If it is determined that the sliding of the touch position has not been detected (step S134; NO), the control unit 11 returns to step S133.

[0060] On the other hand, if it is determined that touch-out has been detected by the touch panel 131 (step S133; YES), the control unit 11 acquires the coordinates of the touch-out position as the gesture end point P2, and determines whether the touch position has crossed the transposed boundary line L1 from the coordinates of the gesture start point P1 and the gesture end point P2 (step S135).

[0061] When it is determined that the touch position does not cross the transposition boundary line L1 (step S135; NO), the control unit 11 causes the display unit 14 to display the matrix before the transposition operation (step S137), and ends the transposition process. If it is determined that the touch position has crossed the transposition boundary line L1 (step S135; YES), the control unit 11 generates a transposed matrix by swapping the row components and column components of the matrix to be operated, and displays the transposed matrix on the display unit 14 (step S136), and then terminates the transposition process. If the matrix to be manipulated is a matrix included in the calculation formula, the control unit 11 further performs recalculation of the calculation formula using the transposed matrix, and causes the display unit 14 to display the recalculation result.

[0062] On the other hand, in step S10 of FIG. 7, if it is determined that the gesture starting point P1 is not within the valid range of the transposition operation (step S10; NO), the control unit 11 determines whether or not the touch panel 131 has detected a slide of the touch position (step S15). When it is determined that the touch panel 131 has not detected the sliding of the touch position (step S15; NO), the control unit 11 determines whether or not the touch panel 131 has detected a touch-out (step S18). When it is determined that touch-out has not been detected (step S18; NO), the control unit 11 returns to step S15. When it is determined that touch-out has been detected (step S18; YES), the control unit 11 ends the matrix operation process.

[0063] On the other hand, if it is determined that the touch panel 131 has detected the sliding of the touch position (step S15; YES), the control unit 11 determines whether the sliding direction of the touch position is a rotation direction around the matrix center point P0 (step S16). When it is determined that the sliding direction of the touch position is a rotation direction around the matrix center point P0 (step S16; YES), the control unit 11 executes a rotation process (step S17). When it is determined that the sliding direction of the touch position is not a rotation direction around the matrix center point P0 (step S16; NO), the control unit 11 ends the matrix operation process.

[0064] Fig. 11 is a flowchart showing the flow of the rotation process executed in step S17 of Fig. 7. The rotation process is executed by the control unit 11 and the scientific calculator application 121 in cooperation with each other.

[0065] In the rotation process, the control unit 11 calculates the rotation angle of the touch position (the angle formed by the gesture start point P1, the matrix center point P0, and the touch position; counterclockwise rotation is positive and clockwise rotation is negative) (step S171), and rotates the entire matrix of the operation target displayed on the display unit 14 by a predetermined angle according to the rotation angle and displays it (step S172).

[0066] Next, the control unit 11 determines whether or not a touch-out has been detected by the touch panel 131 (step S173). When it is determined that touch-out has not been detected by the touch panel 131 (step S173; NO), the control unit 11 determines whether or not sliding of the touch position has been detected by the touch panel 131 (step S174). If it is determined that sliding of the touch position has been detected (step S174; YES), the control unit 11 returns to step S171. If it is determined that the sliding of the touch position has not been detected (step S174; NO), the control unit 11 returns to step S173.

[0067] When it is determined that touch-out has been detected by touch panel 131 (step S173; YES), control unit 11 acquires the coordinates of the touch-out position as gesture end point P2, and acquires the angle formed by gesture start point P1, matrix center point P0, and gesture end point P2 as rotation angle θ (step S175). Then, control unit 11 rotates and moves the positions of each element of the matrix to be operated based on the rotation angle θ, and displays them on display unit 14 (step S176), and ends the rotation process. If the matrix to be manipulated is a matrix included in the calculation formula, the control unit 11 further recalculates the calculation formula using the matrix after the rotation process, and causes the display unit 14 to display the recalculation result.

[0068] On the other hand, in step S1 of FIG. 7, if it is determined that the touch position detected by the touch panel 131 is not within the valid range for starting the gesture operation (step S1; NO), the control unit 11 executes processing according to a normal operation (step S19) and terminates the matrix operation processing.

[0069] In this way, by executing the matrix operation process, when a gesture operation (swipe) is performed on a matrix displayed on the display unit 14, the control unit 11 can determine whether a rotation operation, a row circular shift operation, a column circular shift operation, or a transposition operation has been performed, and change the arrangement of the matrix elements according to the determined operation.

[0070] As described above, the control unit 11 of the electronic device 100 displays a matrix in which multiple components are arranged on the display unit 14, and changes the arrangement of the multiple components in the matrix based on a gesture operation on the matrix displayed on the display unit 14. Therefore, it becomes possible to quickly perform sophisticated movements of matrix elements with intuitive operations.

[0071] In addition, the control unit 11 detects the touch position touched on the display unit 14 using the touch panel 131, and when it determines that the touch position is within the valid range for starting a gesture operation for the matrix set in advance, it determines that a gesture operation has started. Therefore, by touching within the effective range for starting a gesture operation, the user can start a gesture operation that changes the arrangement of multiple components in a matrix.

[0072] In addition, when the performed gesture operation is an operation of rotating the touch position by a predetermined rotation angle or more around the matrix center point, the control unit 11 rotates and moves the position of each element of the matrix around the matrix center point. Therefore, the position of each element of the matrix can be rotated by a simple operation of rotating the touch position by a predetermined rotation angle or more around the matrix center point.

[0073] Furthermore, since the effective range for starting a gesture operation for a rotation operation on a matrix is ​​a predetermined range around the matrix, the position of each element of the matrix can be rotated by a simple operation of touching the periphery of the matrix and rotating the touch position by more than a predetermined rotation angle.

[0074] Furthermore, the control unit 11 rotates the position of each element of the matrix by a predetermined angle around the matrix center point, based on the angle by which the touch position has been rotated. Therefore, by adjusting the angle at which the user rotates the touch position, the angle at which each element of the matrix is ​​rotated can be adjusted.

[0075] Furthermore, when the detected touch position (gesture starting point) is within a valid range set for any row in the matrix and the performed gesture operation is an operation of sliding the touch position horizontally, the control unit 11 circularly shifts the components of the operated row in the matrix. Therefore, by simply touching any row in the matrix and sliding it horizontally, the elements of the touched row can be circularly shifted.

[0076] Furthermore, when the detected touch position (gesture starting point) is within a valid range set for any column in the matrix and the performed gesture operation is an operation of sliding the touch position vertically, the control unit 11 circularly shifts the components of the operated column in the matrix. Therefore, by simply touching any column in the matrix and sliding it vertically, the components of the touched column can be cyclically shifted.

[0077] Furthermore, in the circular shift operation, the control unit 11 shifts the elements of the matrix in a predetermined direction by a predetermined shift amount based on the distance and direction in which the touch position is slid. Therefore, by adjusting the distance and direction in which the user slides the touch position, the direction and amount of circular shift of the matrix elements can be adjusted.

[0078] Furthermore, when the detected touch position (gesture starting point) is within a valid range set at the upper right, lower right, upper left, or lower left of the matrix, and the gesture operation is an operation of sliding the touch position diagonally across the transposition boundary line L1, the control unit 11 generates a transposed matrix by swapping the row components and column components of the matrix. Therefore, by sliding the touch position from the upper right (or upper left) diagonally downward across the transposition boundary line L1, or by sliding the touch position from the lower left (or lower right) diagonally upward across the transposition boundary line L1, the row and column components of the matrix can be easily swapped.

[0079] The contents of the above embodiment are just a preferred example of the matrix manipulation method, electronic device, and program according to the present invention, and are not limited to this. For example, in the above embodiment, electronic device 100 is described as being equipped with scientific calculator application 121 for executing the matrix manipulation method of the present invention, and the matrix manipulation method of the present invention is realized by cooperation between control unit 11 of electronic device 100 and scientific calculator application 121 installed in electronic device 100. However, this is not limiting. For example, as shown in FIG. 12 , electronic device 100 may be connected to web server 200 via a communication network N such as the Internet, and a program for executing the matrix manipulation method of the present invention may be web application 221 running on web server 200. The matrix manipulation method of the present invention may be realized by having web server 200 execute web application 221 via a web browser installed in electronic device 100. Here, web server 200 is configured to include control unit 21 configured by a CPU or the like, storage unit 22 in which web application 221 is stored, operation unit 23, display unit 24, and communication unit 25, as shown in FIG. 13 , and each unit is connected via bus 26.

[0080] When the program for executing the matrix manipulation method of the present invention is a Web application 221, matrix operations (the rotation, circular shift, and transposition operations described above) corresponding to gesture manipulations are executed by cooperation between the control unit 21 on the Web server 200 side and the Web application 221 stored in the storage unit 22. For example, the browser side of the electronic device 100 displays a matrix on a screen provided by the Web application 221 in response to a user manipulation, and when a gesture manipulation on the matrix is ​​detected, the browser side transmits a set of the matrix values ​​and a matrix transformation function (a rotation, circular shift, or transposition function) serving as arguments to the Web server 200 via the communication unit 15. The Web server 200, in cooperation with the control unit 21 and the Web application 221, performs a rotation, circular shift, or transposition operation based on the matrix values ​​and matrix transformation function received from the browser side (electronic device 100), transmits the result to the browser side of the electronic device 100, and causes the browser of the electronic device 100 to display the result on the screen.

[0081] For example, if the matrix rotation function is set to rotate (matrix value, rotation angle), the matrix value on the left side of the arrow in Figure 3 is set to matrix A, and the matrix value on the right side of the arrow is set to matrix B, and a gesture operation is performed to rotate matrix A by -90 degrees, the following operation is executed. The browser of the electronic device 100 sends the matrix rotation function "rotate(matrix A, -90°)" to the web server 200. The web server 200 calculates the received matrix rotation function and sends the result "matrix B" to the browser of the electronic device 100. The browser of the electronic device 100 receives the result "matrix B" from the web server 200 and displays the result.

[0082] In the above embodiment, the touch is described as an operation of touching the screen of the display unit with a finger, but the touch as used in the present invention includes an operation of clicking a mouse or an operation of touching the screen of the display unit with a touch pen. In the above embodiment, the gesture operation of sliding the touch position is described as a swipe with a finger, but the gesture operation may be a drag with a mouse or a slide operation with a touch pen.

[0083] In the above embodiment, an example has been disclosed in which a semiconductor memory such as a ROM or a hard disk is used as a computer-readable medium for the program according to the present invention, but the present invention is not limited to this example. Other computer-readable media may include SSDs and portable recording media such as CD-ROMs. Furthermore, a carrier wave may also be used as a medium for providing data for the program according to the present invention via a communication line.

[0084] In addition, the detailed configuration and operation of the electronic device may be modified as appropriate without departing from the spirit of the invention.

[0085] Although the embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the above-described embodiments, but is defined by the claims. Furthermore, the technical scope of the present invention also includes equivalents to the claims that are not related to the essence of the present invention. The inventions described in the claims originally attached to this application are as follows. The claim numbers described in the appendix are the same as those of the claims originally attached to this application. [Note] <Claim 1> The computer Displaying a matrix in which multiple elements are arranged on a display unit; A matrix manipulation method for changing an arrangement of a plurality of elements in the matrix based on a gesture manipulation on the matrix displayed on the display unit. <Claim 2> The computer 2. The matrix manipulation method according to claim 1, further comprising: detecting a touch position on the display unit; and determining that the gesture operation has started when the touch position is determined to be within a preset valid range for starting a gesture operation for the matrix. <Claim 3> The computer 3. The matrix manipulation method according to claim 2, wherein when the gesture operation is an operation of rotating the touch position by a predetermined rotation angle or more around a center point of the matrix, the position of each element of the matrix is ​​rotated around the center point. <Claim 4> 4. The matrix manipulation method according to claim 3, wherein an effective range for starting the gesture manipulation with respect to the matrix is ​​a predetermined range around the matrix. <Claim 5> The computer 5. The matrix manipulation method according to claim 3, wherein the position of each element of the matrix is ​​rotated by a predetermined angle around the central point based on an angle by which the touch position is rotated. <Claim 6> The computer 6. The matrix manipulation method according to claim 2, wherein, when the detected touch position is within the effective range set for any row in the matrix and the gesture operation is an operation of sliding the touch position horizontally, the components of the operated row of the matrix are circularly shifted. <Claim 7> The computer 7. The matrix manipulation method according to claim 2, wherein, when the detected touch position is within the effective range set for any column in the matrix and the gesture operation is an operation of sliding the touch position vertically, the components of the operated column of the matrix are circularly shifted. <Claim 8> The computer 8. The matrix manipulation method according to claim 6, wherein the matrix elements are shifted in a predetermined direction by a predetermined shift amount based on the distance and direction of sliding of the touch position. <Claim 9> The computer 9. The matrix manipulation method according to claim 2, wherein, when the detected touch position is within the effective range set at the upper right or lower left of the matrix, and the gesture operation is an operation of sliding the touch position diagonally across a line connecting the upper left and lower right of the matrix, row components and column components of the matrix are swapped to generate a transposed matrix. <Claim 10> The computer 9. The matrix manipulation method according to claim 2, wherein, when the detected touch position is within the effective range set at the upper left or lower right of the matrix, and the gesture operation is an operation of sliding the touch position diagonally across a line connecting the upper right and lower left of the matrix, row components and column components of the matrix are swapped to generate a transposed matrix. <Claim 11> 11. The matrix manipulation method according to claim 1, wherein the display unit comprises a touch panel. <Claim 12> The matrix manipulation method according to claim 11, wherein the gesture manipulation is a swipe. <Claim 13> 11. The matrix manipulation method according to claim 1, wherein the gesture manipulation is a drag. <Claim 14> a control unit that displays a matrix in which a plurality of components are arranged on a display unit, and changes the arrangement of the plurality of components in the matrix based on a gesture operation on the matrix displayed on the display unit; An electronic device comprising: <Claim 15> Computer, a control unit that displays a matrix in which a plurality of components are arranged on a display unit, and changes the arrangement of the plurality of components in the matrix based on a gesture operation on the matrix displayed on the display unit; A program to function as a [Explanation of symbols]

[0086] 100 Electronic equipment 11 Control section 12 Storage section 121 Scientific Calculator App 13 Control section 131 Touch Panel 14 Display section 15 Communications Department 16 Bus

Claims

1. 1. A computer-implemented method for assisting in matrix manipulation, comprising: a control process for displaying a matrix in which a plurality of components are arranged on a display unit, and changing an arrangement of the plurality of components based on a gesture operation on the matrix displayed on the display unit, When the gesture operation is detected as a transposition operation instructing conversion of the matrix into a transposed matrix in which elements are swapped between rows and columns of the matrix, the control process temporarily tilts a shape of parentheses enclosing the multiple elements in a predetermined direction. Matrix operation support method.

2. The transposition operation is set as an operation of swiping from a first position to a second position within a region corresponding to the matrix along a diagonal line in the matrix.

2. The method for supporting matrix manipulation according to claim 1 .

3. A control unit that displays a matrix in which a plurality of components are arranged on a display unit, and changes an arrangement of the plurality of components based on a gesture operation on the matrix displayed on the display unit; When the control unit detects the gesture operation as a transposition operation instructing a conversion from the matrix to a transposed matrix in which components are swapped between rows and columns of the matrix, the control unit temporarily tilts a shape of parentheses enclosing the multiple components in a predetermined direction. electronic equipment.

4. A computer comprising: a matrix in which a plurality of components are arranged is displayed on a display unit, and the display unit functions as a control unit that changes the arrangement of the plurality of components based on a gesture operation on the matrix displayed on the display unit; when the control means detects the gesture operation as a transposition operation instructing conversion of the matrix into a transposed matrix in which elements are swapped between rows and columns of the matrix, the control means temporarily tilts a shape of parentheses enclosing the plurality of elements in a predetermined direction; program.

Citation Information

Patent Citations

  • Method and system for adding columns and rows to form by computer

    CN102103581A

  • Mathematical formula input editing device

    JP1991085667A

  • Graphics display control device, data format conversion control device, and program

    JP2004126762A

  • Matrix calculation device and program

    JP2012243015A

  • Process for Providing and Editing Instructions, Data, Data Structures, and Algorithms in a Computer System

    US20110115702A1