A table operation method, device and equipment of an electronic whiteboard and a storage medium
By acquiring and analyzing user gesture data in the electronic whiteboard, the system automatically recognizes the user's intentions, enabling convenient table cell merging or splitting operations. This solves the problem of inconvenient operation in existing technologies and improves operational efficiency and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-19
- Publication Date
- 2026-03-10
AI Technical Summary
Current electronic whiteboard table editing operations rely on clicking function area buttons or menu operations, which are inconvenient and inefficient.
By acquiring user gesture data, analyzing and processing direction angle, rate of change of velocity, and trajectory length, the type of operation is determined, and the table cells are automatically controlled to merge or split.
It enables convenient table cell operations, improving operational efficiency and user experience.
Smart Images

Figure CN119337843B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of electronic whiteboards, and in particular to a table operation method and device of an electronic whiteboard, an electronic whiteboard, and a storage medium. BACKGROUND
[0002] In the application of an electronic whiteboard, a table tool is usually used to present and edit data, and the merging and splitting operations of cells are common functions of the table tool. At present, the traditional table editing method of an electronic whiteboard often depends on the clicking of a function area button or menu operation, and the user needs to select a cell and then operate a button or menu to perform the merging or splitting of the cell, which is inconvenient and inefficient. SUMMARY
[0003] Embodiments of the present application provide a table operation method and device of an electronic whiteboard, an electronic whiteboard, and a storage medium to solve at least one problem in the related art, and the technical solutions are as follows.
[0004] In a first aspect, the embodiments of the present application provide a table operation method of an electronic whiteboard, comprising:
[0005] In the case that the electronic whiteboard displays a table, gesture data of a user is acquired;
[0006] The gesture data is analyzed and processed to determine a direction angle, a speed change rate, and a trajectory length;
[0007] According to the direction angle, the speed change rate, and the trajectory length, an operation action type is determined;
[0008] According to the operation action type, a cell in the table is controlled to perform a merging operation or a splitting operation.
[0009] In an implementation manner, the analysis and processing of the gesture data to determine the direction angle, the speed, and the trajectory length comprises:
[0010] The starting coordinates and starting contact time of a starting contact point, the intermediate coordinates and corresponding intermediate contact time of at least one intermediate contact point, and the ending coordinates and ending contact time of an ending contact point in the gesture data are determined;
[0011] The direction angle is determined according to the starting coordinates and the ending coordinates;
[0012] According to the starting coordinates, at least one intermediate coordinate, and the ending coordinates, a plurality of sub-trajectories and the length of each sub-trajectory are determined;
[0013] The trajectory length is determined according to the length of the plurality of sub-trajectories;
[0014] The velocity change rate of adjacent sub-trajectories is determined based on the length of several sub-trajectories, the initial contact time, the intermediate contact time, and the final contact time.
[0015] In one embodiment, determining the direction angle based on the starting coordinates and the ending coordinates includes:
[0016] Determine the first difference between the ordinate of the termination coordinate and the ordinate of the starting coordinate;
[0017] Determine a second difference between the x-coordinate of the termination coordinate and the x-coordinate of the starting coordinate;
[0018] The ratio of the first difference to the second difference is determined, and the direction angle is obtained based on the arctangent function and the ratio.
[0019] In one embodiment, determining the rate of change of velocity of adjacent sub-trajectories based on the lengths of several sub-trajectories, the initial contact time, the intermediate contact time, and the final contact time includes:
[0020] When one endpoint of the sub-trajectory is the initial contact point and the other endpoint is the intermediate contact point, the first velocity is calculated based on the length of the sub-trajectory and the time difference between the intermediate contact time and the initial contact time.
[0021] When both endpoints of the sub-trajectory are intermediate contact points, the second velocity is calculated based on the length of the sub-trajectory and the time difference of the intermediate contact time corresponding to each intermediate contact point.
[0022] When one endpoint of the sub-trajectory is an intermediate contact point and the other endpoint is a termination contact point, the third velocity is calculated based on the length of the sub-trajectory and the time difference between the termination contact time and the intermediate contact time.
[0023] The rate of change of velocity of each adjacent sub-trajectory is determined based on the first velocity, at least one second velocity, and the third velocity.
[0024] In one embodiment, determining the operation action type based on the direction angle, the rate of change of velocity, and the trajectory length includes:
[0025] The angle difference between the direction angle and 0°, 90°, 180° and 270° is determined respectively. If the angle difference between the direction angle and 0° or 180° is the smallest, the direction of the gesture data is determined to be horizontal. If the angle difference between the direction angle and 90° or 270° is the smallest, the direction of the gesture data is determined to be vertical.
[0026] If the rate of change of speed is greater than the change threshold, the gesture data is determined to be curvilinear motion; otherwise, the gesture data is determined to be linear motion.
[0027] When the gesture data is a linear motion and the trajectory length is greater than the length threshold, a cell merging operation is determined. When a cell merging operation is determined, if the direction of the gesture data is horizontal, the operation action type is determined to be merging horizontal cells; if the direction of the gesture data is vertical, the operation action type is determined to be merging vertical cells.
[0028] When the gesture data is a curvilinear motion, the operation action type is determined to be cell splitting.
[0029] In one implementation, controlling the cells in the table to perform merging or splitting operations based on the operation action type includes:
[0030] When the operation action type is horizontal cell merging, the horizontal coverage area in the table is determined based on the gesture data, and the cells within the horizontal coverage area are merged.
[0031] When the operation action type is vertical cell merging, the vertical coverage area in the table is determined based on the gesture data, and the cells within the vertical coverage area are merged.
[0032] When the operation type is cell splitting, the target cell in the table is determined based on the gesture data, and the target cell is split.
[0033] In one embodiment, the method further includes at least one of the following:
[0034] One of the horizontal coverage area, the vertical coverage area, and the target cell is highlighted.
[0035] When the operation action type is determined, the operation action type is displayed through a confirmation dialog box for the user to review the operation action type. When the review is passed, the step of controlling the cells in the table to perform merging or splitting operations according to the operation action type is executed.
[0036] When a table is displayed on the electronic whiteboard, an operation area is generated to display the function buttons corresponding to cell merging and cell splitting. The user's historical gesture data is analyzed to determine the user's habitual operation type. Based on the habitual operation type, the size of the function buttons corresponding to cell merging or cell splitting is adjusted.
[0037] Secondly, embodiments of this application provide a table operation device for an electronic whiteboard, comprising:
[0038] The acquisition module is used to acquire the user's gesture data when a table is displayed on the electronic whiteboard;
[0039] The analysis module is used to analyze and process the gesture data to determine the direction angle, rate of change of velocity, and trajectory length.
[0040] The determination module is used to determine the type of operation action based on the direction angle, the rate of change of velocity, and the trajectory length;
[0041] The control module is used to control the cells in the table to perform merging or splitting operations according to the operation action type.
[0042] In one implementation, the control module is further configured to perform at least one of the following:
[0043] One of the horizontal coverage area, the vertical coverage area, and the target cell is highlighted.
[0044] When the operation action type is determined, the operation action type is displayed through a confirmation dialog box for the user to review the operation action type. When the review is passed, the step of controlling the cells in the table to perform merging or splitting operations according to the operation action type is executed.
[0045] When a table is displayed on the electronic whiteboard, an operation area is generated to display the function buttons corresponding to cell merging and cell splitting. The user's historical gesture data is analyzed to determine the user's habitual operation type. Based on the habitual operation type, the size of the function buttons corresponding to cell merging or cell splitting is adjusted.
[0046] Thirdly, embodiments of this application provide an electronic device, including: a processor and a memory, wherein the memory stores instructions that are loaded and executed by the processor to implement the methods in any of the above-described embodiments.
[0047] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed, implements the methods in any of the above-described embodiments.
[0048] The beneficial effects of the above technical solution include at least the following:
[0049] By acquiring user gesture data when a table is displayed on an electronic whiteboard, analyzing and processing the gesture data to determine the direction angle, velocity change rate, and trajectory length, and then determining the operation type based on these parameters, the system controls the merging or splitting of cells in the table according to the operation type. Through multi-dimensional analysis of the user's gesture data, including direction angle, velocity change rate, and trajectory length, the system determines the operation type and automatically performs cell merging or splitting operations, making the process more convenient and efficient.
[0050] The above overview is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features of this application will become readily apparent from the accompanying drawings and the following detailed description. Attached Figure Description
[0051] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments disclosed in this application and should not be construed as limiting the scope of this application.
[0052] Figure 1 This is a flowchart illustrating the steps of an electronic whiteboard table operation method according to an embodiment of this application;
[0053] Figure 2 This is a structural block diagram of a table operation device for an electronic whiteboard according to an embodiment of this application;
[0054] Figure 3 This is a structural block diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0055] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of this application. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.
[0056] Reference Figure 1 The flowchart illustrates a table operation method for an electronic whiteboard according to an embodiment of this application. This table operation method for the electronic whiteboard may include at least steps S100-S400:
[0057] S100: When a table is displayed on the electronic whiteboard, acquire the user's gesture data.
[0058] S200: Analyze and process the gesture data to determine the direction angle, rate of change of velocity, and trajectory length.
[0059] S300. Determine the type of operation action based on the direction angle, rate of change of velocity, and trajectory length.
[0060] S400: Based on the type of operation, control the cells in the table to perform merge or split operations.
[0061] The table operation method of the electronic whiteboard in this application embodiment can be executed by the processor of the electronic whiteboard.
[0062] The technical solution of this application embodiment acquires the user's gesture data when the table is displayed on the electronic whiteboard, analyzes and processes the gesture data to determine the direction angle, velocity change rate, and trajectory length, determines the operation action type based on the direction angle, velocity change rate, and trajectory length, and controls the cells in the table to perform merging or splitting operations based on the operation action type. By performing multi-dimensional analysis of the user's gesture data in terms of direction angle, velocity change rate, and trajectory length, the operation action type is determined, and cell merging or splitting operations are automatically performed. The system automatically recognizes the user's operation intention, making it more convenient, more efficient, and providing a better user experience.
[0063] In one implementation, when a user uses a table on an electronic whiteboard, the table is displayed on the electronic whiteboard. When the user needs to perform operations on the table, such as merging or splitting cells, the user will make a gesture. The system senses the user's gesture and obtains the user's gesture data.
[0064] Optionally, after determining the gesture data, filtering can be performed to remove noise signals and ensure the accuracy of the gesture data.
[0065] In one implementation, step S200 includes steps S210-S250:
[0066] S210. Determine the starting coordinates and starting contact time of the starting contact point, the intermediate coordinates and corresponding intermediate contact time of at least one intermediate contact point, and the ending coordinates and ending contact time of the ending contact point in the gesture data.
[0067] It should be noted that gesture data can include contact points, the time when the contact points are generated, and coordinate positions. Specifically, it includes the starting contact point, the starting coordinates (x_start, y_start) and the starting contact time of the starting contact point, at least one intermediate contact point, the intermediate coordinates and the corresponding intermediate contact time of each intermediate contact point, the ending contact point, and the ending coordinates (x_end, y_end) and the ending contact time of the ending contact point.
[0068] S220. Determine the direction angle based on the starting and ending coordinates.
[0069] Optionally, steps S2201-S2203 are included:
[0070] S2201. Determine the first difference between the ordinate of the termination coordinate and the ordinate of the starting coordinate.
[0071] Specifically, determine the first difference (y_end - y_start) between the ordinate of the ending coordinate y_end and the ordinate of the starting coordinate y_start.
[0072] S2202. Determine the second difference between the x-coordinate of the termination coordinate and the x-coordinate of the starting coordinate.
[0073] Specifically, determine the second difference (x_end - x_start) between the x-coordinate of the ending coordinate x_end and the x-coordinate of the starting coordinate x_start.
[0074] S2203. Determine the ratio of the first difference to the second difference, and obtain the direction angle based on the arctangent function arctan() and the ratio.
[0075] Specifically, the formula for the direction angle θ is:
[0076] θ=arctan[(y_end-y_start) / (x_end-x_start)].
[0077] S230. Based on the starting coordinates, at least one intermediate coordinate, and the ending coordinate, determine several segments of trajectory and the length of each segment of trajectory.
[0078] Optionally, for example, assuming there is one intermediate coordinate, i.e., only one intermediate contact point, a sub-trajectory between the starting coordinate and the intermediate coordinate, and a sub-trajectory between the intermediate coordinate and the ending coordinate can be determined; when there are two intermediate coordinates, a sub-trajectory between the starting coordinate and the first intermediate coordinate, a sub-trajectory between the first intermediate coordinate and the second intermediate coordinate, and a sub-trajectory between the second intermediate coordinate and the ending coordinate can be determined; when there are three or more intermediate coordinates, following the same principle, several sub-trajectory segments can be determined, and the length of each corresponding segment can be calculated based on the coordinates of the two endpoints of each sub-trajectory segment.
[0079] S240. Determine the trajectory length based on the lengths of several segments.
[0080] Specifically, the trajectory length is obtained by summing the lengths of all sub-trajectories.
[0081] S250. Determine the velocity change rate of adjacent sub-trajectories based on the length of several sub-trajectories, the initial contact time, the intermediate contact time, and the final contact time.
[0082] Optionally, steps S2501-S2504 are included:
[0083] S2501. When one end of the sub-track is the initial contact point and the other end is the intermediate contact point, calculate the first velocity based on the length of the sub-track and the time difference between the intermediate contact time and the initial contact time.
[0084] Optionally, when one end of a sub-trajectory is the initial contact point and the other end is the intermediate contact point, the time difference between the intermediate contact time and the initial contact time can be calculated, and then the first velocity can be calculated based on the length of the sub-trajectory with the initial coordinates and the intermediate coordinates.
[0085] S2502. When both endpoints of the sub-track are intermediate contact points, the second velocity is calculated based on the length of the sub-track and the time difference of the intermediate contact time corresponding to each intermediate contact point.
[0086] Optionally, when both endpoints of the sub-trajectory are intermediate contact points, for example, there are intermediate contact points A, B, and C, a second velocity is calculated based on the length of the sub-trajectory between intermediate contact points A and B, and the time difference between the intermediate contact times of intermediate contact points A and B; a second velocity is calculated based on the length of the sub-trajectory between intermediate contact points B and C, and the time difference between the intermediate contact times of intermediate contact points B and C; similarly, a second velocity can be determined between every two intermediate contact points.
[0087] S2503. When one endpoint of the sub-track is the intermediate contact point and the other endpoint is the termination contact point, calculate the third velocity based on the length of the sub-track and the time difference between the termination contact time and the intermediate contact time.
[0088] Optionally, when one endpoint of the sub-track is an intermediate contact point and the other endpoint is a termination contact point, the time difference between the termination contact time and the intermediate contact time, as well as the length of the sub-track, are determined, so that the third velocity can be calculated, i.e., the length divided by the time difference to obtain the third velocity.
[0089] S2504. Determine the rate of change of velocity for each adjacent sub-trajectory based on the first velocity, at least one second velocity, and the third velocity.
[0090] Optionally, based on the above calculations, the velocity corresponding to each sub-track can be determined, such as a first velocity, at least one second velocity, and a third velocity. Based on the differences between the velocities, the velocity change rate of each adjacent sub-track can be determined. For example, including the initial contact point Q, intermediate contact points A, B, and C, and the final contact point D, the absolute value of the difference between the first velocity of QA and the second velocity of AB can be determined, thus establishing a velocity change rate. Similarly, the absolute value of the difference between the second velocity of AB and the second velocity of BC can be determined, and the absolute value of the difference between the second velocity of BC and the third velocity of CD can also be determined.
[0091] In one implementation, step S300 includes steps S310-S340:
[0092] S310. Determine the angle difference between the direction angle and 0°, 90°, 180° and 270° respectively. If the angle difference between the direction angle and 0° or 180° is the smallest, determine the direction of the gesture data as horizontal. If the angle difference between the direction angle and 90° or 270° is the smallest, determine the direction of the gesture data as vertical.
[0093] Optionally, the angle differences between the direction angle and 0° (corresponding to the positive direction of the X-axis), 90° (corresponding to the positive direction of the Y-axis), 180° (corresponding to the negative direction of the X-axis), and 270° (corresponding to the negative direction of the Y-axis) of the coordinate system are determined respectively. Specifically, if the angle difference between the direction angle and 0° or 180° is the smallest, the direction of the gesture data is determined to be horizontal. More specifically, if the angle difference between the direction angle and 0° is the smallest, it is the positive direction of horizontal, i.e., to the right; if the angle difference between the direction angle and 180° is the smallest, it is the negative direction of horizontal, i.e., to the left. If the angle difference between the direction angle and 90° or 270° is the smallest, the direction of the gesture data is determined to be vertical. Specifically, if the angle difference between the direction angle and 90° is the smallest, it is the positive direction of vertical, i.e., upward; if the angle difference between the direction angle and 270° is the smallest, it is the negative direction of vertical, i.e., downward.
[0094] S320. When the rate of change of velocity is greater than the change threshold, the gesture data is determined to be curvilinear motion; otherwise, the gesture data is determined to be linear motion.
[0095] Optionally, the change threshold is based on experience or set by the user; when the rate of change of speed is greater than the change threshold, the gesture data is determined to be curvilinear motion; if the rate of change of speed is less than or equal to the change threshold, the gesture data is determined to be linear motion.
[0096] In this embodiment, the significance of a change is determined by whether the rate of change exceeds a preset threshold. A significant change in speed typically indicates a large acceleration or deceleration of the gesture trajectory within that time period, usually corresponding to curvilinear motion. It should be noted that in some cases, a user's gesture may be a slow curvilinear motion, but this does not necessarily mean their intention is to split cells. For example, the user may simply be performing a slow swipe without intentionally splitting the cells. Therefore, using the rate of change and threshold to assist in determining the significance of the rate of change can effectively reduce misjudgments and ensure the system accurately understands the user's intent.
[0097] S330. When the gesture data is a linear motion and the trajectory length is greater than the length threshold, a cell merging operation is determined. When the cell merging operation is determined, if the direction of the gesture data is horizontal, the operation action type is determined to be merging horizontal cells; if the direction of the gesture data is vertical, the operation action type is determined to be merging vertical cells.
[0098] Optionally, the length threshold is based on experience or user-defined settings; when the gesture data is a linear movement and the trajectory length is greater than the length threshold, a cell merging operation is determined. Furthermore, when a cell merging operation is determined, if the gesture data is horizontal, the operation type is determined to be merging horizontal cells; if the gesture data is vertical, the operation type is determined to be merging vertical cells.
[0099] In one implementation, in step S400, when merging, if the operation action type is horizontal cell merging, the position range through which the trajectory passes in the table is determined based on the starting and ending contact points of the gesture data, specifically the horizontal coverage area in the table. Then, the cells involved in the horizontal coverage area (which can be two or more) are determined, and the cells are merged.
[0100] Similarly, when the operation type is vertical cell merging, the vertical coverage area in the table is determined based on the gesture data, and then the cells involved in the vertical coverage area (which can be two or more) are determined, and the cells are merged.
[0101] S340. When the gesture data is a curved motion, determine the operation action type as cell splitting.
[0102] Optionally, when the gesture data is curvilinear motion, the operation action type is determined to be cell splitting.
[0103] Similarly, in step S400, when the operation action type is cell splitting, the target cell in the table is determined based on the gesture data. For example, the position range through which the trajectory passes in the table is determined, specifically the coverage area in the table. Then, the target cells involved in the coverage area (which can be one or more) are determined, and cell splitting of one or more cells is achieved at the same time.
[0104] In one implementation, if the system detects an abnormal user gesture trajectory, such as excessive speed or a trajectory that does not conform to the specifications, it will proactively provide a prompt and recommend a more suitable operating method.
[0105] In one embodiment, the table operation method of the electronic whiteboard according to the present application embodiment may further include at least one of steps S510-S530:
[0106] S510: Highlight one of the horizontal coverage area, vertical coverage area, and target cell.
[0107] Optionally, once one of the horizontal coverage area, vertical coverage area, and target cell is determined, one of these three areas can be highlighted to allow the user to understand the determined target and simulate the effect of actually selecting a target, providing a better visual feedback and enhancing the user experience. For example, highlighting can include, but is not limited to, using different display colors inside the cell, changing the cell border color, or adding a blinking effect, etc., without specific limitations. Simultaneously, the user's gesture trajectory can also be displayed in real time on the electronic whiteboard screen, allowing the user to intuitively perceive the operation process.
[0108] S520. When determining the operation action type, the operation action type is displayed through a confirmation dialog box for the user to review. When the review is successful, the steps are executed to control the cells in the table to perform merging or splitting operations based on the operation action type.
[0109] Optionally, when determining the operation action type, a confirmation dialog box is displayed for the user to review the operation action type. For example, the user can click the "OK" button. If the review is successful, the step of merging or splitting cells in the table according to the operation action type is executed, i.e., step S400 is executed. If the review fails, the user is prompted to perform the operation again, thereby determining one of the following: a new horizontal coverage area, a new vertical coverage area, or a new target cell.
[0110] S530: When a table is displayed on the electronic whiteboard, an operation area is generated to display the function buttons corresponding to cell merging and cell splitting respectively. The user's historical gesture data is analyzed to determine the user's habitual operation type. Based on the habitual operation type, the size of the function buttons corresponding to cell merging or cell splitting is adjusted.
[0111] Optionally, when the electronic whiteboard displays a table, an operation area is generated to display function buttons corresponding to cell merging and cell splitting. In addition to gesture data analysis, a button control mode is also provided, allowing users to click to trigger the display of these function buttons, then select the corresponding cell to merge or split it. In this embodiment, an intelligent algorithm analyzes the user's historical gesture data to determine the user's habitual operation type. Based on this habitual operation type, the size of the function buttons corresponding to cell merging or cell splitting is adjusted. For example, the usage frequency of the cell merging and cell splitting function buttons can be analyzed over a recent period. If the cell merging function button is used more frequently, its size is increased. Alternatively, the usage frequency of the cell merging and cell splitting function buttons in different time periods can be analyzed. If the cell splitting function button is used more frequently during a given time period, its size is increased, reducing the user's operation path and making operation more convenient.
[0112] In some embodiments, when determining the number of times a button is used over a period of time or certain time periods, it can be further determined whether the number of uses exceeds a frequency threshold. If so, the size of the corresponding button is adjusted; otherwise, the size of the button is not adjusted. Alternatively, it can intelligently analyze whether the content in the current table is suitable for adjusting the layout. For example, if the content in the table already occupies a preset proportion of the screen, no adjustment is made.
[0113] Reference Figure 2 The diagram shows a structural block diagram of a table operation device for an electronic whiteboard according to an embodiment of this application. The device may include:
[0114] The acquisition module is used to acquire the user's gesture data when a table is displayed on the electronic whiteboard;
[0115] The analysis module is used to analyze and process gesture data to determine the direction angle, rate of change of velocity, and trajectory length.
[0116] The determination module is used to determine the type of operation action based on the direction angle, rate of change of velocity, and trajectory length.
[0117] The control module is used to control the cells in the table to perform merge or split operations based on the type of operation.
[0118] In one implementation, the control module is also configured to perform at least one of the following:
[0119] Highlight one of the horizontal coverage area, the vertical coverage area, or the target cell;
[0120] When the operation action type is determined, the operation action type is displayed through a confirmation dialog box for the user to review. When the review is successful, the steps are executed to control the cells in the table to merge or split according to the operation action type.
[0121] When a table is displayed on an electronic whiteboard, an operation area is generated to display the function buttons corresponding to cell merging and cell splitting. The user's historical gesture data is analyzed to determine the user's habitual operation type. Based on the habitual operation type, the size of the function buttons corresponding to cell merging or cell splitting is adjusted.
[0122] The functions of each module in each device in the embodiments of this application can be found in the corresponding descriptions in the above methods, and will not be repeated here.
[0123] Reference Figure 3 The diagram illustrates a structural block diagram of an electronic device according to an embodiment of this application. The electronic device includes a memory 310 and a processor 320. The memory 310 stores instructions that can be executed on the processor 320. The processor 320 loads and executes these instructions to implement the table operation method of the electronic whiteboard in the above embodiment. The number of memories 310 and processors 320 can be one or more.
[0124] In one embodiment, the electronic device further includes a communication interface 330 for communicating with external devices and exchanging data. If the memory 310, processor 320, and communication interface 330 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0125] Optionally, in a specific implementation, if the memory 310, processor 320 and communication interface 330 are integrated on a single chip, the memory 310, processor 320 and communication interface 330 can communicate with each other through an internal interface.
[0126] This application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the table operation method for the electronic whiteboard provided in the above embodiments.
[0127] This application also provides a chip, which includes a processor for calling and executing instructions stored in a memory, causing a communication device on which the chip is installed to perform the method provided in this application.
[0128] This application also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in the application embodiment.
[0129] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting the Advanced Reduced Instruction Set Computing (RISC) machine (ARM) architecture.
[0130] Further, optionally, the aforementioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory. The memory may be volatile or non-volatile, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0131] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.
[0132] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.
[0133] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.
[0134] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.
[0135] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).
[0136] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.
[0137] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.
[0138] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope disclosed in this application, and these should all be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A table operation method of an electronic whiteboard, characterized by, The method comprises the following steps: In the case of displaying a table on an electronic whiteboard, obtaining gesture data of a user; Analyzing and processing the gesture data to determine a direction angle, a speed change rate and a track length, specifically: determining a starting coordinate and a starting contact time of a starting contact point, a middle coordinate and a corresponding middle contact time of at least one middle contact point, and a terminal coordinate and a terminal contact time of a terminal contact point in the gesture data; determining the direction angle according to the starting coordinate and the terminal coordinate; determining a plurality of sub-tracks and the length of each sub-track according to the starting coordinate, at least one middle coordinate and the terminal coordinate; determining the track length according to the lengths of the plurality of sub-tracks; and determining the speed change rate of adjacent sub-tracks according to the lengths of the plurality of sub-tracks, the starting contact time, the middle contact time and the terminal contact time; Determining an operation action type according to the direction angle, the speed change rate and the track length, specifically: determining the angle difference between the direction angle and 0°, 90°, 180° and 270° respectively, determining that the direction of the gesture data is horizontal if the angle difference between the direction angle and 0° or 180° is the smallest, and determining that the direction of the gesture data is vertical if the angle difference between the direction angle and 90° or 270° is the smallest; determining that the gesture data is a curve motion when the speed change rate is greater than a change threshold, and otherwise determining that the gesture data is a straight line motion; When the gesture data is a straight line motion and the track length is greater than a length threshold, determining a cell merging operation, and in the case of determining the cell merging operation, determining that the operation action type is a horizontal cell merging operation when the direction of the gesture data is horizontal, and determining that the operation action type is a vertical cell merging operation when the direction of the gesture data is vertical; and determining that the operation action type is a cell splitting when the gesture data is a curve motion; Controlling the cells in the table to perform a merging operation or a splitting operation according to the operation action type.
2. The table operation method of the electronic whiteboard according to claim 1, characterized in that: The determination of the direction angle according to the starting coordinate and the terminal coordinate comprises: Determining a first difference value between the vertical coordinate of the terminal coordinate and the vertical coordinate of the starting coordinate; Determining a second difference value between the horizontal coordinate of the terminal coordinate and the horizontal coordinate of the starting coordinate; Determining a ratio of the first difference value and the second difference value, and obtaining the direction angle according to an arctangent function and the ratio.
3. The table operation method of the electronic whiteboard according to claim 1, wherein: The determination of the speed change rate of adjacent sub-tracks according to the lengths of the plurality of sub-tracks, the starting contact time, the middle contact time and the terminal contact time comprises: When one end point of the sub-track is a starting contact point and the other end point is a middle contact point, calculating a first speed according to the length of the sub-track and the time difference between the middle contact time and the starting contact time; When both end points of the sub-track are middle contact points, calculating a second speed according to the length of the sub-track and the time difference between the middle contact times corresponding to the middle contact points. calculating a third speed according to a length of the sub-trajectory and a time difference between the end contact time and the intermediate contact time when one end point of the sub-trajectory is the intermediate contact point and the other end point is the end contact point; determining a speed change rate of each adjacent sub-trajectory according to the first speed, at least one second speed and the third speed.
4. The table operation method of the electronic whiteboard according to claim 1, wherein: the step of controlling the cells in the table to perform the merging operation or the splitting operation according to the operation action type comprises: when the operation action type is horizontal cell merging, determining a horizontal coverage range in the table according to the gesture data, and performing the merging operation on the cells in the horizontal coverage range; when the operation action type is vertical cell merging, determining a vertical coverage range in the table according to the gesture data, and performing the merging operation on the cells in the vertical coverage range; when the operation action type is cell splitting, determining a target cell in the table according to the gesture data, and performing the splitting operation on the target cell.
5. The table operation method of the electronic whiteboard according to claim 4, wherein: the method further comprises at least one of the following: highlighting one of the horizontal coverage range, the vertical coverage range and the target cell; when the operation action type is determined, displaying the operation action type through a confirmation dialog box for the user to review the operation action type, and when the review is passed, performing the step of controlling the cells in the table to perform the merging operation or the splitting operation according to the operation action type; when the table is displayed on the electronic whiteboard, generating an operation area to display function buttons corresponding to cell merging and cell splitting respectively, analyzing historical gesture data of the user to determine a habitual operation action type of the user, and adjusting the size of the function buttons corresponding to cell merging or cell splitting according to the habitual operation action type.
6. A table operation apparatus of an electronic whiteboard, characterized by comprising: comprise: an acquisition module configured to acquire gesture data of a user when the table is displayed on the electronic whiteboard; an analysis module configured to analyze and process the gesture data to determine a direction angle, a speed change rate and a trajectory length, specifically: determining a starting coordinate and a starting contact time of a starting contact point, intermediate coordinates and corresponding intermediate contact times of at least one intermediate contact point, and a terminal coordinate and a terminal contact time of a terminal contact point in the gesture data; determining the direction angle according to the starting coordinate and the terminal coordinate; determining a plurality of sub-trajectories and a length of each sub-trajectory according to the starting coordinate, at least one intermediate coordinate and the terminal coordinate; determining the trajectory length according to the lengths of the plurality of sub-trajectories; and determining a speed change rate of adjacent sub-trajectories according to the lengths of the plurality of sub-trajectories, the starting contact time, the intermediate contact times and the terminal contact time. determining a type of operation action according to the direction angle, the rate of change of speed and the length of the trajectory, specifically: determining an angle difference between the direction angle and 0°, 90°, 180° and 270° respectively, if the angle difference between the direction angle and 0° or 180° is the smallest, determining that the direction of the gesture data is horizontal, if the angle difference between the direction angle and 90° or 270° is the smallest, determining that the direction of the gesture data is vertical; when the rate of change of speed is greater than a change threshold, determining that the gesture data is curve motion, otherwise determining that the gesture data is straight line motion; when the gesture data is straight line motion and the length of the trajectory is greater than a length threshold, determining a cell merging operation, in the case of determining the cell merging operation, when the direction of the gesture data is horizontal, determining that the type of operation action is merging horizontal cells, when the direction of the gesture data is vertical, determining that the type of operation action is merging vertical cells; when the gesture data is curve motion, determining that the type of operation action is cell splitting; a control module, configured to control cells in the table to perform a merging operation or a splitting operation according to the type of operation action.
7. An electronic device, comprising: comprising: a processor and a memory, the memory storing instructions, the instructions being loaded and executed by the processor to implement the method of any one of claims 1-5.
8. A computer readable storage medium, the computer readable storage medium storing a computer program, the computer program being executed to implement the method of any one of claims 1-5.
Citation Information
Patent Citations
Cell merging and splitting method for interactive electronic whiteboard software
CN105760170A
Table management method and device, storage medium and electronic equipment
CN115495189A