A trajectory recognition method and device

By obtaining the data table of the selection circle and determining whether the writing trajectory is within its range, the problem of inaccurate trajectory selection in the interactive whiteboard is solved, and the accurate identification and selection of trajectories are achieved.

CN114237418BActive Publication Date: 2024-12-31NEW H3C INTELLIGENCE TERMINAL CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111373424.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-19
Publication Date
2024-12-31
Estimated Expiration
2041-11-19

AI Technical Summary

Technical Problem

The existing trajectory selection function has the situation where the non-closed trajectory and the selection circle do not intersect in the interactive whiteboard, which makes it impossible to accurately identify the writing trajectory, affecting the recognition accuracy.

Method used

By obtaining the data table of the selected circle, including the points on the selected circle and the corresponding value range, we judge whether the writing trajectory exists within the range, confirm whether the trajectory is passed or wrapped by the selected circle, and improve the recognition accuracy.

Benefits of technology

Improve the accuracy of trajectory selection, ensure the correct identification of writing trajectories, avoid the irrelevant area problems introduced by the intersection of tangent rectangles, and enhance the accuracy of identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114237418B_ABST
    Figure CN114237418B_ABST
Patent Text Reader

Abstract

The present application provides a trajectory recognition method and device. The method is: when confirming that the circumscribed rectangle of the writing trajectory to be recognized intersects with the circumscribed rectangle of the selection circle, obtaining a data table of the selection circle, the data table including the correspondence between the points on the selection circle and the numerical range corresponding to the points, wherein the endpoint value of the range is the coordinate value of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point; judging whether there is a target point in the writing trajectory that hits the data table; if there is, confirming that the writing trajectory is passed by the selection circle or the writing trajectory is wrapped by the selection circle. This improves the accuracy of trajectory recognition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to a trajectory recognition method and device. Background Art

[0002] The input end and the display end of the electronic whiteboard are completely separated, and the two cannot interact. The latest product is the interactive whiteboard, which consists of a touch-sensitive hardware device and a whiteboard program. The hardware device is both the input end and the output end (display end) of the whiteboard program, and the hardware device and the whiteboard program can achieve two-way interaction. Track selection is a function of the whiteboard program in the interactive whiteboard. When the user writes in the whiteboard program, a line of writing tracks is left on the whiteboard page. The user wants to translate, rotate, scale, and delete some or all of these tracks. Before the user performs these operations, the track to be operated must be selected, that is, the selected track. The user will draw a new track as a selection circle, and the selection circle will have an intersection with the previously selected track or wrap the selected track. The track selection function implementation solution is to identify the tracks that are passed or wrapped by the selection circle. To complete the track selection function, there are mainly the following problems: first, the track written by the user is not closed (the beginning and the end of the track are not connected), and the selection circle drawn by the user is not closed; second, the track written by the user and the selection circle drawn by the user may not intersect, but the selection circle wraps the track, which cannot be directly identified by simple mathematical formulas. Therefore, track selection is a relatively important topic for interactive whiteboards.

[0003] At present, the commonly used track selection function implementation schemes in whiteboard programs are the rectangular intersection scheme and the area intersection scheme. However, in these two schemes, the circumscribed rectangle of the rectangular intersection scheme introduces a large part of the area that does not belong to the original track. The reason for the rectangular intersection may be the newly introduced irrelevant part, which makes it impossible to guarantee the correctness of the writing track; and the area intersection scheme will also introduce irrelevant areas, which will also make it impossible to guarantee the correctness of the selected writing track.

[0004] Therefore, how to perform trajectory recognition and ensure the accuracy of the recognized trajectory is one of the technical issues worth considering. Summary of the invention

[0005] In view of this, the present application provides a trajectory recognition method and device for performing trajectory recognition and ensuring the accuracy of the recognized trajectory.

[0006] Specifically, the present application is implemented through the following technical solutions:

[0007] According to a first aspect of the present application, a trajectory recognition method is provided, comprising:

[0008] When it is confirmed that the circumscribed rectangle of the writing track to be identified intersects with the circumscribed rectangle of the selection circle, a data table of the selection circle is obtained, wherein the data table includes a correspondence between a point on the selection circle and a numerical range corresponding to the point, wherein the endpoint value of the range is a coordinate value of an intersection point of the selection circle and a straight line perpendicular to the coordinate axis corresponding to the integer part of the coordinate value of the point;

[0009] Determining whether there is a target point in the data table in the writing trajectory;

[0010] If it exists, it is confirmed that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle.

[0011] According to a second aspect of the present application, a trajectory recognition device is provided, comprising:

[0012] an acquisition module, for acquiring a data table of the selection circle when confirming that the circumscribed rectangle of the writing track to be identified intersects with the circumscribed rectangle of the selection circle, the data table including a correspondence between a point on the selection circle and a numerical range corresponding to the point, wherein the endpoint value of the range is a coordinate value of an intersection point of the selection circle and a straight line perpendicular to the coordinate axis corresponding to the integer part of the coordinate value of the point;

[0013] A judgment module, used for judging whether there is a target point in the data table in the writing trajectory;

[0014] The identification module is used to confirm that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle when the judgment result of the judgment module is existence.

[0015] According to the third aspect of the present application, an electronic device is provided, including a processor and a machine-readable storage medium, the machine-readable storage medium storing a computer program that can be executed by the processor, and the processor is prompted by the computer program to execute the method provided in the first aspect of the embodiment of the present application.

[0016] According to the fourth aspect of the present application, a machine-readable storage medium is provided, which stores a computer program. When called and executed by a processor, the computer program prompts the processor to execute the method provided in the first aspect of the embodiment of the present application.

[0017] Beneficial effects of the embodiments of the present application:

[0018] On the premise of confirming that the circumscribed rectangle of the writing track intersects with the circumscribed rectangle of the selection circle, the present application will not directly confirm that the writing track is passed through or wrapped by the selection circle, but will perform further identification, that is, obtain the data table of the selection circle. Since the data table is composed of the points on the selection circle and the numerical ranges corresponding to the points, and the endpoint values ​​of the numerical ranges of each point are the coordinate values ​​of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point, it is judged based on the data table whether there is a point of the writing track in the data table. Only when it exists, it will be confirmed that the writing track is passed through or wrapped by the selection circle, thereby improving the accuracy of writing track recognition. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 It is a flow chart of a trajectory recognition method provided in an embodiment of the present application;

[0020] Figure 2 is a structural schematic diagram of a trajectory recognition device provided in an embodiment of the present application;

[0021] Figure 3 It is a hardware structure diagram of an electronic device for implementing a trajectory recognition method provided in an embodiment of the present application. DETAILED DESCRIPTION

[0022] Here, exemplary embodiments will be described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application.

[0023] The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in this article refers to and includes any or all possible combinations of one or more corresponding listed items.

[0024] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0025] The trajectory recognition method provided by the present application is described in detail below.

[0026] See also Figure 1 , Figure 1 This is a flow chart of a trajectory recognition method provided by the present application, which may include the following steps:

[0027] S101. When it is confirmed that the circumscribed rectangle of the writing track to be identified intersects with the circumscribed rectangle of the selection circle, a data table of the selection circle is obtained.

[0028] In this step, in order to improve the recognition accuracy of the writing trajectory, when confirming that the circumscribed rectangle of the writing trajectory and the circumscribed rectangle of the selection circle intersect, the present application will not immediately output that the writing trajectory is the trajectory to be selected, but will make further judgment. Based on this, the present application proposes to first obtain a data table generated based on the selection circle, and the data table is generated based on the points on the selection circle. The data table maintains the data near the selection circle, that is, the data table includes the correspondence between the points on the selection circle and the numerical range corresponding to the point, wherein the endpoint value of the above numerical range is the coordinate value of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point.

[0029] Specifically, each point on the selection circle can be traversed, and the point is composed of a horizontal coordinate value and a vertical coordinate value. Then, for the horizontal coordinate value i of the point, the integer part mi of the horizontal coordinate value i is determined, and the horizontal coordinate value and the vertical coordinate value of the intersection of the straight line x=mi (the straight line perpendicular to the horizontal coordinate axis corresponding to the integer part of the horizontal coordinate value) and the selection circle are determined. Then, the vertical coordinate value of the intersection constitutes the numerical range corresponding to the point; for example, when there are two intersections, the vertical coordinate values ​​of the two intersections constitute the numerical range corresponding to the point; when the intersection is one, the numerical range of the point is the vertical coordinate value of the intersection, that is, the two endpoints of the numerical range of the point are the vertical coordinate values ​​of the intersection; when writing the data table, the horizontal coordinate value of the point is used as the keyword key, and the numerical range of the point is written into the data table as the key value value, and then the other points on the selection circle are traversed according to the above method until Until each point is traversed; then for the ordinate value j of the point, determine the integer part ni of the ordinate value j, and determine the abscissa value and ordinate value of the intersection of the straight line y=ni (the straight line perpendicular to the ordinate axis corresponding to the integer part of the ordinate value) and the selection circle, and then the abscissa value of the intersection constitutes the numerical range corresponding to the point; for example, when there are two intersections, the abscissa values ​​of the two intersections constitute the numerical range corresponding to the point; when the intersection is 1, the numerical range of the point is the abscissa value of the intersection, that is, the two endpoints of the numerical range of the point are the abscissa values ​​of the intersection; when writing the data table, the ordinate value of the point is used as the keyword key, and the numerical range of the point is written into the data table as the key value value, and then the other points on the selection circle are traversed according to the above method until each point is traversed, thereby obtaining the data table of the selection circle. It should be noted that in the data table, the horizontal axis value as the key and the vertical axis value as the key should be distinguished; for the convenience of distinction, two data tables can be set up in actual applications, one for storing the horizontal axis value of the selection circle as the key, and the other for storing the vertical axis value of the selection circle as the key.

[0030] Optionally, the circumscribed rectangle of the writing trajectory can be determined separately according to the following method: for the above-mentioned writing trajectory to be identified, compare the horizontal coordinate value x and the vertical coordinate value of all points of the writing trajectory, find the maximum and minimum values ​​of x, name them xMax1 and xMin1 respectively, and find the maximum and minimum values ​​of y, name them yMax1 and yMin1 respectively, and then use these four values ​​to form four points in the form of (x, y), namely A1(xMin1, yMin1), A2(xMax1, yMin1), A3(xMin1, yMax1), and A4(xMax1, yMax1), and use these four points as vertices to obtain the circumscribed rectangle of the writing trajectory, named RectW.

[0031] Based on the same method as above, the circumscribed rectangle RectS of the selection circle can be obtained, whose vertices are respectively recorded as B1(xMin2, yMin2), B2(xMax2, yMin2), B3(xMin2, yMax2), and B4(xMax2, yMax2).

[0032] After obtaining the circumscribed rectangles of the writing track and the selection circle respectively, when any of the following conditions is met, it is confirmed that the circumscribed rectangle of the writing track does not intersect with the circumscribed rectangle of the selection circle: Condition 1: A1 of RectW is to the right of B2 of RectS, that is, xMin1 of A1 is greater than xMax2 of B2; Condition 2: A2 of RectW is to the left of B1 of RectS, that is, xMax1 of A2 is less than xMin2 of B1; Condition 3: A1 of RectW is below B3 of RectS, that is, yMax1 of A1 is less than yMin2 of B3; Condition 4: A3 of RectW is above B1 of RectS, that is, yMin1 of A3 is greater than yMax2 of B1.

[0033] Accordingly, when the relationship between the vertex coordinates of the circumscribed rectangle of the writing track and the circumscribed rectangle of the selection circle does not satisfy the above conditions 1 to 4, it can be confirmed that the circumscribed rectangle of the writing track and the circumscribed rectangle of the selection circle intersect.

[0034] S102, determining whether there is a target point in the writing trajectory that hits the data table, if so, executing step S103; if not, executing step S104.

[0035] In this step, after obtaining the writing trajectory of the selection circle, each point on the writing trajectory is traversed, and then it is determined whether each point on the writing trajectory hits the data table, that is, whether one coordinate value of the point is in the data table and whether the other coordinate value of the point is within the corresponding numerical range of the point; if both are satisfied, that is, one coordinate value of the point is in the data table and the other coordinate value of the point is within the corresponding numerical range of the point, then it is confirmed that the point hits the data table, that is, the point is the target point that hits the data table; if any one is not satisfied, that is, the coordinate value of the point is not in the data table, or the coordinate value of the point is in the data table but the other coordinate value of the point is not within the corresponding numerical range of the point, then it can be confirmed that the point does not hit the data table, and then the above process can be continued to determine whether other points hit the data table, until all points of the above writing trajectory are traversed, or until the target point that hits the data table is traversed.

[0036] It should be noted that the coordinate value of the above-mentioned point can be a horizontal coordinate value or a vertical coordinate value; however, when it is determined that the horizontal coordinate value of the point is in the data table, it is necessary to determine whether the vertical coordinate value of the point is within the numerical range corresponding to the point (the numerical range corresponding to the vertical coordinate); similarly, when it is determined that the vertical coordinate value of the point is in the data table, it is necessary to determine whether the horizontal coordinate value of the point is within the numerical range corresponding to the point (the numerical range corresponding to the horizontal coordinate).

[0037] S103, confirming that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle.

[0038] In this step, when it is confirmed in step S102 that there is a target point in the data table that hits the selection circle on the writing trajectory, it can be confirmed that there is an intersection between the writing trajectory and the selection circle or there is a point on the writing trajectory within the selection circle, so that it can be determined that the writing trajectory is passed by the selection circle or the writing trajectory is wrapped by the selection circle, thereby accurately confirming whether the writing trajectory can be selected, which significantly improves the accuracy of trajectory selection.

[0039] S104, confirming that the writing track is not passed by the selection circle and the writing track is not wrapped by the selection circle.

[0040] In this step, when it is confirmed that there is no point in the data table that hits the selection circle on the writing trajectory, it can be confirmed that the writing trajectory has no intersection with the selection circle and will not be wrapped by the selection circle. That is, on the premise of identifying that the circumscribed rectangle of the writing trajectory intersects with the circumscribed rectangle of the selection circle, it can also be accurately identified that the writing is estimated not to have passed through the selection circle and is not wrapped by the selection circle, thereby improving the accuracy of writing trajectory recognition.

[0041] By implementing the trajectory recognition method provided by the present application, on the premise of confirming that the circumscribed rectangle of the writing trajectory intersects with the circumscribed rectangle of the selection circle, the present application will not directly confirm that the writing trajectory is passed through or wrapped by the selection circle, but will perform further recognition, that is, obtain the data table of the selection circle. Since the data table is composed of the points on the selection circle and the numerical ranges corresponding to the points, and the endpoint value of the numerical range of each point is the coordinate value of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point, it is judged based on the data table whether there is a point of the writing trajectory in the data table. Only when it exists, it will be confirmed that the writing trajectory is passed through or wrapped by the selection circle, thereby improving the accuracy of writing trajectory recognition.

[0042] Optionally, in order to better identify whether the writing trajectory is passed through or wrapped by the selection circle, and to prevent erroneous judgment caused by missed identification, when generating a data table, the present application includes a first correspondence between the integer part of the horizontal coordinate of the point and the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, and a second numerical range corresponding to the integer part of the vertical coordinate value of the point and the integer part of the vertical coordinate value of the point, wherein the first numerical range is determined by the maximum value, minimum value and vertical coordinate value of the intersection point of the straight line perpendicular to the horizontal coordinate axis and the selection circle corresponding to the integer part of the horizontal coordinate value, and the second numerical range is determined by the maximum value, minimum value and horizontal coordinate value of the horizontal coordinate value of the intersection point of the straight line perpendicular to the vertical coordinate axis and the selection circle corresponding to the integer part of the horizontal coordinate value, and the horizontal coordinate value of the point.

[0043] By setting the above data table and establishing the data table with the integer part of the coordinate value, the range of the points in the data table is expanded to a certain extent. That is, the data table can include points around and within the selection circle as much as possible, so that the writing trajectory can be identified more accurately.

[0044] On this basis, in a possible embodiment, step S102 can be executed according to the following process: traverse each point on the above-mentioned writing trajectory to determine whether the integer part of the horizontal coordinate value of the point is in the above-mentioned data table; if it exists, determine whether the vertical coordinate value of the point is within the first numerical range corresponding to the integer part of the above-mentioned horizontal coordinate value; if it exists, confirm that the above-mentioned writing trajectory has a target point that hits the above-mentioned data table.

[0045] Specifically, when the integer part of the horizontal coordinate value of a point on the writing trajectory is in the data table (key is the horizontal coordinate value), the point is near the corresponding point on the selection circle. In order to further confirm whether the point on the writing trajectory is passed through or wrapped, this embodiment proposes to judge whether the vertical coordinate value of the point is within the first numerical range corresponding to the integer part. When the vertical coordinate value is within the first numerical range, it indicates that the vertical coordinate value of the point on the writing trajectory is between the vertical coordinate value of the intersection of the straight line perpendicular to the horizontal coordinate axis where the integer part is located and the selection circle. In this way, it can be determined that there is a target point in the writing trajectory that hits the data table, thereby determining that the writing trajectory is either passed by the selection circle or wrapped by the selection circle; when the vertical coordinate value is not within the first numerical range, it indicates that the point does not hit the data table, then continue to traverse other points of the writing trajectory, and then repeat the above process. Compared with the prior art solution that directly confirms that the point is passed through or wrapped by the selection circle based on the circumscribed rectangle, the solution provided by this embodiment can greatly improve the accuracy of the recognition result of whether the writing trajectory is passed through or wrapped.

[0046] In another possible embodiment, step S102 can also be performed according to the following method: traverse each point on the above-mentioned writing trajectory to determine whether the integer part of the vertical coordinate value of the point is in the above-mentioned data table; if so, determine whether the horizontal coordinate value of the point is within the second numerical range corresponding to the integer part of the vertical coordinate value; if so, confirm that the above-mentioned writing trajectory has a target point that hits the above-mentioned data table.

[0047] Specifically, when the integer part of the ordinate value of a point on the writing trajectory is in the data table (key is the ordinate value), the point is near the corresponding point on the selection circle. In order to further confirm whether the point on the writing trajectory is passed through or wrapped, this embodiment proposes to judge whether the abscissa value of the point is within the second numerical range corresponding to the integer part. When the abscissa value is within the second numerical range, it indicates that the abscissa value of the point on the writing trajectory is between the abscissa value of the intersection of the straight line perpendicular to the ordinate axis where the integer part is located and the selection circle. In this way, it can be determined that there is a target point in the writing trajectory that hits the data table, so that it can be determined that the writing trajectory is either passed by the selection circle or wrapped by the selection circle; and when the abscissa value is not within the second numerical range, the point does not hit the data table, and other points of the writing trajectory are traversed, and then the above process is repeated. Compared with the prior art solution of directly confirming that the point is passed through or wrapped by the selection circle based on the circumscribed rectangle, the solution provided by this embodiment can greatly improve the accuracy of the recognition result of whether the writing trajectory is passed through or wrapped.

[0048] Optionally, in order to further improve the recognition accuracy of the writing trajectory, the present embodiment proposes that step S102 can also be performed according to the following process: traverse each point on the above-mentioned writing trajectory to determine whether the integer part of the horizontal coordinate value of the point is in the above-mentioned data table; if it exists, determine whether the vertical coordinate value of the point is in the first numerical range corresponding to the integer part of the above-mentioned horizontal coordinate value; if it exists, determine whether the integer part of the vertical coordinate value of the point is in the above-mentioned data table; if it exists, determine whether the horizontal coordinate value of the point is in the second numerical range corresponding to the integer part of the above-mentioned vertical coordinate value; if it exists, confirm that the above-mentioned writing trajectory has a target point that hits the above-mentioned data table;

[0049] Specifically, in order to further improve the accuracy of the writing trajectory recognition results, the present embodiment proposes that when it is confirmed that the integer part of the horizontal coordinate value of a point on the writing trajectory is in the data table (key is the horizontal coordinate value), the point is near the corresponding point on the selection circle, and then when it is confirmed that the vertical coordinate value of the point is within the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, it indicates that the vertical coordinate value of the point on the writing trajectory is between the vertical coordinate value of the intersection of the straight line perpendicular to the horizontal coordinate axis where the integer part is located and the selection circle. At this time, it can generally be determined that the writing trajectory is passed through or wrapped by the selection circle. In order to further improve the accuracy of the recognition results of whether the writing trajectory is passed through or wrapped by the selection circle, the present embodiment proposes that it will continue to determine whether the integer part of the vertical coordinate value of the point is in the data table (key is the vertical coordinate value). When it exists, it will further determine whether the integer part of the horizontal coordinate value of the point is within the second numerical range corresponding to the integer part of the vertical coordinate value of the point. When it is within the second numerical range, it can be clearly determined that the writing trajectory has a target point in the data table that hits the selection circle, thereby determining that the writing trajectory is passed through or wrapped by the selection circle. When the ordinate value is not within the first numerical range, or the abscissa value is not within the second numerical range, it is determined that the point does not hit the data table, and the other points of the writing track can be traversed, and then the above process is repeated. Compared with the prior art that directly confirms that the selected circle passes through or is wrapped based on the circumscribed rectangle, the solution provided in this embodiment further improves the accuracy of the recognition result of whether the writing track is passed through or wrapped.

[0050] Optionally, in order to further improve the recognition accuracy of the writing trajectory, the present embodiment proposes that step S102 can also be performed according to the following process: traverse each point on the above-mentioned writing trajectory to determine whether the integer part of the ordinate value of the point is in the above-mentioned data table; if so, determine whether the abscissa value of the point is in the second numerical range corresponding to the integer part of the ordinate value; if so, determine whether the integer part of the abscissa value of the point is in the above-mentioned data table; if so, determine whether the ordinate value of the point is in the first numerical range corresponding to the integer part of the abscissa value; if so, confirm that the above-mentioned writing trajectory has a target point that hits the above-mentioned data table.

[0051] Specifically, in order to further improve the accuracy of the writing trajectory recognition results, the present embodiment proposes that when it is confirmed that the integer part of the ordinate value of a point on the writing trajectory is in the data table (key is the ordinate value), the point is near the corresponding point on the selection circle, and then when it is confirmed that the abscissa value of the point is within the second numerical range corresponding to the integer part of the ordinate value of the point, it indicates that the abscissa value of the point on the writing trajectory is between the abscissa value of the intersection of the straight line perpendicular to the ordinate axis and the selection circle where the integer part is located. At this time, it can generally be determined that the writing trajectory is passed through or wrapped by the selection circle. In order to further improve the accuracy of the recognition results of whether the writing trajectory is passed through or wrapped by the selection circle, the present embodiment proposes that it can continue to be determined whether the integer part of the abscissa value of the point is in the data table (key is the abscissa value). If it exists, it will be further determined whether the integer part of the ordinate value of the point is within the first numerical range corresponding to the integer part of the abscissa value of the point. If it is within the first numerical range, it can be clearly determined that the writing trajectory has a target point in the data table that hits the selection circle, thereby determining that the writing trajectory is passed through or wrapped by the selection circle. When the horizontal coordinate value is not within the second numerical range, or the vertical coordinate value is not within the first numerical range, it is determined that the point does not hit the data table, and the other points of the writing track can be traversed, and then the above process is repeated. Compared with the prior art that directly confirms that the selected circle passes through or is wrapped based on the circumscribed rectangle, the solution provided in this embodiment further improves the accuracy of the recognition result of whether the writing track is passed through or wrapped.

[0052] Optionally, based on any of the above embodiments, a data table may be generated according to the following method:

[0053] For the coordinate value of each point on the selection circle, the coordinate value of the point is the horizontal coordinate value or the vertical coordinate value, and the following process is performed:

[0054] Extract the integer part of a coordinate value of the point, and query whether the integer part exists in the above data table; when the integer part exists, extract the left endpoint value and the right endpoint value of the target numerical range corresponding to the integer part from the above data table, and the above target numerical range is the first numerical range or the second numerical range; if the other coordinate value of the point is greater than the above right endpoint value, update the right endpoint value of the above target numerical range with the other coordinate value of the point; if the other coordinate value of the point is less than the above left endpoint value, update the left endpoint value of the above target numerical range with the other coordinate value of the point; if the integer part does not exist, determine the maximum value and the minimum value of the intersection of the straight line perpendicular to the coordinate axis and the above selection circle corresponding to the integer part; and create a corresponding relationship between the integer part and the numerical range of the point in the data table; if the other coordinate value of the point is greater than the above maximum value, write the other coordinate value and the above minimum value as endpoint values ​​into the numerical range created for the point respectively; if the other coordinate value of the point is less than the above minimum value, write the other coordinate value and the above maximum value as endpoint values ​​into the numerical range created for the point.

[0055] It is worth noting that when one of the above coordinate values ​​is a horizontal coordinate value and the other coordinate value is a vertical coordinate value, the above target numerical range is a first numerical range; and when one of the above coordinate values ​​is a vertical coordinate value and the other coordinate value is a horizontal coordinate value, the above target numerical range is a second numerical range.

[0056] Specifically, the present application will pre-establish a data table for the selection circle with a key and a numerical range as the corresponding relationship. The key here refers to the integer part of the horizontal coordinate value x or the vertical coordinate value y of the point, and the numerical range is defined as: when the key is the integer part of the horizontal coordinate value x, a straight line perpendicular to the x-axis is drawn with the integer part of the horizontal coordinate value. This straight line will intersect with the selection circle, and the maximum and minimum values ​​of the vertical coordinate value y at these intersections constitute the first numerical range (if there is only one intersection, the numerical range has only one value, which is both the maximum and the minimum value); similarly, when the key is the integer part of the vertical coordinate value, a straight line perpendicular to the y-axis is drawn with the integer part of the vertical coordinate value. This straight line will intersect with the selection circle, and the maximum and minimum values ​​of the horizontal coordinate values ​​at these intersections constitute the second numerical range (if there is only one intersection, the second numerical range has only one value, which is both the maximum and the minimum value).

[0057] On this basis, data is written to the data table according to the following process: extract each point on the selection circle, and take the horizontal coordinate value as an example to illustrate, that is, query the data table whether there is an integer part of the horizontal coordinate value of the point. If it exists, use the integer part of the horizontal coordinate value of the point as a key to query the data table whether the corresponding key already has a corresponding first numerical range. If it exists, compare the vertical coordinate value of the point with the minimum and maximum values ​​of the first numerical range. If the vertical coordinate value of the point is less than the minimum value of the first numerical range, set the minimum value of the first numerical range to the vertical coordinate value of the point. Alternatively, if the vertical coordinate value of the point is greater than the maximum value of the first numerical range, Then the maximum value of the first numerical range is set as the ordinate value of the point; if the integer part of the abscissa value of the point is not in the data table, a new key and the corresponding relationship between the first numerical range are created, and the endpoint value of the first numerical range is set as the maximum and minimum value between the ordinate value of the point, the integer part of the abscissa value of the point, the ordinate value of the line perpendicular to the abscissa axis and the intersection of the selection circle, that is, when the ordinate value of the point is greater than the maximum value of the intersection, the endpoint value of the first numerical range is the minimum value of the ordinate value of the point and the intersection; and when the ordinate value of the point is less than the minimum value of the intersection, the endpoint value of the first numerical range is the maximum value of the intersection and the ordinate value of the point. Similarly, the same operation is performed on the integer part of the ordinate value of the point. Finally, all points on the selection circle are traversed and the above operation is performed, and finally a data table constructed based on the point data of the selection circle can be obtained.

[0058] Optionally, based on any of the above embodiments, step S103 can be executed according to the following process: determine whether there are overlapping points between the above writing trajectory and the above selection circle; when there are overlapping points, confirm that the above writing trajectory is passed by the above selection circle; when there are no overlapping points, confirm that the above writing trajectory is wrapped by the above selection circle.

[0059] Specifically, when confirming that the writing trajectory is passed through or wrapped by the selection circle, in order to further confirm whether the writing trajectory is passed through or wrapped by the selection circle, the present embodiment proposes that it is possible to determine whether there are overlapping points between the writing trajectory and the selection circle, that is, whether there are exactly the same points. If so, it is confirmed that the writing trajectory is passed through by the selection circle; if not, it is confirmed that the writing trajectory is wrapped by the selection circle.

[0060] It should be noted that the trajectory recognition method provided in any embodiment of the present application can be applied to an electronic whiteboard. When implemented, the above trajectory recognition method can be executed by a whiteboard program in the electronic whiteboard. By implementing any of the above embodiments, the accuracy of the writing trajectory recognition result is greatly improved.

[0061] Based on the same inventive concept, the present application also provides a trajectory recognition device corresponding to the above trajectory recognition method. The implementation of the trajectory recognition device can refer to the above description of the trajectory recognition method, which will not be discussed here one by one.

[0062] See also Figure 2 , Figure 2 A trajectory recognition device provided by an exemplary embodiment of the present application includes:

[0063] The acquisition module 201 is used to acquire a data table of the selection circle when it is confirmed that the circumscribed rectangle of the writing track to be identified intersects with the circumscribed rectangle of the selection circle, wherein the data table includes a correspondence between a point on the selection circle and a numerical range corresponding to the point, wherein the endpoint value of the range is a coordinate value of an intersection point of the selection circle and a straight line perpendicular to the coordinate axis corresponding to the integer part of the coordinate value of the point;

[0064] A judgment module 202 is used to judge whether there is a target point in the data table in the writing trajectory;

[0065] The identification module 203 is used to confirm that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle when the judgment result of the judgment module 202 is existence.

[0066] Optionally, the point on the selection circle in this embodiment is composed of a horizontal coordinate value and a vertical coordinate value, then the correspondence between the point on the selection circle and the numerical range corresponding to the point includes a first correspondence between the integer part of the horizontal coordinate of the point and the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, and a second numerical range corresponding to the integer part of the vertical coordinate value of the point and the integer part of the vertical coordinate value of the point, wherein the first numerical range is determined by the maximum value, minimum value of the vertical coordinate value of the intersection point of the straight line perpendicular to the horizontal coordinate axis corresponding to the integer part of the horizontal coordinate value and the selection circle, and the vertical coordinate value of the point, and the second numerical range is determined by the maximum value, minimum value of the horizontal coordinate value of the intersection point of the straight line perpendicular to the vertical coordinate axis corresponding to the integer part of the vertical coordinate value and the selection circle, and the horizontal coordinate value of the point;

[0067] On this basis, the judgment module 202 is specifically used to traverse each point on the writing trajectory, and judge whether the integer part of the horizontal coordinate value of the point is in the data table; if it exists, judge whether the vertical coordinate value of the point is within the first numerical range corresponding to the integer part of the horizontal coordinate value; if it exists, confirm that the writing trajectory has a target point that hits the data table;

[0068] or,

[0069] The above-mentioned judgment module 202 is specifically used to traverse each point on the writing trajectory to determine whether the integer part of the vertical coordinate value of the point is in the data table; if it exists, determine whether the horizontal coordinate value of the point is within the second numerical range corresponding to the integer part of the vertical coordinate value; if it exists, confirm that the writing trajectory has a target point that hits the data table.

[0070] Optionally, in another embodiment, the judgment module 202 is specifically used to traverse each point on the writing trajectory, and judge whether the integer part of the horizontal coordinate value of the point is in the data table; if it exists, judge whether the vertical coordinate value of the point is in the first numerical range corresponding to the integer part of the horizontal coordinate value; if it exists, judge whether the integer part of the vertical coordinate value of the point is in the data table; if it exists, judge whether the horizontal coordinate value of the point is in the second numerical range corresponding to the integer part of the vertical coordinate value; if it exists, confirm that the writing trajectory has a target point that hits the data table;

[0071] or,

[0072] The above-mentioned judgment module 202 is used to traverse each point on the writing trajectory to determine whether the integer part of the ordinate value of the point is in the data table; if so, determine whether the abscissa value of the point is in the second numerical range corresponding to the integer part of the ordinate value; if so, determine whether the integer part of the abscissa value of the point is in the data table; if so, determine whether the ordinate value of the point is in the first numerical range corresponding to the integer part of the abscissa value; if so, confirm that the writing trajectory has a target point that hits the data table.

[0073] Optionally, based on any of the above embodiments, in this embodiment,

[0074] The above-mentioned recognition module 203 is specifically used to determine whether there are overlapping points between the writing trajectory and the selection circle; when there are overlapping points, it is confirmed that the writing trajectory is passed by the selection circle; when there are no overlapping points, it is confirmed that the writing trajectory is wrapped by the selection circle.

[0075] Optionally, based on the above embodiment, the trajectory recognition device provided in this embodiment further includes:

[0076] A creation module (not shown in the figure) is used to generate the data table according to the following method:

[0077] For the coordinate value of each point on the selection circle, the coordinate value of the point is the horizontal coordinate value or the vertical coordinate value, and the following process is performed:

[0078] Extract the integer part of a coordinate value of the point, and query whether the integer part exists in the data table;

[0079] When the integer part exists, extracting the left endpoint value and the right endpoint value of the target numerical range corresponding to the integer part from the data table, the target numerical range being the first numerical range or the second numerical range;

[0080] If the other coordinate value of the point is greater than the right endpoint value, the right endpoint value of the target numerical range is updated using the other coordinate value of the point;

[0081] If the other coordinate value of the point is smaller than the left endpoint value, the left endpoint value of the target numerical range is updated using the other coordinate value of the point;

[0082] If the integer part does not exist, determine the maximum and minimum values ​​of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part; and create a corresponding relationship between the integer part of the point and the value range in the data table;

[0083] If the other coordinate value of the point is greater than the maximum value, the other coordinate value and the minimum value are written as endpoint values ​​into the value range created for the point respectively;

[0084] If the other coordinate value of the point is less than the minimum value, the other coordinate value and the maximum value are written as endpoint values ​​into the value range created for the point.

[0085] In any trajectory recognition device provided by the present embodiment, on the premise of confirming that the circumscribed rectangle of the writing trajectory intersects with the circumscribed rectangle of the selection circle, the present application will not directly confirm that the writing trajectory is passed through or wrapped by the selection circle, but will perform further recognition, that is, obtain the data table of the selection circle. Since the data table is composed of the points on the selection circle and the numerical ranges corresponding to the points, and the endpoint value of the numerical range of each point is the coordinate value of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point, it is judged based on the data table whether there is a point of the writing trajectory in the data table. Only when it exists, it will be confirmed that the writing trajectory is passed through or wrapped by the selection circle, thereby improving the accuracy of writing trajectory recognition.

[0086] Based on the same inventive concept, the embodiment of the present application provides an electronic device, such as Figure 3 As shown, the electronic device includes a processor 301 and a machine-readable storage medium 302, wherein the machine-readable storage medium 302 stores a computer program that can be executed by the processor 301, and the processor 301 is prompted by the computer program to execute the trajectory recognition method provided by any embodiment of the present application. In addition, the electronic device also includes a communication interface 303 and a communication bus 304, wherein the processor 301, the communication interface 303, and the machine-readable storage medium 302 communicate with each other through the communication bus 304.

[0087] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0088] The communication interface is used for communication between the above electronic device and other devices.

[0089] The memory may include a random access memory (RAM), a DDR SRAM (Double Data Rate Synchronous Dynamic Random Access Memory), or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0090] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0091] In addition, an embodiment of the present application provides a machine-readable storage medium, which stores a computer program. When called and executed by a processor, the computer program prompts the processor to execute the trajectory recognition method provided by the embodiment of the present application.

[0092] As for the electronic device and machine-readable storage medium embodiments, since the method contents involved are basically similar to the aforementioned method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0093] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0094] The implementation process of the functions and effects of each unit / module in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.

[0095] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can refer to the partial description of the method embodiments. The device embodiments described above are merely schematic, wherein the units / modules described as separate components may or may not be physically separated, and the components displayed as units / modules may or may not be physical units / modules, that is, they may be located in one place, or they may be distributed on multiple network units / modules. Some or all of the units / modules may be selected according to actual needs to achieve the purpose of the present application. A person of ordinary skill in the art can understand and implement it without creative work.

[0096] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A trajectory recognition method, characterized in that: include: When it is confirmed that the circumscribed rectangle of the writing track to be identified intersects with the circumscribed rectangle of the selection circle, a data table of the selection circle is obtained, wherein the data table includes points on the selection circle and numerical ranges corresponding to the points, wherein the endpoint values ​​of the range are the coordinate values ​​of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point; Determining whether there is a target point in the data table in the writing trajectory; If it exists, it is confirmed that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle.

2. The method according to claim 1, characterized in that The point on the selection circle is composed of a horizontal coordinate value and a vertical coordinate value, and the correspondence between the point on the selection circle and the numerical range corresponding to the point includes a first correspondence between the integer part of the horizontal coordinate of the point and the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, and a second numerical range corresponding to the integer part of the vertical coordinate value of the point and the integer part of the vertical coordinate value of the point, wherein the first numerical range is determined by the maximum value, minimum value of the vertical coordinate value of the intersection point of the straight line perpendicular to the horizontal coordinate axis corresponding to the integer part of the horizontal coordinate value and the selection circle, and the vertical coordinate value of the point, and the second numerical range is determined by the maximum value, minimum value of the horizontal coordinate value of the intersection point of the straight line perpendicular to the vertical coordinate axis corresponding to the integer part of the vertical coordinate value and the selection circle, and the horizontal coordinate value of the point; Then, judging whether there is a target point in the writing trajectory that hits the data table includes: Traversing each point on the writing trajectory, and determining whether the integer part of the abscissa value of the point is in the data table; If it exists, determine whether the ordinate value of the point is within the first numerical range corresponding to the integer part of the abscissa value; If so, confirming that the writing trajectory has a target point that hits the data table; or, Determining whether there is a target point in the data table in the writing trajectory includes: Traversing each point on the writing track, and determining whether the integer part of the ordinate value of the point is in the data table; If it exists, determine whether the abscissa value of the point is within the second numerical range corresponding to the integer part of the ordinate value; If so, it is confirmed that the writing trajectory has a target point that hits the data table.

3. The method according to claim 1, characterized in that The point on the selection circle is composed of a horizontal coordinate value and a vertical coordinate value, and the correspondence between the point on the selection circle and the numerical range corresponding to the point includes a first correspondence between the integer part of the horizontal coordinate of the point and the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, and a second numerical range corresponding to the integer part of the vertical coordinate value of the point and the integer part of the vertical coordinate value of the point, wherein the first numerical range is determined by the maximum value, minimum value of the vertical coordinate value of the intersection point of the straight line perpendicular to the horizontal coordinate axis corresponding to the integer part of the horizontal coordinate value and the selection circle, and the vertical coordinate value of the point, and the second numerical range is determined by the maximum value, minimum value of the horizontal coordinate value of the intersection point of the straight line perpendicular to the vertical coordinate axis corresponding to the integer part of the vertical coordinate value and the selection circle, and the horizontal coordinate value of the point; Then, judging whether there is a target point in the writing trajectory that hits the data table includes: Traversing each point on the writing trajectory, and determining whether the integer part of the abscissa value of the point is in the data table; If it exists, determine whether the ordinate value of the point is within the first numerical range corresponding to the integer part of the abscissa value; If it exists, determine whether the integer part of the ordinate value of the point is in the data table; If it exists, determine whether the abscissa value of the point is within the second numerical range corresponding to the integer part of the ordinate value; If so, confirming that the writing trajectory has a target point that hits the data table; or, Determining whether there is a target point in the data table in the writing trajectory includes: Traversing each point on the writing track, and determining whether the integer part of the ordinate value of the point is in the data table; If it exists, determine whether the abscissa value of the point is within the second numerical range corresponding to the integer part of the ordinate value; If it exists, determine whether the integer part of the abscissa value of the point is in the data table; If it exists, determine whether the ordinate value of the point is within the first numerical range corresponding to the integer part of the abscissa value; If so, it is confirmed that the writing trajectory has a target point that hits the data table.

4. The method according to claim 1, characterized in that: Confirming that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle includes: Determine whether there is any overlapping point between the writing track and the selection circle; When there are overlapping points, it is confirmed that the writing track is passed by the selection circle; When there are no overlapping points, it is confirmed that the writing track is surrounded by the selection circle.

5. The method according to claim 2 or 3, characterized in that: Generate the data table as follows: For the coordinate value of each point on the selection circle, the coordinate value of the point is the horizontal coordinate value or the vertical coordinate value, and the following process is performed: Extract the integer part of a coordinate value of the point, and query whether the integer part exists in the data table; When the integer part exists, extracting the left endpoint value and the right endpoint value of the target numerical range corresponding to the integer part from the data table, the target numerical range being the first numerical range or the second numerical range; If the other coordinate value of the point is greater than the right endpoint value, the right endpoint value of the target numerical range is updated using the other coordinate value of the point; If the other coordinate value of the point is smaller than the left endpoint value, the left endpoint value of the target numerical range is updated using the other coordinate value of the point; If the integer part does not exist, determining the maximum and minimum values ​​of the intersection points of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part; And create a corresponding relationship between the integer part of the point and the value range in the data table; If the other coordinate value of the point is greater than the maximum value, the other coordinate value and the minimum value are written as endpoint values ​​into the value range created for the point respectively; If the other coordinate value of the point is less than the minimum value, the other coordinate value and the maximum value are written as endpoint values ​​into the value range created for the point.

6. A trajectory recognition device, characterized in that: include: an acquisition module, for acquiring a data table of the selection circle when confirming that the circumscribed rectangle of the writing track to be identified intersects with the circumscribed rectangle of the selection circle, the data table comprising points on the selection circle and a numerical range corresponding to the points, wherein the endpoint value of the range is the coordinate value of the intersection of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part of the coordinate value of the point; A judgment module, used for judging whether there is a target point in the data table in the writing trajectory; The identification module is used to confirm that the writing track is passed by the selection circle or the writing track is wrapped by the selection circle when the judgment result of the judgment module is existence.

7. The device according to claim 6, characterized in that The point on the selection circle is composed of a horizontal coordinate value and a vertical coordinate value, and the correspondence between the point on the selection circle and the numerical range corresponding to the point includes a first correspondence between the integer part of the horizontal coordinate of the point and the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, and a second numerical range corresponding to the integer part of the vertical coordinate value of the point and the integer part of the vertical coordinate value of the point, wherein the first numerical range is determined by the maximum value, minimum value of the vertical coordinate value of the intersection point of the straight line perpendicular to the horizontal coordinate axis corresponding to the integer part of the horizontal coordinate value and the selection circle, and the vertical coordinate value of the point, and the second numerical range is determined by the maximum value, minimum value of the horizontal coordinate value of the intersection point of the straight line perpendicular to the vertical coordinate axis corresponding to the integer part of the vertical coordinate value and the selection circle, and the horizontal coordinate value of the point; The judgment module is specifically used to traverse each point on the writing trajectory, and judge whether the integer part of the horizontal coordinate value of the point is in the data table; if it exists, judge whether the vertical coordinate value of the point is within the first numerical range corresponding to the integer part of the horizontal coordinate value; if it exists, confirm that the writing trajectory has a target point that hits the data table; or, The judgment module is specifically used to traverse each point on the writing trajectory and judge whether the integer part of the vertical coordinate value of the point is in the data table; if it exists, judge whether the horizontal coordinate value of the point is in the second numerical range corresponding to the integer part of the vertical coordinate value; if it exists, confirm that the writing trajectory has a target point that hits the data table.

8. The device according to claim 6, characterized in that The point on the selection circle is composed of a horizontal coordinate value and a vertical coordinate value, and the correspondence between the point on the selection circle and the numerical range corresponding to the point includes a first correspondence between the integer part of the horizontal coordinate of the point and the first numerical range corresponding to the integer part of the horizontal coordinate value of the point, and a second numerical range corresponding to the integer part of the vertical coordinate value of the point and the integer part of the vertical coordinate value of the point, wherein the first numerical range is determined by the maximum value, minimum value of the vertical coordinate value of the intersection point of the straight line perpendicular to the horizontal coordinate axis corresponding to the integer part of the horizontal coordinate value and the selection circle, and the vertical coordinate value of the point, and the second numerical range is determined by the maximum value, minimum value of the horizontal coordinate value of the intersection point of the straight line perpendicular to the vertical coordinate axis corresponding to the integer part of the vertical coordinate value and the selection circle, and the horizontal coordinate value of the point; The judgment module is specifically used to traverse each point on the writing trajectory, and judge whether the integer part of the horizontal coordinate value of the point is in the data table; if it exists, judge whether the vertical coordinate value of the point is in the first numerical range corresponding to the integer part of the horizontal coordinate value; if it exists, judge whether the integer part of the vertical coordinate value of the point is in the data table; if it exists, judge whether the horizontal coordinate value of the point is in the second numerical range corresponding to the integer part of the vertical coordinate value; if it exists, confirm that the writing trajectory has a target point that hits the data table; or, The judgment module is used to traverse each point on the writing trajectory and judge whether the integer part of the ordinate value of the point is in the data table; if so, judge whether the abscissa value of the point is in the second numerical range corresponding to the integer part of the ordinate value; if so, judge whether the integer part of the abscissa value of the point is in the data table; if so, judge whether the ordinate value of the point is in the first numerical range corresponding to the integer part of the abscissa value; if so, confirm that the writing trajectory has a target point that hits the data table.

9. The device according to claim 6, characterized in that The recognition module is specifically used to determine whether there are overlapping points between the writing track and the selection circle; when there are overlapping points, it is confirmed that the writing track is passed by the selection circle; when there are no overlapping points, it is confirmed that the writing track is wrapped by the selection circle.

10. The device according to claim 7 or 8, characterized in that Also includes: Create a module for generating the data table as follows: For the coordinate value of each point on the selection circle, the coordinate value of the point is the horizontal coordinate value or the vertical coordinate value, and the following process is performed: Extract the integer part of a coordinate value of the point, and query whether the integer part exists in the data table; When the integer part exists, extracting the left endpoint value and the right endpoint value of the target numerical range corresponding to the integer part from the data table, the target numerical range being the first numerical range or the second numerical range; If the other coordinate value of the point is greater than the right endpoint value, the right endpoint value of the target numerical range is updated using the other coordinate value of the point; If the other coordinate value of the point is smaller than the left endpoint value, the left endpoint value of the target numerical range is updated using the other coordinate value of the point; If the integer part does not exist, determining the maximum and minimum values ​​of the intersection points of the straight line perpendicular to the coordinate axis and the selection circle corresponding to the integer part; And create a corresponding relationship between the integer part of the point and the value range in the data table; If the other coordinate value of the point is greater than the maximum value, the other coordinate value and the minimum value are written as endpoint values ​​into the value range created for the point respectively; If the other coordinate value of the point is less than the minimum value, the other coordinate value and the maximum value are written as endpoint values ​​into the value range created for the point.