Method and device for determining touch point, electronic equipment and storage medium
By determining the first actual touch point and the human eye position point on the suspended touch panel, and calculating the intersection point between the first spatial line and the suspended touch panel, the inconsistency between the actual touch point of the suspended touch panel and the target touch point is solved. Problem, the estimated touch point determination is achieved closer to the target touch point.
Patent Information
- Application Number
- CN202311063229.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-22
- Publication Date
- 2025-02-25
AI Technical Summary
Since the transparent conductive layer of the floating touch panel can only transmit detection signals vertically upward, the actual touch point is inconsistent with the target touch point from the human perspective of the panel controller, and cannot meet the touch needs of the panel controller.
By determining the first suspended position point based on the first actual touch point and the detection signal change amount, determining the human eye position point in combination with the human eye tracking device, calculating the intersection point of the first spatial line and the suspended touch panel, and then determining that the control end is suspended The corresponding estimated touch points on the touch panel.
This method can be closer to the corresponding target touch point on the floating touch panel at the control end at the human eye viewing angle, and meet the touch needs of the panel controller.
Smart Images

Figure CN119512388A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of touch technology, and in particular to a method, device, electronic device and storage medium for determining a touch point. Background Art
[0002] A hover touch panel is a touch panel that can be controlled without direct contact with the panel touch object (e.g., a stylus, finger, etc.). The touch principle of a hover touch panel is that the transparent conductive layer configured in the hover touch panel will emit a detection signal. When the control end of the panel touch object (e.g., the tip of a stylus, fingertip, etc.) approaches the hover touch panel, the detection signal emitted by the transparent conductive layer will change, and the actual touch point corresponding to the control end on the hover touch panel can be determined based on the change in the detection signal.
[0003] However, since the transparent conductive layer can generally only emit detection signals vertically upward, the actual touch points are often the vertical projection points of the control end on the floating touch panel. In many application scenarios, the floating touch panel will be tilted relative to the horizontal plane. In this case, due to factors such as parallax, the actual touch points will often be inconsistent with the target touch points corresponding to the control end on the floating touch panel from the human eye perspective of the panel controller. In this way, the actual touch points will not meet the touch requirements of the panel controller for the floating touch panel. Therefore, how to determine the touch points that better meet the touch requirements of the panel controller for the floating touch panel has become a technical problem that needs to be solved urgently by relevant personnel. Summary of the invention
[0004] To solve one or more of the above technical problems, the present application provides a method, device, electronic device and storage medium for determining a touch point.
[0005] According to a first aspect of the present application, a method for determining a touch point is provided, which is applied to determine an estimated touch point corresponding to a control end of a panel touch object on a floating touch panel, the method comprising:
[0006] Determine a first floating position point corresponding to the control terminal above the floating touch panel based on a first actual touch point corresponding to the control terminal on the floating touch panel and a change amount of a detection signal corresponding to the first actual touch point;
[0007] Using an eye tracking device fixedly arranged relative to the floating touch panel, determining the eye position point corresponding to the target eye of the panel controller;
[0008] According to the first suspension position point and the human eye position point, determining the intersection point of the first space straight line and the suspension touch panel; the first space straight line passes through the first suspension position point and the human eye position point;
[0009] According to the intersection point, an estimated touch point corresponding to the first actual touch point is determined; the estimated touch point corresponding to the first actual touch point is used to indicate the estimated touch point corresponding to the control terminal on the floating touch panel when corresponding to the first actual touch point.
[0010] According to a second aspect of the present application, a device for determining a touch point is provided, which is used to determine an estimated touch point corresponding to a control end of a panel touch object on a floating touch panel, and the device includes:
[0011] A first floating position point determination module, used to determine a first floating position point corresponding to the control terminal above the floating touch panel based on a first actual touch point corresponding to the control terminal on the floating touch panel and a change amount of a detection signal corresponding to the first actual touch point;
[0012] The eye position determination module is used to determine the eye position corresponding to the target eye of the panel controller by using an eye tracking device fixedly arranged relative to the floating touch panel;
[0013] An intersection determination module is used to determine the intersection of the first space straight line and the floating touch panel according to the first floating position point and the human eye position point; the first space straight line passes through the first floating position point and the human eye position point;
[0014] The estimated touch point determination module is used to determine the estimated touch point corresponding to the first actual touch point based on the intersection point; the estimated touch point corresponding to the first actual touch point is used to indicate the estimated touch point corresponding to the control terminal on the floating touch panel when corresponding to the first actual touch point.
[0015] According to a third aspect of the present application, an electronic device is provided, including:
[0016] at least one processor; and
[0017] a memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method in any embodiment of the present application.
[0019] According to a fourth aspect of the present application, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute the method in any embodiment of the present application.
[0020] The technology of the present application determines the estimated touch point corresponding to the control terminal on the floating touch panel when corresponding to the first actual touch point based on the intersection of the first spatial straight line and the floating touch panel. Since the first spatial straight line passes through the first floating position point and the human eye position point, the first spatial straight line can be regarded as the human eye line of sight passing through the control terminal, so that the intersection of the first spatial straight line and the floating touch panel can be regarded as the projection point of the control terminal on the floating touch panel under the human eye line of sight, that is, the touch point corresponding to the control terminal on the floating touch panel under the human eye line of sight. In this case, the estimated touch point corresponding to the control terminal on the floating touch panel determined can be closer to the target touch point corresponding to the control terminal on the floating touch panel under the human eye perspective. That is to say, based on the intersection, the estimated touch point corresponding to the first actual touch point determined is a touch point that can better meet the touch requirements of the panel controller for the floating touch panel.
[0021] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present application.
[0023] Figure 1 A flow chart of a method for determining a touch point provided in an embodiment of the present application is shown;
[0024] Figure 2 A schematic diagram of a three-dimensional space coordinate system provided in an embodiment of the present application is shown;
[0025] Figure 3 A schematic diagram showing a viewing angle inclination provided in an embodiment of the present application is shown;
[0026] Figure 4 A schematic diagram showing an actual moving length provided in an embodiment of the present application is shown;
[0027] Figure 5 A schematic diagram showing a device for determining a touch point provided in an embodiment of the present application is shown; and
[0028] Figure 6 A schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0029] The following is a description of exemplary embodiments of the present application in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0030] This application provides a method for determining a touch point. Figure 1 , which is a flow chart of a method for determining a touch point provided in an embodiment of the present application. The method is applied to determine the estimated touch point corresponding to the control end of the panel touch object on the floating touch panel, and specifically may include the following steps:
[0031] Step S101: determining a first floating position point corresponding to the control terminal above the floating touch panel based on a first actual touch point corresponding to the control terminal on the floating touch panel and a detection signal variation corresponding to the first actual touch point.
[0032] Step S102: using an eye tracking device fixedly arranged relative to the floating touch panel to determine the eye position point corresponding to the target eye of the panel controller.
[0033] Step S103: determining the intersection of the first spatial straight line and the floating touch panel according to the first floating position point and the human eye position point; the first spatial straight line passes through the first floating position point and the human eye position point.
[0034] Step S104: determining an estimated touch point corresponding to the first actual touch point according to the intersection point; the estimated touch point corresponding to the first actual touch point is used to indicate the estimated touch point corresponding to the control terminal on the floating touch panel when corresponding to the first actual touch point.
[0035] The method for determining the touch point provided in the embodiment of the present application determines the estimated touch point corresponding to the control terminal on the floating touch panel when corresponding to the first actual touch point based on the intersection of the first spatial straight line and the floating touch panel. Since the first spatial straight line passes through the first floating position point and the human eye position point, the first spatial straight line can be regarded as the human eye line of sight passing through the control terminal, so that the intersection of the first spatial straight line and the floating touch panel can be regarded as the projection point of the control terminal on the floating touch panel under the human eye line of sight, that is, the touch point corresponding to the control terminal on the floating touch panel under the human eye line of sight. In this case, the estimated touch point corresponding to the control terminal on the floating touch panel determined can be closer to the target touch point corresponding to the control terminal on the floating touch panel under the human eye perspective. That is to say, based on the intersection, the estimated touch point corresponding to the first actual touch point determined is a touch point that can better meet the touch requirements of the panel controller for the floating touch panel.
[0036] The method for determining touch points provided in the embodiments of the present application, the corresponding execution subjects can be applications, services, instances, functional modules in software form, virtual machines (VM) or cloud servers, etc., or hardware devices (such as servers, terminal devices) or hardware chips with the function of determining touch points. The hardware chip can be a CPU (Central Processing Unit), a GPU (Graphics Processing), a FPGA (Field Programmable Gate Array), a NPU (Neural-network Processing Unit), an AI (Artificial Intelligence) acceleration card or a DPU (Data Processing Unit), etc.
[0037] The panel touch party generally refers to a person who has a touch demand for the floating touch panel. The panel touch object can refer to the finger of the panel touch party, or it can refer to a stylus pre-configured for the floating touch panel (i.e., a stylus that can be used with the floating touch panel). In the embodiment of the present application, the type of the panel touch object is not specifically limited. Corresponding to the panel touch object, the control end of the panel touch object can refer to the fingertip, the pen head of the stylus, etc.
[0038] In an embodiment of the present application, the first actual touch point and the second actual touch point are actual touch points corresponding to the control end on the floating touch panel determined based on the amount of change in the detection signal. Specifically, the second actual control point is an actual touch point corresponding to the control end on the floating touch panel determined again based on the amount of change in the detection signal at a specified time point after the first actual touch point is determined based on the amount of change in the detection signal. The first actual touch point and the second actual touch point may be different actual touch points. The first actual touch point and the second actual touch point may also be the same actual touch point. That is, at a specified time after the first actual touch point is determined based on the amount of change in the detection signal, the control end still corresponds to the first actual touch point on the floating touch panel.
[0039] In a possible implementation, when determining the first floating position point corresponding to the control terminal above the floating touch panel based on the first actual touch point corresponding to the control terminal on the floating touch panel and the amount of change in the detection signal corresponding to the first actual touch point, a pre-configured control terminal floating height list can be obtained. Then, based on the amount of change in the detection signal corresponding to the first actual touch point, the corresponding target control terminal floating height is screened out from the control terminal floating height list. Finally, the first floating position point is obtained based on the first actual touch point and the target control terminal floating height.
[0040] The control terminal suspension height list records the control terminal suspension heights corresponding to multiple detection signal changes, wherein the control terminal suspension height is used to indicate the suspension height of the control terminal relative to the suspension touch panel. In actual applications, the detection signal changes caused by the panel touch object at different suspension heights can be collected in advance for the suspension touch panel and the panel touch object, and configured as the control terminal suspension height list.
[0041] It should be noted that, for the same suspension height, the amount of change in the detection signal caused by different types of panel touch objects may be different. Therefore, for different types of panel touch objects, it is necessary to collect the amount of change in the detection signal caused by the panel touch objects at different suspension heights, and configure them as a control end suspension height list. In other words, for different types of panel touch objects, it is necessary to configure the corresponding control end suspension height list respectively. Correspondingly, when obtaining the pre-configured control end suspension height list, it is necessary to first determine the type of panel touch object, and then obtain the corresponding control end suspension height list according to the type of panel touch object.
[0042] In the embodiment of the present application, the target control terminal suspension height refers to the corresponding suspension height of the control terminal on the suspension touch panel when corresponding to the first actual touch point (i.e., the height of the control terminal relative to the suspension touch panel). When the first actual touch point is used as the vertical projection point of the control terminal on the suspension touch panel, the first suspension position point can be determined based on the first actual touch point and the target control terminal suspension height. It can be seen that the first suspension position point can be quickly and accurately determined based on the first actual touch point and the target control terminal suspension height.
[0043] In a possible implementation, when using an eye tracking device that is fixedly configured relative to the floating touch panel to determine the eye position point corresponding to the target eye of the panel controller, the device position point corresponding to the eye tracking device can be first obtained. Then, the relative position relationship between the target eye and the eye tracking device is obtained. Finally, the eye position point is determined based on the device position point and the relative position relationship.
[0044] Since the eye tracking device is fixedly configured relative to the floating touch panel, the position of the eye tracking device is fixed relative to the floating touch panel, that is, the device position point is fixed relative to the floating touch panel. In this case, the eye position point determined based on the device position point and the relative position relationship between the target eye and the eye tracking device is also fixed relative to the floating touch panel. In this way, it is convenient to subsequently determine the first floating position point and the eye position point, and determine the intersection of the first spatial straight line and the floating touch panel based on the first floating position point and the eye position point.
[0045] In one example, the eye tracking device may be an image acquisition device, such as a camera. In the case where the eye tracking device is an image acquisition device, obtaining the relative position relationship between the target eye and the eye tracking device may refer to determining the relative position relationship between the target eye in the image and the image acquisition device based on image information corresponding to the target image acquired by the image acquisition device.
[0046] It should be noted that the present application does not specifically limit the type of eye tracking device, that is, the eye tracking device may also be other devices besides the image acquisition device. At the same time, in the embodiments of the present application, the method for determining the relative position relationship between the target eye and the eye tracking device is not specifically limited. In practical applications, the relative position relationship determination strategy corresponding to the type of eye tracking device can be selected according to the type of eye tracking device, and the relative position relationship between the target eye and the eye tracking device can be determined based on the selected relative position relationship determination strategy.
[0047] In a possible implementation, in order to facilitate the determination of the intersection of the first spatial straight line and the floating touch panel, a three-dimensional spatial coordinate system can be constructed in advance with the plane where the floating touch panel is located as the XY plane. Then, in the three-dimensional spatial coordinate system, the spatial plane equation corresponding to the plane where the floating touch panel is located and the spatial straight line equation corresponding to the first spatial straight line are determined respectively. Finally, in the three-dimensional spatial coordinate system, the coordinates of the intersection of the spatial plane equation and the spatial straight line equation are calculated to determine the intersection. Among them, the spatial straight line equation corresponding to the first spatial straight line is determined based on the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point.
[0048] Establishing a three-dimensional space coordinate system facilitates the identification of actual touch points, floating position points, human eye position points, and intersection points in a unified and recognizable manner. In addition, when establishing a three-dimensional space coordinate system, the intersection of the first spatial straight line and the floating touch panel can be converted into the coordinates of the intersection of the spatial plane equation and the spatial straight line equation, so that the process of determining the intersection point can be more intuitive and simple. At the same time, constructing a three-dimensional space coordinate system with the plane where the floating touch panel is located as the XY plane can make the spatial plane equation simpler, thereby reducing the amount of calculation of the intersection coordinates of the spatial plane equation and the spatial straight line equation.
[0049] In one example, the three-dimensional space coordinate system is established as follows: Figure 2 As shown, Figure 2 Where T1 is used to represent the eye position point, T2 is used to represent the first floating position point, T3 is used to represent the intersection point, T4 is used to represent the first actual touch point, and L1 is used to represent the first spatial straight line. In this three-dimensional spatial coordinate system, the expression of the spatial plane equation F1 is Z=0, the coordinates of the eye position point T1 are (x1, y1, z1), the coordinates of the first floating position point T2 are (x2, y2, z2), the coordinates of the intersection point T3 are (x3, y3, z3), and the coordinates of the first actual touch point T4 are (x4, y4, z4). Among them, since the first actual touch point is the vertical projection point of the control end on the floating touch panel, that is, the first actual touch point is the vertical projection point of the first floating position point on the floating touch panel, therefore, x2=x4 and y2=y4. In addition, since the intersection point and the first actual touch point are both on the floating touch panel, when a three-dimensional space coordinate system is constructed with the plane where the floating touch panel is located as the XY plane, z3=0 and z4=0.
[0050] In the embodiment of the present application, when the coordinates (x4, y4, z4) of the first actual touch point T4 and the coordinates of the human eye position point T1 are known, the corresponding target control terminal suspension height (the target control terminal suspension height can be represented by h) can be screened out in the control terminal suspension height list by the change amount of the detection signal corresponding to the first actual touch point. After determining the target control terminal suspension height h, based on the coordinates (x4, y4, z4) of the first actual touch point T4 and the target control terminal suspension height h, the coordinates (x2, y2, z2) of the first suspension position point T2 can be determined. Among them, x2=x4, y2=y4, z2=h.
[0051] When the coordinates (x1, y1, z1) of the eye position point T1 and the coordinates (x2, y2, z2) of the first floating position point T2 are known, the expression of the spatial straight line equation corresponding to L1 can be further determined based on the coordinates corresponding to the first floating position point and the coordinates corresponding to the eye position point: (x-x1) / (x-x2)=(y-y1) / (y-y2)=(z-z1) / (z-z2).
[0052] After determining the expression of the spatial straight line equation, the coordinates of the intersection of the spatial plane equation and the spatial straight line equation can be calculated to determine the intersection. Among them, when the expression of the spatial straight line equation is: (x-x1) / (x-x2)=(y-y1) / (y-y2)=(z-z1) / (z-z2), and the expression of the spatial plane equation F1 is Z=0, the intersection coordinates can be calculated by the following formula:
[0053]
[0054] By solving the above formula, we can get: In addition, since z3 = 0, in this case, the coordinates of the intersection point T3 can be obtained When the coordinates (x3, y3, z3) of T3 are obtained, the intersection point can be determined in the three-dimensional space coordinate system.
[0055] Based on the calculated coordinates of intersection point T3 In practical applications, if a three-dimensional space coordinate system is constructed with the plane where the floating touch panel is located as the XY plane, the corresponding coordinate calculation formula can be pre-configured for the three-dimensional space coordinate system to calculate the coordinates of the intersection of the space plane equation and the space line equation. The coordinate calculation formula calculates the coordinates of the intersection based on the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point. Specifically, when the coordinates corresponding to the first floating position point are represented by (x2, y2, z2) and the coordinates corresponding to the human eye position point are represented by (x1, y1, z1), the expression of the coordinate calculation formula is as follows:
[0056]
[0057] When the coordinate calculation formula is obtained, the coordinates corresponding to the first floating position point and the coordinates corresponding to the eye position point can be substituted into the coordinate calculation formula to calculate the intersection coordinates. That is to say, in the three-dimensional space coordinate system, when calculating the intersection coordinates of the space plane equation and the space line equation, the coordinate calculation formula pre-configured for the three-dimensional space coordinate system can be obtained first, and then the coordinates corresponding to the first floating position point and the coordinates corresponding to the eye position point can be substituted into the coordinate calculation formula to calculate the intersection coordinates.
[0058] By substituting the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point into the coordinate calculation formula to calculate the intersection coordinates, the process of calculating the intersection coordinates can be simplified.
[0059] In a possible implementation, in order to improve the efficiency of determining the estimated touch point corresponding to the first actual touch point, the intersection point may be directly determined as the estimated touch point corresponding to the first actual touch point.
[0060] In an embodiment of the present application, the floating touch panel is often configured at a specified tilt angle relative to the horizontal plane. Specifically, in many application scenarios, the floating touch panel will be configured at an angle relative to the horizontal plane. For example, when the floating touch panel is applied to vehicle-mounted virtual reality (VR) and vehicle-mounted augmented reality (AR) technology, it is often necessary to configure a floating touch panel on the front windshield of the vehicle. When the floating touch panel is configured on the front windshield, since the front windshield will have a certain tilt angle relative to the horizontal plane, this will also cause the floating touch panel to have a certain tilt angle relative to the horizontal plane. In an embodiment of the present application, the tilt angle of the front windshield relative to the horizontal plane, that is, the tilt angle of the floating touch panel relative to the horizontal plane, is referred to as the specified tilt angle.
[0061] It should be noted that, in addition to being used in vehicle-mounted VR or vehicle-mounted AR technology, the floating touch panel will be configured at a specified tilt angle relative to the horizontal plane. In other application scenarios, the floating touch panel may also be configured at a specified tilt angle relative to the horizontal plane.
[0062] In the case where the floating touch panel is configured at a specified tilt angle relative to the horizontal plane, due to factors such as parallax, the actual touch point is often inconsistent with the target touch point corresponding to the control end on the floating touch panel from the human eye perspective of the panel controller. In this way, the actual touch point cannot meet the touch requirements of the panel controller for the floating touch panel. It should be emphasized that even in the case where the floating touch panel does not have an inclination angle relative to the horizontal plane, the actual touch point may be inconsistent with the target touch point corresponding to the control end on the floating touch panel from the human eye perspective of the panel controller due to factors such as parallax. However, in the case where the floating touch panel is configured at a specified tilt angle relative to the horizontal plane, due to factors such as parallax, the problem of inconsistency between the actual touch point and the target touch point corresponding to the control end on the floating touch panel from the human eye perspective of the panel controller is more prominent.
[0063] In the case where the floating touch panel is configured at a specified tilt angle relative to the horizontal plane, in order to make the estimated touch point corresponding to the determined first actual touch point more able to meet the touch requirements of the panel controller for the floating touch panel, in the process of determining the estimated touch point corresponding to the first actual touch point, it is necessary to eliminate as much as possible the influence of the configuration of the floating touch panel at a specified tilt angle relative to the horizontal plane on the inconsistency between the actual touch point and the target touch point corresponding to the control end on the floating touch panel under the human eye perspective of the panel controller. In this case, when determining the estimated touch point corresponding to the first actual touch point based on the intersection, the visual angle corresponding to the target human eye can be calculated based on the first floating position point, the human eye position point and the intersection. Then, for the specified tilt angle and the visual angle, the corresponding configured touch point correction coefficient is obtained. Finally, based on the touch point correction coefficient, the estimated touch point corresponding to the first actual touch point is determined on the connecting line segment between the intersection and the first actual touch point.
[0064] In the embodiment of the present application, the viewing angle is used to represent the angle between the first space straight line and the second space straight line, and the second space straight line passes through the first floating position point and the first actual touch point.
[0065] In the case of determining the intersection point by "calculating the coordinates of the intersection point of the spatial plane equation and the spatial straight line equation in the three-dimensional space coordinate system to determine the intersection point", the viewing angle corresponding to the target human eye is calculated based on the first floating position point, the human eye position point and the intersection point, which can be converted into, in the three-dimensional space coordinate system, the viewing angle corresponding to the target human eye is calculated based on the coordinates corresponding to the first floating position point, the coordinates corresponding to the human eye position point and the coordinates corresponding to the intersection point. At this time, the viewing angle is as follows Figure 3 As shown, Figure 3 The three-dimensional space coordinate system shown in Figure 2 The three-dimensional space coordinate system is the same as that in Figure 3 The θ in is used to represent the viewing angle.
[0066] In the process of calculating the viewing angle corresponding to the target human eye according to the coordinates corresponding to the first floating position point, the coordinates corresponding to the human eye position point and the coordinates corresponding to the intersection point, the line segment length l corresponding to the line segment connecting the intersection point T3 and the first actual touch point T4 can be first solved. The calculation formula of the line segment length l is as follows:
[0067]
[0068] After obtaining the line segment length l, the viewing angle θ can be further calculated according to the following formula:
[0069]
[0070] The touch point correction coefficient can be implemented based on a table lookup. Specifically, a touch point correction coefficient list can be pre-configured based on a priori values, and the touch point correction coefficient list records the touch point correction coefficients corresponding to multiple tilt angles and viewing angles. When obtaining the touch point correction coefficients configured accordingly for a specified tilt angle and viewing angle, the touch point correction coefficient list can be obtained first, and then, for the specified tilt angle and viewing angle, the touch point correction coefficients configured accordingly can be filtered out from the touch point correction coefficient list.
[0071] In one example, the estimated touch point corresponding to the first actual touch point can be determined by determining the coordinates of the estimated touch point corresponding to the first actual touch point in a three-dimensional space coordinate system. Figure 3 , the correction coefficient at the touch point is When , the coordinate Tt corresponding to the estimated touch point corresponding to the first actual touch point can be calculated according to the following formula:
[0072]
[0073] In the embodiment of the present application, it can be pre-configured that when the moving length of the control terminal moving downward reaches the target length within a specified time period, it is regarded as a click operation by the control terminal. In the case where the actual touch point is inconsistent with the target touch point corresponding to the control terminal on the floating touch panel from the human eye perspective of the panel controller, if the panel touch object controls the panel touch object to perform a click operation in the direction corresponding to the first spatial straight line (that is, the control terminal is controlled to move downward along the direction corresponding to the first spatial straight line), then, on the floating touch panel, it will be reflected that the actual touch point corresponding to the control terminal on the floating touch panel moves horizontally. Therefore, in order to determine whether the control terminal performs a click operation on the estimated touch point corresponding to the first actual touch point, it is necessary to determine whether the actual moving length of the control terminal moving downward in the direction corresponding to the first spatial straight line within the specified time period reaches the target length.
[0074] In a possible implementation, in order to determine whether the control end performs a click operation on the estimated touch point corresponding to the first actual touch point, after determining the estimated touch point corresponding to the first actual touch point based on the intersection point, the control end can first determine the second actual touch point corresponding to the control end on the floating touch panel at a specified time point after the control end reaches the first floating position point. Secondly, based on the second actual touch point corresponding to the control end on the floating touch panel and the change in the detection signal corresponding to the second actual touch point, determine the second floating position point corresponding to the control end above the floating touch panel. Thirdly, when the second floating position point is closer to the floating touch panel than the first floating position point, the actual movement length of the control end in the direction corresponding to the first spatial straight line is calculated based on the first floating position point, the second floating position point and the viewing angle. Finally, based on the actual movement length, determine whether the control end performs a click operation on the estimated touch point corresponding to the first actual touch point.
[0075] The designated time point after the control terminal reaches the first floating position point is determined based on the designated time period. The second floating position point is closer to the floating touch panel relative to the first floating position point, indicating that the control terminal has moved downward in the direction corresponding to the first spatial straight line. It can be seen that in the embodiment of the present application, when the control terminal moves downward in the direction corresponding to the first spatial straight line, the actual movement length of the control terminal in the direction corresponding to the first spatial straight line will be further calculated. In this way, it can be avoided that when the control terminal does not move downward in the direction corresponding to the first spatial straight line (that is, the control terminal cannot perform a click operation), it will still be determined whether the control terminal performs a click operation on the estimated touch point corresponding to the first actual touch point, thereby causing a waste of resources.
[0076] Determining whether the control end performs a click operation on the estimated touch point corresponding to the first actual touch point based on the actual moving length means that if the actual moving length reaches the target length, it is determined that the control end performs a click operation on the estimated touch point corresponding to the first actual touch point; if the actual moving length does not reach the target length, it is determined that the control end performs a click operation on the estimated touch point that does not correspond to the first actual touch point.
[0077] In one example, when calculating the actual moving length of the control terminal in the direction corresponding to the first space straight line based on the first floating position point, the second floating position point and the viewing angle, the coordinates corresponding to the first floating position point and the coordinates corresponding to the second floating position point can be first determined in the three-dimensional space coordinate system. Then, the moving length calculation formula pre-configured for the three-dimensional space coordinate system is obtained. Finally, the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point and the viewing angle are substituted into the moving length calculation formula to calculate the actual moving length. Among them, the moving length calculation formula calculates the actual moving length based on the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point and the viewing angle.
[0078] In one example, the actual movement length is Figure 4 As shown, Figure 4 The three-dimensional space coordinate system shown in Figure 2 , Figure 3 The three-dimensional space coordinate system is the same as that in Figure 4 T5 in it is used to represent the second floating position point, and Δl is used for the actual moving length. In the three-dimensional space coordinate system, the method of calculating the coordinates (x5, y5, z5) of the second floating position point T5 is the same as the method of calculating the coordinates (x2, y2, z2) of the first floating position point T2. That is, first, the corresponding control end floating height is screened out in the control end floating height list according to the change in the detection signal corresponding to the second actual touch point, and then, based on the coordinates corresponding to the first actual touch point and the control end floating height corresponding to the second actual touch point, the coordinates (x5, y5, z5) of the second floating position point T5 are calculated. When a three-dimensional space coordinate system is constructed with the plane where the floating touch panel is located as the XY plane, and the coordinates of the second floating position point are represented by (x5, y5, z5), the coordinates of the first floating position point are represented by (x2, y2, z2), and θ represents the viewing angle, the moving length calculation formula is as follows:
[0079]
[0080] After obtaining the moving length calculation formula, if the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point and the viewing angle are known, the actual moving length can be obtained by substituting the corresponding parameters into the above moving length calculation formula.
[0081] The actual moving length is calculated by substituting the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point and the viewing angle into the moving length calculation formula, which can simplify the process of calculating the actual moving length and increase the speed of obtaining the actual moving length.
[0082] Corresponding to the first method for determining a touch point provided in the embodiment of the present application, the embodiment of the present application further provides a device for determining a touch point. Figure 5 As shown, Figure 5 A structural block diagram of a device for determining a touch point provided in an embodiment of the present application is shown. The device is applied to determine an estimated touch point corresponding to a control end of a panel touch object on a floating touch panel, and may specifically include:
[0083] A first floating position point determination module 501 is used to determine a first floating position point corresponding to the control terminal above the floating touch panel based on a first actual touch point corresponding to the control terminal on the floating touch panel and a change amount of a detection signal corresponding to the first actual touch point;
[0084] The eye position point determination module 502 is used to determine the eye position point corresponding to the target eye of the panel controller by using an eye tracking device fixedly arranged relative to the floating touch panel;
[0085] The intersection determination module 503 is used to determine the intersection of the first space straight line and the floating touch panel according to the first floating position point and the human eye position point; the first space straight line passes through the first floating position point and the human eye position point;
[0086] The estimated touch point determination module 504 is used to determine the estimated touch point corresponding to the first actual touch point according to the intersection point; the estimated touch point corresponding to the first actual touch point is used to indicate the estimated touch point corresponding to the control terminal on the floating touch panel when corresponding to the first actual touch point.
[0087] In a possible implementation, the first hovering position point determination module 501 includes:
[0088] The control terminal suspension height list acquisition submodule is used to acquire a pre-configured control terminal suspension height list; the control terminal suspension height list records the control terminal suspension heights corresponding to multiple detection signal changes; the control terminal suspension height is used to indicate the suspension height of the control terminal relative to the suspension touch panel;
[0089] A target control terminal suspension height determination submodule is used to select a corresponding target control terminal suspension height from the control terminal suspension height list according to the detection signal change amount corresponding to the first actual touch point;
[0090] The position point determination submodule is used to obtain a first suspension position point according to the first actual touch point and the suspension height of the target control terminal.
[0091] In a possible implementation, the eye position determination module 502 includes:
[0092] The device position point acquisition submodule is used to obtain the device position point corresponding to the eye tracking device;
[0093] A relative position relationship acquisition submodule is used to acquire the relative position relationship between the target human eye and the human eye tracking device;
[0094] The human eye position point determination submodule is used to determine the human eye position point based on the device position point and the relative position relationship.
[0095] In a possible implementation, the intersection determination module 503 includes:
[0096] A submodule for determining a spatial plane equation, for determining a spatial plane equation corresponding to the plane where the floating touch panel is located in a three-dimensional spatial coordinate system; the three-dimensional spatial coordinate system is constructed with the plane where the floating touch panel is located as an XY plane;
[0097] A space straight line equation determination submodule, used to determine the space straight line equation corresponding to the first space straight line in the three-dimensional space coordinate system according to the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point;
[0098] The intersection determination submodule is used to calculate the coordinates of the intersection of the space plane equation and the space straight line equation in the three-dimensional space coordinate system to determine the intersection.
[0099] In a possible implementation, the intersection determination submodule includes:
[0100] A coordinate calculation formula acquisition submodule is used to acquire a coordinate calculation formula pre-configured for a three-dimensional space coordinate system; the coordinate calculation formula calculates the coordinates of the intersection point based on the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point;
[0101] The coordinate calculation formula uses a submodule, which is used to substitute the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point into the coordinate calculation formula to calculate the intersection coordinates.
[0102] In a possible implementation, the estimated touch point determination module 504 includes:
[0103] The first estimated touch point determination submodule is used to determine the intersection point as the estimated touch point corresponding to the first actual touch point.
[0104] In a possible implementation, the floating touch panel is configured at a specified tilt angle relative to a horizontal plane; the estimated touch point determination module 504 includes:
[0105] A viewing angle inclination calculation submodule is used to calculate the viewing angle inclination corresponding to the target human eye based on the first floating position point, the human eye position point and the intersection point; the viewing angle inclination is used to represent the angle between the first spatial straight line and the second spatial straight line; the second spatial straight line passes through the first floating position point and the first actual touch point;
[0106] A touch point correction coefficient acquisition submodule is used to obtain the touch point correction coefficient of the corresponding configuration for a specified tilt angle and viewing angle;
[0107] The second estimated touch point determination submodule is used to determine the estimated touch point corresponding to the first actual touch point on the connecting line segment between the intersection point and the first actual touch point according to the touch point correction coefficient.
[0108] In a possible implementation, the device further includes:
[0109] A second actual touch point determination module is used to determine the estimated touch point corresponding to the first actual touch point according to the intersection point, and then determine the second actual touch point corresponding to the control terminal on the floating touch panel at a specified time point after the control terminal reaches the first floating position point;
[0110] A second floating position point determination module, used to determine a second floating position point corresponding to the control terminal above the floating touch panel based on a second actual touch point corresponding to the control terminal on the floating touch panel and a change amount of a detection signal corresponding to the second actual touch point;
[0111] An actual movement length calculation module, used to calculate the actual movement length of the control terminal in the direction corresponding to the first space straight line according to the first floating position point, the second floating position point and the viewing angle when the second floating position point is closer to the floating touch panel than the first floating position point;
[0112] The click operation determination module is used to determine whether the control end performs a click operation on the estimated touch point corresponding to the first actual touch point according to the actual moving length.
[0113] In a possible implementation, the actual moving length calculation module includes:
[0114] A coordinate determination submodule, used to determine the coordinates corresponding to the first floating position point and the coordinates corresponding to the second floating position point in a three-dimensional space coordinate system; the three-dimensional space coordinate system is constructed with the plane where the floating touch panel is located as the XY plane;
[0115] The moving length calculation formula acquisition submodule is used to acquire the moving length calculation formula pre-configured for the three-dimensional space coordinate system; the moving length calculation formula calculates the actual moving length based on the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point, and the viewing angle;
[0116] The moving length calculation formula uses a submodule, which is used to substitute the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point and the viewing angle into the moving length calculation formula to calculate the actual moving length.
[0117] The functions of each module in each device in the embodiments of the present application can be found in the corresponding description in the above method, and have corresponding beneficial effects, which will not be repeated here.
[0118] The functions of each unit, module or sub-module in each device of the embodiments of the present disclosure can refer to the corresponding description in the above method embodiments, and have corresponding beneficial effects, which will not be repeated here.
[0119] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0120] Figure 6 is a block diagram of an electronic device used to implement an embodiment of the present application. Figure 6 As shown, the electronic device includes: a memory 601 and a processor 602. The memory 601 stores a computer program that can be run on the processor 602. When the processor 602 executes the computer program, the method in the above embodiment is implemented. The number of the memory 601 and the processor 602 can be one or more.
[0121] The electronic device also includes:
[0122] The communication interface 603 is used to communicate with external devices and perform data exchange transmission.
[0123] If the memory 601, the processor 602 and the communication interface 603 are implemented independently, the memory 601, the processor 602 and the communication interface 603 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0124] Optionally, in a specific implementation, if the memory 601, the processor 602 and the communication interface 603 are integrated on a chip, the memory 601, the processor 602 and the communication interface 603 can communicate with each other through an internal interface.
[0125] An embodiment of the present application provides a computer-readable storage medium storing a computer program, which implements the method provided in the embodiment of the present application when the program is executed by a processor.
[0126] An embodiment of the present application also provides a chip, which includes a processor for calling and executing instructions stored in the memory from the memory, so that a communication device equipped with the chip executes the method provided by the embodiment of the present application.
[0127] An embodiment of the present application also provides a chip, including: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory. When the code is executed, the processor is used to execute the method provided in the embodiment of the application.
[0128] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the Advanced RISC Machines (ARM) architecture.
[0129] Further, optionally, the above-mentioned memory may include a read-only memory and a random access memory, and may also include a non-volatile random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, 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 link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DR RAM).
[0130] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
[0131] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification and the features of different embodiments or examples, unless they are contradictory.
[0132] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0133] Any process or method description in the flow chart or otherwise described herein can be understood to represent a module, fragment or portion of a code including one or more executable instructions for implementing the steps of a specific logical function or process. And the scope of the preferred embodiment of the present application includes other implementations, in which the functions may not be performed in the order shown or discussed, including in a substantially simultaneous manner or in a reverse order according to the functions involved.
[0134] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, which can be embodied in any computer-readable medium for use by an instruction execution system, apparatus or device (such as a computer-based system, a system including a processor or other system that can fetch instructions from an instruction execution system, apparatus or device and execute instructions), or used in combination with these instruction execution systems, apparatuses or devices.
Claims
1. A method for determining a touch point, applied to determining an estimated touch point corresponding to a control end of a panel touch object on a floating touch panel, the method comprising: Determine a first floating position point corresponding to the control terminal above the floating touch panel based on a first actual touch point corresponding to the control terminal on the floating touch panel and a change amount of a detection signal corresponding to the first actual touch point; Determine the eye position point corresponding to the target eye of the panel controller by using an eye tracking device fixedly arranged relative to the floating touch panel; Determining an intersection point between a first spatial straight line and the floating touch panel according to the first floating position point and the human eye position point; The first spatial straight line passes through the first suspension position point and the human eye position point; Determining, according to the intersection point, an estimated touch point corresponding to the first actual touch point; The estimated touch point corresponding to the first actual touch point is used to indicate the estimated touch point corresponding to the control end on the floating touch panel when corresponding to the first actual touch point.
2. The method according to claim 1, wherein: The determining, based on a first actual touch point corresponding to the control terminal on the floating touch panel and a detection signal change amount corresponding to the first actual touch point, a first floating position point corresponding to the control terminal above the floating touch panel comprises: Obtaining a pre-configured control terminal suspension height list; the control terminal suspension height list records the control terminal suspension heights corresponding to a plurality of detection signal changes; the control terminal suspension height is used to indicate the suspension height of the control terminal relative to the suspension touch panel; According to the detection signal variation corresponding to the first actual touch point, the corresponding target control terminal suspension height is selected from the control terminal suspension height list; The first suspension position point is obtained according to the first actual touch point and the suspension height of the target control terminal.
3. The method according to claim 1, wherein: The method of determining the eye position point corresponding to the target eye of the panel controller by using the eye tracking device fixedly arranged relative to the floating touch panel comprises: Obtaining a device position point corresponding to the eye tracking device; Acquire the relative position relationship between the target human eye and the human eye tracking device; Based on the device position point and the relative position relationship, the human eye position point is determined.
4. The method according to claim 1, wherein: The step of determining the intersection of the first space straight line and the floating touch panel according to the first floating position point and the human eye position point comprises: In a three-dimensional space coordinate system, determining a space plane equation corresponding to the plane where the floating touch panel is located; the three-dimensional space coordinate system is constructed with the plane where the floating touch panel is located as an XY plane; In the three-dimensional space coordinate system, according to the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point, determine the space line equation corresponding to the first space line; In the three-dimensional space coordinate system, the coordinates of the intersection point between the space plane equation and the space straight line equation are calculated to determine the intersection point.
5. The method according to claim 4, wherein: Calculating the coordinates of the intersection of the spatial plane equation and the spatial straight line equation in the three-dimensional spatial coordinate system includes: Acquire a coordinate calculation formula pre-configured for the three-dimensional space coordinate system; the coordinate calculation formula calculates the coordinates of the intersection point based on the coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point; The coordinates corresponding to the first floating position point and the coordinates corresponding to the human eye position point are substituted into the coordinate calculation formula to calculate the intersection coordinates.
6. The method according to claim 1, wherein: Determining the estimated touch point corresponding to the first actual touch point based on the intersection includes: determining the intersection as the estimated touch point corresponding to the first actual touch point.
7. The method according to claim 1, wherein: The floating touch panel is configured at a specified tilt angle relative to a horizontal plane; and determining, based on the intersection point, an estimated touch point corresponding to the first actual touch point comprises: The viewing angle corresponding to the target eye is calculated according to the first floating position point, the eye position point and the intersection point; the viewing angle is used to represent the angle between the first spatial straight line and the second spatial straight line; the second spatial straight line passes through the first floating position point and the first actual touch point; For the specified tilt angle and the viewing angle, obtaining a touch point correction coefficient corresponding to the configuration; According to the touch point correction coefficient, an estimated touch point corresponding to the first actual touch point is determined on a connecting line segment between the intersection point and the first actual touch point.
8. The method according to claim 7, wherein: After determining the estimated touch point corresponding to the first actual touch point according to the intersection point, the method further includes: At a specified time point after the control terminal reaches the first floating position point, determining a second actual touch point corresponding to the control terminal on the floating touch panel; Determining a second floating position point corresponding to the control terminal above the floating touch panel based on a second actual touch point corresponding to the control terminal on the floating touch panel and a change amount of a detection signal corresponding to the second actual touch point; When the second floating position point is closer to the floating touch panel than the first floating position point, the actual movement length of the control terminal in the direction corresponding to the first spatial straight line is calculated according to the first floating position point, the second floating position point and the viewing angle; According to the actual moving length, it is determined whether the control end performs a click operation on the estimated touch point corresponding to the first actual touch point.
9. The method according to claim 8, wherein: The calculating, based on the first suspension position point, the second suspension position point and the viewing angle, of the actual movement length of the control terminal in the direction corresponding to the first spatial straight line comprises: In a three-dimensional space coordinate system, determining coordinates corresponding to the first floating position point and coordinates corresponding to the second floating position point; the three-dimensional space coordinate system is constructed with the plane where the floating touch panel is located as an XY plane; Acquire a movement length calculation formula pre-configured for the three-dimensional space coordinate system; the movement length calculation formula calculates the actual movement length based on the coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point, and the viewing angle; The coordinates corresponding to the first floating position point, the coordinates corresponding to the second floating position point, and the viewing angle are substituted into the moving length calculation formula to calculate the actual moving length.
10. A device for determining a touch point, used for determining an estimated touch point corresponding to a control end of a panel touch object on a floating touch panel, the device comprising: A first floating position point determination module, configured to determine a first floating position point corresponding to the control terminal above the floating touch panel based on a first actual touch point corresponding to the control terminal on the floating touch panel and a detection signal change amount corresponding to the first actual touch point; An eye position point determination module, used to determine the eye position point corresponding to the target eye of the panel controller by using an eye tracking device fixedly arranged relative to the floating touch panel; An intersection determination module, used to determine an intersection of a first spatial straight line and the floating touch panel according to the first floating position point and the human eye position point; The first spatial straight line passes through the first suspension position point and the human eye position point; An estimated touch point determination module, used to determine an estimated touch point corresponding to the first actual touch point according to the intersection point; The estimated touch point corresponding to the first actual touch point is used to indicate the estimated touch point corresponding to the control end on the floating touch panel when corresponding to the first actual touch point.
11. An electronic device, comprising: at least one processor; as well as A memory communicatively connected to the at least one processor; characterized in that the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in any one of claims 1 to 9.
12. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to enable a computer to execute the method according to any one of claims 1 to 9.