Python-based two-dimensional standing wave visual demonstration system and method

Through a two-dimensional standing wave visual demonstration system based on Python, the front-end separation architecture and interactive interface are used to solve the two-dimensional standing wave teaching problem, and the intuitive display and in-depth understanding of the two-dimensional standing wave is realized, which is suitable for the fields of education and scientific research. , providing cross-platform operation and efficient learning experience.

CN119314370APending Publication Date: 2025-01-14CHINA THREE GORGES UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411494242.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-24
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

In the field of education and scientific research, two-dimensional standing waves are highly abstract and difficult to observe directly, resulting in teaching and understanding difficulties. The existing visual demonstration methods lack interactivity and flexibility, and cannot fully display the two-dimensional standing waves of different parameters. Influence.

Method used

A two-dimensional standing wave visual demonstration system based on Python is designed, using front-end and back-end separation architecture, using Qt front-end technology and matplotlib drawing library, providing interactive interfaces, including Krani graphic demonstration, wave animation demonstration and Krani graphic recognition functions , supports a variety of output forms and parameter adjustments, achieving intuitive display and in-depth understanding of two-dimensional standing waves.

Benefits of technology

Through the visual interface, the abstract two-dimensional standing wave concept is simplified into parameter input and mode selection, which enhances learning fun and experience effects, reduces teaching difficulty, improves teaching effect, provides cross-platform operation, suitable for classroom teaching and popular science activities, and helps users In-depth study of the characteristics and laws of two-dimensional standing waves.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119314370A_ABST
    Figure CN119314370A_ABST
Patent Text Reader

Abstract

The invention discloses a Python-based two-dimensional standing wave visual demonstration system and method. The system comprises a front end, a rear end and a data transmission module, the front end is responsible for interacting with a user and comprises parameter input and visual result display; the rear end receives the command and the parameter of the front end, calculates and feeds back a result; a front-end and back-end separation technology is used, and a program running in a multi-operation system is packaged through a pystaller; a front-end interface is built by adopting a Qt technology, and core visual images and animations are realized by using matplotlib; the influence of the simulation shape, the wave velocity, the boundary condition and the like on the two-dimensional standing wave is demonstrated through a Clariy graph, and a sub-graph and mother graph output form is provided; the two-dimensional fluctuation picture demonstrates and simulates the propagation of two-dimensional mechanical waves and the vibration mode of two-dimensional standing waves; standing wave image recognition of the Krani graph is carried out through file or drawing board input; a new way is provided for understanding and science popularization learning of the two-dimensional standing waves, and the method has the advantages of being high in interestingness and good in learning experience effect.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer and network technology, and in particular to a two-dimensional standing wave visualization demonstration system and method based on Python. Background Art

[0002] As a physical phenomenon that is ubiquitous in nature, waves have far-reaching and extensive influences, spanning multiple disciplines such as mechanics, optics, and acoustics in classical physics, and even quantum mechanics in modern physics. The study of waves not only has theoretical value, but also plays a vital role in many practical application fields such as engineering technology, medical diagnosis, and communication technology. However, among the many forms of waves, two-dimensional standing waves have always been a difficult point in teaching and scientific research due to their high degree of abstraction and complex physical properties.

[0003] In physics, a two-dimensional standing wave refers to a stable waveform formed when two or more waves propagating in opposite directions meet in space and interfere with each other. Under certain conditions, this waveform can present rich patterns, such as Chladni figures. These figures are not only beautiful but also have profound physical significance. They can intuitively show the solution of the wave equation under certain boundary conditions. However, due to the complexity of two-dimensional standing waves, they can only be briefly described in most textbooks, and it is difficult to deeply analyze their physical essence and characteristics, thus limiting students' ability to fully understand and master two-dimensional standing waves.

[0004] With the rapid development of computer technology, visual simulation technology has gradually become an important tool in teaching and scientific research. Through computer simulation, abstract physical concepts can be transformed into intuitive images and animations, thereby helping students better understand and master physical knowledge. In the field of wave mechanics, visual simulation technology based on platforms such as Matlab and Python has been widely used. However, due to its large size, buyout payment system and high usage threshold, Matlab's application in classroom teaching and popular science activities is limited.

[0005] Although the Python platform also provides powerful visualization simulation functions, there are still some shortcomings in the visualization demonstration methods for two-dimensional standing waves. For example, the existing demonstration methods can only display a single waveform or animation, and lack a comprehensive display of the effects of different parameters (such as shape, wave speed, boundary conditions, etc.) on two-dimensional standing waves; at the same time, the existing demonstration methods also lack interactivity with users, making it impossible for users to flexibly operate and set parameters according to their needs.

[0006] Therefore, in view of the important position of two-dimensional standing waves in physics and the shortcomings of existing visualization demonstration methods, the present invention proposes a two-dimensional standing wave visualization demonstration system and method based on Python. By constructing a visualization interface, the method realizes the intuitive display and interactive operation of the physical principles related to two-dimensional standing waves and mechanical waves, providing users with a new way to learn and understand two-dimensional standing waves. Summary of the invention

[0007] The technical problem to be solved by the present invention is to provide a two-dimensional standing wave visualization demonstration system and method based on Python, so as to solve the teaching and understanding difficulties caused by the high abstractness and difficulty of direct observation of two-dimensional standing waves in the fields of education and scientific research.

[0008] In order to solve the above technical problems, the technical solution adopted by the present invention is: a two-dimensional standing wave visualization demonstration system based on Python, including a front end, a back end and a data transmission module responsible for communication between the front end and the back end; the front end is responsible for interaction with the user, including icons for users to click, parameter input parts and a result display area for visual feedback of user operations, and the corresponding image structure and physical principles are visually displayed through the result display area; the back end includes the responsibility for receiving the commands issued by the user at the front end by clicking icons and the relevant data of the parameter input part, and feeding back the corresponding processing results to the result display area.

[0009] In the preferred solution, the front-end interface uses Qt front-end technology to build the page, and the core visualization images and animations in the program are developed and implemented using the matplotlib drawing library.

[0010] In a preferred solution, the front-end interface includes a logo area, a function navigation area and a content display area; the logo area is provided with icons for selection; the function navigation area groups the function menus according to the system function planning, including a home page for selection, a Chladni figure demonstration, a two-dimensional wave animation demonstration, and a Chladni figure recognition; the content display area is used to display specific demonstration content.

[0011] In the preferred scheme, the system simulates the influence of shape, wave speed, boundary conditions, calculation method, etc. on two-dimensional standing waves through Chladni figure demonstration; the output combination form of Chladni figure demonstration includes sub-figure and mother figure, wherein the sub-figure combination is a separate figure for each result and is displayed independently, and the results are switched by clicking the picture switching button; the mother figure combination is a combination figure of each result, and the picture cannot be switched; when the sub-figure is combined, the relevant information is calculated and displayed according to the current display result; when the mother figure is combined, the relevant information is not displayed.

[0012] In a preferred solution, the Chladni figure demonstration includes a rectangular Chladni figure demonstration and a circular Chladni figure demonstration; in the rectangular Chladni figure demonstration, the result output form can be selected, including a two-dimensional nodal line diagram, a two-dimensional contour line diagram, a three-dimensional main view, and a three-dimensional top view, wherein the two-dimensional nodal line diagram sets the nodal line color and the background color; in the circular Chladni figure demonstration, the nodal line color and the background color of the output result, as well as the calculation method, are selected, including a one-dimensional calculation method and a two-dimensional calculation method.

[0013] In the preferred scheme, the system simulates the propagation mode of two-dimensional mechanical waves and the vibration mode of two-dimensional standing waves through two-dimensional wave animation demonstration; the two-dimensional wave animation demonstration encourages users to run it multiple times to summarize the rules independently; the two-dimensional wave animation demonstration includes two-dimensional animation and three-dimensional animation, and any demonstration will generate two-dimensional animation.

[0014] In a preferred solution, the system recognizes existing two-dimensional standing waves through Chladni figure recognition, simulating the geometric relationship between different standing wave results; the Chladni figure recognition can input the recognition object through two modes: file selection and drawing board.

[0015] In a preferred solution, the front-end interface includes icons for users to click and operate, including parameter selection, simulation start, picture switching, and mode switching; the processing results are fed back and displayed in the demonstration interface through images and animations.

[0016] A two-dimensional standing wave visualization demonstration method based on Python is a two-dimensional standing wave visualization demonstration system based on Python as described in any one of the above, and the method comprises the following steps: Step 1: Download the demo code or package and start running; Step 2: Click the "Chladni Figure Demo" button in the left navigation bar to enter the function interface, and select or operate the function; Step 3: After selecting the function, perform parameter setting, calculation, simulation and matching; Step 4: After the matching is completed, the results are displayed in the function area.

[0017] In the preferred scheme, the demonstration method also includes a concept explanation function, and when the user places the mouse cursor on a certain part, the basic concept of the corresponding simulation content will be displayed on the page; the demonstration method uses the technology of front-end and back-end separation, and uses pyinstaller to package the code into a program, and the operating system can be freely selected for running.

[0018] The present invention provides a two-dimensional standing wave visualization demonstration system and method based on Python, which has the following beneficial effects: 1. The present invention solves the teaching and understanding difficulties of two-dimensional standing waves in the fields of education and scientific research due to their high abstractness and difficulty in direct observation; 2. The present invention simplifies the abstract two-dimensional standing wave concept and calculation into processes such as parameter input and mode selection, and displays two-dimensional standing wave images, vibration animations, propagation animations, etc. through a visual interface, which enhances the fun and experience of learning; 3. The present invention uses a technical architecture with front-end and back-end separation, which improves the flexibility and scalability of the system and facilitates maintenance and updating; 4. The present invention provides multiple output forms in the Chladni figure demonstration, including sub-figures and parent figures, two-dimensional and three-dimensional views, etc., to meet the needs and preferences of different users; 5. The present invention realizes the recognition of existing two-dimensional standing waves through the Chladni figure recognition function, simulates the geometric relationship between different standing wave results, and provides a new way for the understanding and popular science learning of two-dimensional waves; 6. The present invention designs a simulation program based on Python, which has the advantages of small size, easy to use and free open source, etc., and solves the problem that the traditional teaching software Matlab is not suitable for widespread application in classroom teaching and science popularization activities due to its huge size, buyout payment system and high usage threshold; 7. Due to its high degree of abstractness and difficulty in direct observation, two-dimensional standing waves have not been explained in detail and in depth in most textbooks, which limits students' comprehensive understanding and mastery of the physical essence and characteristics of two-dimensional standing waves. The present invention reduces the teaching difficulty and improves the teaching effect through visual demonstration; 8. The present invention uses a visual demonstration method to make the abstract and complex two-dimensional standing wave knowledge intuitive and easy to understand, thereby improving students' learning interest and comprehension ability; 9. The present invention is not only suitable for classroom teaching, but also can be used as a popular science tool to help the public understand and learn physical knowledge such as two-dimensional standing waves; 10. The present invention provides a convenient tool for researchers through the functions of Chladni figure recognition, which is helpful for in-depth study of the characteristics and laws of two-dimensional standing waves; 11. The present invention provides a new way for understanding and popularizing science of two-dimensional standing waves, has the characteristics of strong interest and good learning experience, is innovative, practical and has application value, can solve the difficult problems in the teaching of two-dimensional standing waves, and improve teaching effects and scientific research capabilities; 12. The present invention supports cross-platform operation and can run stably on Windows, MacOS and Linux systems, further broadening the application scenarios, promoting the sharing and popularization of educational resources, and injecting new vitality into the teaching and research of two-dimensional standing waves. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The present invention will be further described below in conjunction with the accompanying drawings and implementation examples: Figure 1 This is a schematic diagram of the mother image of the free-boundary rectangular two-dimensional nodal line diagram of the present invention; Figure 2 It is a schematic diagram of a three-dimensional main view mother image of a bounding boundary rectangle of the present invention; Figure 3 This is a schematic diagram of a free-boundary rectangular two-dimensional contour map m=1 n=2 sub-image image of the present invention; Figure 4 This is a schematic diagram of a free-boundary rectangular three-dimensional top view m=2 n=3 sub-image image of the present invention; Figure 5 It is a schematic diagram of a master image of a bounded boundary circle two-dimensional calculation method of the present invention; Figure 6 It is a schematic diagram of a master image of a bounded boundary circle two-dimensional calculation method of the present invention; Figure 7 It is a schematic diagram of the two-dimensional standing wave animation demonstration interface of the bound boundary of the present invention; Figure 8 It is a schematic diagram of the animation result of the two-dimensional standing wave of the bound boundary of the present invention; Fig. 9 It is a schematic diagram of the animation demonstration interface of the two-dimensional wave propagation of the free boundary of the present invention; Fig.10 It is a schematic diagram of the animation result of two-dimensional wave propagation at the free boundary of the present invention. DETAILED DESCRIPTION

[0020] The technical solution of the present invention is further described below in conjunction with the accompanying drawings and embodiments: Example 1 like Figures 1 to 10 As shown, a two-dimensional standing wave visualization demonstration system based on Python includes a front end, a back end, and a data transmission module responsible for communication between the front end and the back end; the front end is responsible for interaction with the user, including icons for users to click, parameter input parts, and a result display area for visual feedback of user operations, and the corresponding image structure and physical principles are visually displayed in the result display area; the back end includes the responsibility for receiving the commands issued by the user at the front end by clicking icons and the relevant data of the parameter input part, and feeding back the corresponding processing results to the result display area.

[0021] In this embodiment, the front-end interface uses Qt front-end technology to build the page, and the core visualization images and animations in the program are developed and implemented using the matplotlib drawing library.

[0022] Furthermore, the front-end interface includes a logo area, a function navigation area and a content display area; the logo area is provided with icons for selection; the function navigation area groups the function menus according to the system function planning, including a home page for selection, a Chladni figure demonstration, a two-dimensional wave animation demonstration, and a Chladni figure recognition; the content display area is used to display specific demonstration content.

[0023] Furthermore, the system simulates the influence of shape, wave speed, boundary conditions, calculation method, etc. on two-dimensional standing waves through Chladni figure demonstration; the output combination form of Chladni figure demonstration includes sub-figure and mother figure, wherein the sub-figure combination is a separate figure for each result and is displayed independently, and the results are switched by clicking the picture switching button; the mother figure combination is a combination figure of each result, and the picture cannot be switched; when the sub-figure is combined, the relevant information is calculated and displayed according to the current display result; when the mother figure is combined, the relevant information is not displayed.

[0024] Furthermore, the Chladni figure demonstration includes a rectangular Chladni figure demonstration and a circular Chladni figure demonstration; in the rectangular Chladni figure demonstration, the result output form can be selected, including a two-dimensional nodal line diagram, a two-dimensional contour line diagram, a three-dimensional main view, and a three-dimensional top view, wherein the two-dimensional nodal line diagram sets the nodal line color and the background color; in the circular Chladni figure demonstration, the nodal line color and the background color of the output result, as well as the calculation method, are selected, including a one-dimensional calculation method and a two-dimensional calculation method.

[0025] Furthermore, the system simulates the propagation mode of two-dimensional mechanical waves and the vibration mode of two-dimensional standing waves through two-dimensional wave animation demonstration; the two-dimensional wave animation demonstration encourages users to run it multiple times to summarize the rules independently; the two-dimensional wave animation demonstration includes two-dimensional animation and three-dimensional animation, and any demonstration will generate two-dimensional animations.

[0026] Furthermore, the system recognizes existing two-dimensional standing waves through Chladni figure recognition, simulating the geometric relationship between different standing wave results; the Chladni figure recognition can input the recognition object through two modes: file selection and drawing board.

[0027] Furthermore, the front-end interface includes icons for users to click and operate, including parameter selection, simulation start, picture switching, and mode switching; the processing results are fed back and displayed in the demonstration interface through images and animations.

[0028] Example 2 In another preferred embodiment, based on the above embodiment 1, a two-dimensional standing wave visualization demonstration method based on Python is a two-dimensional standing wave visualization demonstration system based on Python as described in any one of the above, and the method comprises the following steps: Step 1: Download the demo code or package and start running; Step 2: Click the "Chladni Figure Demo" button in the left navigation bar to enter the function interface, and select or operate the function; Step 3: After selecting the function, perform parameter setting, calculation, simulation and matching; Step 4: After the matching is completed, the results are displayed in the function area.

[0029] In this embodiment, the demonstration method also includes a concept explanation function. When the user places the mouse cursor on a certain part, the basic concept of the corresponding simulation content will be displayed on the page; the demonstration method uses the technology of front-end and back-end separation, and uses pyinstaller to package the code into a program, and the operating system can be freely selected to run.

[0030] Example 3 In another preferred embodiment, based on the above embodiments 1 and 2, a two-dimensional standing wave visualization demonstration method based on Python is used to demonstrate rectangular Chladni figures, which specifically includes the following steps: Step 1: Download the demo code or package and start running; Step 2: Click the Chladni figure demonstration button in the left navigation bar to enter the function interface, and then click the parameter setting button in the function interface to open the parameter setting interface; Step 3: In the parameter setting interface, select the rectangular Chladni plate as the research object, set the length of the long side, the short side, the wave velocity, the boundary conditions, the calculation number and the output form of the rectangle. After the settings are completed, click the Start Simulation button; Step 4: After the program calculation is completed, the parameter setting interface will be automatically closed and the results will be displayed in the result display area of ​​the function interface. If you choose to output the sub-graph combination, you can switch the results through the previous and next buttons. The related information function bar will display the characteristic frequency and other information of the current result. If you choose to output the main graph combination, the results cannot be switched and the related information will not be displayed.

[0031] Example 4 In another preferred embodiment, based on the above embodiments 1 and 2, a two-dimensional standing wave visualization demonstration method based on Python is used to perform a two-dimensional wave animation demonstration, which specifically includes the following steps: Step1: Download the demo code or package and start running.

[0032] Step 2: Click the 2D wave animation demonstration button in the left navigation bar to enter the function interface and select functions, including 2D standing wave animation and 2D wave propagation animation; Step 3: If you select 2D standing wave animation, select boundary conditions, including bound boundaries and free boundaries; if you select 2D wave propagation animation, you can set the propagation time. After the setting is completed, click the Start Simulation button. After the calculation is completed, the corresponding dimensional animation will be displayed in the 2D result area and the 3D result area.

[0033] Example 5 In another preferred embodiment, based on the above-mentioned embodiments 1 and 2, a two-dimensional standing wave visualization demonstration method based on Python is used to identify rectangular Chladni figures, which specifically includes the following steps: Step 1: Download the demo code or package and start running; Step 2: Click the Chladni figure recognition button in the left navigation bar to enter the function interface, and make input selections, including file input and drawing board input. Selecting file input will open the file manager and wait for the user to select a picture. Selecting drawing board input will open the drawing board, and the user can draw with the mouse and buttons. The buttons include horizontal straight line drawing (—), vertical straight line drawing (|), main diagonal line drawing (\), and secondary diagonal line drawing ( / ). After drawing, click Drawing completed to save and input. After input is completed, click Start recognition program to match the input result with each object in the database. Step 3: After the matching is completed, the four most matching objects and their related information will be displayed on the function interface, where the related information includes parameters such as fit and phase.

[0034] Example 6 In another preferred embodiment, based on the above embodiments 1, 2, and 5, a two-dimensional standing wave visualization demonstration system and method based on Python is used to demonstrate rectangular Chladni figures, and the program settings are as follows: When calculating the nodal lines of rectangular Chladni figures, it is necessary to solve the two-dimensional wave equation of simple harmonic waves, as follows: (1) In the formula, is the vibration equation, For time, is the wave speed, , are the distances of the points on the nodal line of the Chladni figure from the origin in the X-axis and Y-axis directions respectively.

[0035] Due to the unique symmetry of the circle, we can discuss it in two cases depending on whether the vibration source is located at the center of the circle. When the vibration source is located at the center of the circle, the two-dimensional wave generated by the vibration can be regarded as an infinite number of one-dimensional waves propagating along each radial direction. When the one-dimensional wave propagates to the edge of the plate and reflects, the reflected wave will only propagate in the opposite direction along the original path of the one-dimensional wave, which shows that the propagation of one-dimensional waves on a circular plate of a uniform medium has the characteristic of isotropy; therefore, when solving the vibration situation of a certain point, we only need to consider the distance between the point and the center of the circle (vibration source), which can convert the two-dimensional problem into a one-dimensional problem.

[0036] When performing one-dimensional calculations of circular Chladni figure nodal lines, it is necessary to solve the one-dimensional wave equation of simple harmonic waves, as follows: (2) When the vibration source is not located at the center of the circle, the one-dimensional wave will no longer follow the original path after reflection, but will propagate along other paths at other angles. Therefore, the vibration state of any point on the plate will no longer be determined by a single one-dimensional wave that propagates along the line connecting the point and the center of the circle, which will lead to the anisotropy of one-dimensional wave propagation. Therefore, only the two-dimensional wave equation can be solved.

[0037] When performing two-dimensional calculations of circular Chladni figure nodal lines, it is necessary to solve the two-dimensional wave equation of simple harmonic waves in polar coordinate form, as follows: (3) In the formula, is the distance from the center of the circle, is the deflection angle.

[0038] The results obtained using the polar coordinate two-dimensional wave equation are more realistic than the one-dimensional solution. This is because in reality it is impossible to simplify the thin plate into countless ideal one-dimensional lines that are independent of each other. In actual situations, the mutual influence of one-dimensional lines will affect the results. The results of the two-dimensional equation also show obvious deviations in some wave node lines. This is not only because the support points are in a non-ideal state, but also because the model we established during the discussion did not pay attention to the effects of elastic mechanics and other aspects.

[0039] Although the one-dimensional solution has a larger deviation than the two-dimensional solution, its derivation is much simpler than the two-dimensional solution. Therefore, it can be used as an introductory example of the separation of variables method in teaching.

[0040] Example 7 In another preferred embodiment, based on the above embodiments 1, 2, and 5, a two-dimensional standing wave visualization demonstration system and method based on Python is used to perform a two-dimensional wave animation demonstration, and the program settings are as follows: When generating a two-dimensional standing wave animation, the system will solve the two-dimensional wave equation of a simple harmonic wave as follows: (1) After the solution is completed, several sub-graphs are generated according to the time function and then spliced ​​to generate an animation.

[0041] When generating a two-dimensional wave propagation animation, the system will perform iterative calculations and generate corresponding sub-graphs, and finally splice them to generate the animation.

[0042] Example 8 In another preferred embodiment, based on the above embodiments 1, 2, and 5, a two-dimensional standing wave visualization demonstration system and method based on Python is used to perform Chladni figure recognition, and the program settings are as follows: After the user successfully inputs the object, the program will calculate the weight based on MSE (Mean Squared Error) and SSIM (Structural Similarity Index Measure), compare the similarity between the input object and the results in the database, and thus obtain the result that is most similar to the object. Based on the result, the program will obtain the parameters in the nodal line equation, and finally display the corresponding results and parameters in the result area.

[0043] Example 9 In another preferred embodiment, based on the above-mentioned embodiments 1 to 8, this embodiment elaborates on the technical solution of the present invention and describes in detail the overall architecture and operation process of the present invention.

[0044] A two-dimensional standing wave visualization demonstration system based on Python, including a front end, a back end and a data transmission module responsible for communication between the front end and the back end; the front end is responsible for interaction with the user, including icons for users to click, various parameter input parts and various visual feedback result display areas for user operations, and the corresponding image structure and physical principles are visually displayed in the result display area; the back end includes the responsibility for receiving the commands issued by the user at the front end by clicking icons and the relevant data of the parameter input part, and feeding back the corresponding processing results to the result display area; a two-dimensional standing wave visualization demonstration method based on Python uses the technology of separating the front end and the back end, and uses pyinstaller to package the code into a program, and the operating system can be freely selected for running.

[0045] The front end of the program uses Qt front-end technology to build the interface, and the core visualization images and animations in the program are developed and implemented using the matplotlib drawing library; when the user runs this program, he only needs to use a computer with a Windows operating system, and there is no need to download and install other software applications. The program is transparent to the user, and the user only needs to run the executable file.

[0046] The front-end interface includes a logo area, a function navigation area and a content display area; the logo area is provided with icons that can be clicked; the function navigation area groups the function menus according to the system function planning, including a clickable home page, Chladni figure demonstration, two-dimensional wave animation demonstration, and Chladni figure recognition; the content display area is used to display specific demonstration content.

[0047] In the Chladni figure demonstration, users can set parameters such as thin plate shape, boundary conditions, calculation method, wave speed, output form, etc. in the parameter adjustment area to simulate the influence of these factors on two-dimensional standing waves; the output form can be selected as sub-figure or mother figure, and the sub-figure combination is a separate figure for each result and displayed independently, and the results can be switched by clicking the picture switching button; the mother figure combination is a combination figure of each result, and the picture cannot be switched; when the sub-figures are combined, the characteristic frequency and other related information will be calculated and displayed according to the current display results; when the mother figure is combined, the relevant information is not displayed.

[0048] In the 2D wave animation demonstration, the animation area displays 2D and 3D animations, and the function selection area selects functions and sets parameters to simulate the propagation of 2D mechanical waves and the vibration of 2D standing waves. The 2D standing wave vibration animation demonstration can select boundary conditions, including bound boundaries and free boundaries.

[0049] The Chladni figure recognition function interface includes an input area and a result area. The input area contains two input mode selection buttons and an input object display box. Users can input the recognition object through file selection and drawing board modes. The result area contains a result graph display area and a result parameter display area. After the matching is completed, the most matching object and its related information will be displayed in the function interface, where the related information includes parameters such as fit degree and phase.

[0050] Example 10 In another preferred embodiment, based on the above-mentioned embodiments 1 to 9, this embodiment specifically describes the steps of using a Python-based two-dimensional standing wave visualization demonstration system and method to demonstrate rectangular Chladni figures.

[0051] First, download the demonstration code or program package and start running it; then, click the Chladni Figure Demo button in the left navigation bar to enter the function interface, and then click the Parameter Setting button in the function interface to open the parameter setting interface; in the parameter setting interface, select the rectangular Chladni plate as the research object, set the length of the long side, the length of the short side, the wave speed, the boundary conditions, the calculation number and the output form of the rectangle. After the settings are completed, click the Start Simulation button.

[0052] After the program calculation is completed, the parameter setting interface will be automatically closed and the results will be displayed in the result display area of ​​the function interface; if the sub-graph combination output is selected, the results can be switched through the previous and next buttons, and the related information function bar will display the characteristic frequency and other information of the current result; if the main graph combination output is selected, the results cannot be switched and the relevant information will not be displayed.

[0053] In the rectangular Chladni figure demonstration, you can choose the result output format, including 2D nodal line graph, 2D contour graph, 3D main view, and 3D top view. For the 2D nodal line graph, you can set the nodal line color and background color.

[0054] With this function, users can simulate the effects of shape, wave speed, boundary conditions, calculation methods, etc. on two-dimensional standing waves.

[0055] Embodiment 11 In another preferred embodiment, based on the above-mentioned embodiments 1 to 9, this embodiment specifically describes the steps of using a Python-based two-dimensional standing wave visualization demonstration system and method to demonstrate a circular Chladni figure, and deeply analyzes the calculation method in the circular Chladni figure demonstration.

[0056] Similar to the rectangular Chladni figure demonstration, first download the demonstration code or program package and start running it, enter the Chladni figure demonstration function interface and set the parameters; in the parameter setting interface, select the circular Chladni plate as the research object, and set the relevant parameters, including wave speed, calculation method, etc.; the circular Chladni figure demonstration can select the node line color and background color of the output result, and can select the calculation method, including one-dimensional calculation method and two-dimensional calculation method.

[0057] When the vibration source is located at the center of the circle, the two-dimensional wave generated by the vibration can be regarded as an infinite number of one-dimensional waves propagating along each radial direction, and one-dimensional calculations can be performed at this time; when the vibration source is not located at the center of the circle, the one-dimensional wave will no longer propagate along the original path after reflection, so only two-dimensional calculations can be performed; for two-dimensional calculations, it is necessary to solve the two-dimensional wave equation of the simple harmonic wave in polar coordinate form.

[0058] After the settings are completed, click the Start Simulation button to start the simulation. After the program calculation is completed, the results will be displayed in the result display area of ​​the function interface.

[0059] With this function, users can simulate the effects of shape, wave speed, boundary conditions, calculation methods, etc. on two-dimensional standing waves.

[0060] Example 12 In another preferred embodiment, based on the above-mentioned embodiments 1 to 9, this embodiment specifically describes the steps of using a Python-based two-dimensional standing wave visualization demonstration system and method to perform a two-dimensional wave animation demonstration, and deeply analyzes the operation process in the two-dimensional animation demonstration.

[0061] First, download the demonstration code or program package and start running it; then click the 2D wave animation demonstration button in the left navigation bar to enter the function interface and select functions, including 2D standing wave animation and 2D wave propagation animation; if you select 2D standing wave animation, you can select boundary conditions, including bound boundaries and free boundaries; if you select 2D wave propagation animation, you can set the propagation time; after the settings are completed, click the Start Simulation button, and after the calculation is completed, the corresponding dimensional animation will be displayed in the 2D result area and the 3D result area.

[0062] With this function, users can simulate the propagation mode of two-dimensional mechanical waves and the vibration mode of two-dimensional standing waves. In addition, the demonstration does not require users to make precise parameter selections, in order to encourage users to run the demo multiple times to summarize the rules independently.

[0063] Example 13 In another preferred embodiment, based on the above-mentioned embodiments 1 to 9, this embodiment specifically describes the steps of using a Python-based two-dimensional standing wave visualization demonstration system and method to perform Chladni figure recognition, and deeply analyzes the operation process in Chladni figure recognition.

[0064] First, download the demo code or program package and start running it; then, click the Chladni figure recognition button in the left navigation bar to enter the function interface, and make input selections, including file input and drawing board input. Selecting file input will open the file manager and wait for the user to select an image. Selecting drawing board input will open the drawing board, and the user can draw with the mouse and buttons. The buttons include horizontal straight line drawing (—), vertical straight line drawing (|), main diagonal line drawing (\), and secondary diagonal line drawing ( / ). After drawing, click Drawing Complete to save and input. After input is completed, click Start Recognition Program to match the input results with each object in the database. After matching, the four most matching objects and their related information will be displayed in the function interface, and the related information includes parameters such as fit and phase.

[0065] With this function, users can identify existing two-dimensional standing waves and simulate the geometric relationship between different standing wave results.

[0066] Through the visualization demonstration system and method of the present invention, users can intuitively see various phenomena and principles of two-dimensional standing waves and mechanical waves, thereby deepening their understanding and mastery of wave theory.

[0067] In the preferred solution, the front-end interface uses Qt front-end technology to build the page, and the core visualization images and animations in the program are developed and implemented using the matplotlib drawing library; the above settings not only ensure the beauty and interactivity of the user interface, but also realize the efficient visualization of complex data through the powerful functions of matplotlib, thereby improving the intuitiveness and accuracy of data analysis and display.

[0068] In the preferred scheme, the front-end interface includes a logo area, a function navigation area and a content display area; the logo area is provided with icons for selection; the function navigation area groups the function menus according to the system function planning, including a home page for selection, a Chladni figure demonstration, a two-dimensional wave animation demonstration, and a Chladni figure recognition; the content display area is used to display specific demonstration content; the above settings enable users to access various functions intuitively and conveniently, and click on the icon in the logo area to quickly enter the application homepage, while the clear layout of the function navigation area ensures that users can quickly locate the required functions, and can get a smooth experience whether exploring the wonderful world of Chladni figures or immersing themselves in the dynamic demonstration of two-dimensional waves.

[0069] In the preferred scheme, the system simulates the influence of shape, wave speed, boundary conditions, calculation method, etc. on two-dimensional standing waves through Chladni figure demonstration; the output combination form of Chladni figure demonstration includes sub-figure and parent figure, wherein the sub-figure combination is a separate figure for each result and is displayed independently, and the result is switched by clicking the picture switching button; the parent figure combination is a combination figure of each result, and the picture cannot be switched; when the sub-figure is combined, the relevant information is calculated and displayed according to the current display result; when the parent figure is combined, the relevant information is not displayed; with the above settings, users can choose to view detailed sub-figures or overview parent figures according to their needs, thereby improving the efficiency and intuitiveness of data interpretation. At the same time, the system supports dynamic adjustment of parameters and real-time update of Chladni figures, which helps in-depth exploration and understanding in scientific research and teaching processes.

[0070] In the preferred scheme, the Chladni figure demonstration includes a rectangular Chladni figure demonstration and a circular Chladni figure demonstration; in the rectangular Chladni figure demonstration, the result output form can be selected, including a two-dimensional nodal line diagram, a two-dimensional contour line diagram, a three-dimensional main view, and a three-dimensional top view, wherein the two-dimensional nodal line diagram sets the nodal line color and the background color; in the circular Chladni figure demonstration, the nodal line color and the background color of the output result, as well as the calculation method, including a one-dimensional calculation method and a two-dimensional calculation method, are selected; the above settings can be easily completed by the user through interface interaction to realize the visual display of personalized Chladni figures. At the same time, the system supports saving and exporting functions, which is convenient for users to analyze and share research results later.

[0071] In the preferred scheme, the system simulates the propagation mode of two-dimensional mechanical waves and the vibration mode of two-dimensional standing waves through two-dimensional wave animation demonstration; the two-dimensional wave animation demonstration encourages users to run it multiple times to summarize the rules independently; the two-dimensional wave animation demonstration includes two-dimensional animation and three-dimensional animation, and any demonstration will generate two-dimensional animation; the above settings not only enhance the intuitiveness and fun of learning, but also promote users to deeply understand the characteristics of waves from multiple angles. Users can choose animation dimensions according to personal preferences or learning needs to improve learning efficiency and effectiveness.

[0072] In the preferred solution, the system recognizes existing two-dimensional standing waves through Chladni figure recognition, simulating the geometric relationship between different standing wave results; the Chladni figure recognition can input the recognition object through two modes: file selection and drawing board; the above settings all support user-defined parameter adjustment, such as frequency, amplitude, etc., to accurately match experimental requirements. In addition, the system also integrates a real-time feedback mechanism to instantly evaluate and optimize the recognition results to ensure the accuracy and efficiency of the standing wave simulation.

[0073] In a preferred solution, the front-end interface includes icons for users to click and operate, including parameter selection, simulation start, picture switching, and mode switching; the demonstration interface displays the processing results through images and animations; the above settings are intended to enhance the user experience, allowing users to operate intuitively and conveniently and immediately observe the effects of data processing, enhance interactivity and visualization, and thus optimize the decision-making process and work efficiency.

[0074] In the preferred scheme, the demonstration method also includes a concept explanation function, and when the user places the mouse cursor on a certain part, the basic concepts of the corresponding simulation content will be displayed on the page; the demonstration method uses the technology of front-end and back-end separation, and uses pyinstaller to package the code into a program, and the operating system can be freely selected to run; the above settings make the demonstration method not only highly flexible and cross-platform, but also can improve user experience and learning efficiency through instant concept explanation, providing powerful and convenient support for various demonstration scenarios.

[0075] In summary, the present invention proposes a two-dimensional standing wave visualization demonstration system and method based on Python, which solves the teaching and understanding problems of two-dimensional standing waves in the fields of education and scientific research due to their high abstractness and difficulty in direct observation; the present invention integrates the visualization demonstration of two-dimensional standing waves, Chladni figure demonstration, two-dimensional wave animation demonstration and Chladni figure recognition functions into one system, and provides a user-friendly interactive interface through a technical architecture with front-end and back-end separation. This integration method is novel in the field of visualization teaching and popular science of two-dimensional standing waves, and provides users with a comprehensive and intuitive learning experience; in the Chladni figure demonstration, the present invention provides two output combination forms of sub-graph and parent graph, as well as multiple result output forms (such as two-dimensional nodal line diagram, two-dimensional contour diagram, three-dimensional main view, three-dimensional top view, etc.), users can choose according to their needs. At the same time, users can also adjust parameters such as thin plate shape, boundary conditions, calculation method, wave speed, output form, etc. through the parameter adjustment area. This diversified output form and parameter adjustment ability are highly novel in similar visualization demonstration methods; the present invention can recognize the existing two-dimensional standing waves through the Chladni figure recognition function, and simulate the geometric relationship between different standing wave results. This computer vision recognition function is still novel in the visualization demonstration of two-dimensional standing waves, providing users with more convenient and efficient recognition and analysis means; the present invention adopts a technical architecture with front-end and back-end separation, so that The front-end interface and the back-end data processing are independent of each other, which improves the scalability and maintainability of the system. At the same time, pyinstaller is used to package the code into a program, so that users can run the program on different operating systems without installing additional software applications. This technical architecture has high creativity among similar visualization demonstration methods. The present invention uses Python language and its powerful drawing library matplotlib to realize the visualization demonstration of two-dimensional standing waves. Python, as an open source, easy-to-learn and powerful programming language, has broad application prospects in the field of visualization. The scheme realizes the visualization demonstration of two-dimensional standing waves through Python language, which not only reduces the development cost, It also improves the flexibility and scalability of the system. This Python-based visualization implementation method has a certain degree of creativity among similar methods. The design fully considers the needs of teaching and popular science. By providing rich visualization demonstration content and interactive functions, users can more intuitively and comprehensively understand the physical principles and characteristics of two-dimensional standing waves. At the same time, the solution also provides users with a more convenient and efficient learning experience through innovative means such as computer vision recognition functions. This design idea that integrates teaching and popular science needs has a high degree of creativity among similar visualization demonstration methods. The present invention also has a high degree of user customization. Users can adjust demonstration parameters such as wavelength, frequency, etc. according to their needs to further deepen their understanding.In addition, the integrated data analysis tools help users extract patterns from data, providing strong support for scientific research and teaching; the two-dimensional standing wave visualization demonstration system and method, with its unique creativity, high flexibility, user-friendliness and powerful data analysis functions, has shown great potential in the fields of education and scientific research, and is expected to become an important tool for promoting the popularization of relevant knowledge and in-depth research.

Claims

1. A two-dimensional standing wave visualization demonstration system based on Python, characterized by: It includes a front end, a back end, and a data transmission module responsible for communication between the front end and the back end; the front end is responsible for interaction with the user, including icons for users to click, parameter input parts, and a result display area for visual feedback of user operations, and the corresponding image structure and physical principles are visually displayed in the result display area; the back end includes the responsibility for receiving the commands issued by the user at the front end by clicking icons and related data of the parameter input part, and feeding back the corresponding processing results to the result display area.

2. A two-dimensional standing wave visualization demonstration system based on Python according to claim 1, characterized in that: The front-end interface uses Qt front-end technology to build the page, and the core visualization images and animations in the program are developed and implemented using the matplotlib drawing library.

3. A two-dimensional standing wave visualization demonstration system based on Python according to claim 1, characterized in that: The front-end interface includes a logo area, a function navigation area and a content display area; the logo area is provided with icons for selection; the function navigation area groups the function menus according to the system function planning, including a home page for selection, a Chladni figure demonstration, a two-dimensional wave animation demonstration, and a Chladni figure recognition; the content display area is used to display specific demonstration content.

4. A two-dimensional standing wave visualization demonstration system based on Python according to claim 1, characterized in that: The system simulates the influence of shape, wave speed, boundary conditions, calculation method, etc. on two-dimensional standing waves through Chladni figure demonstration; the output combination form of Chladni figure demonstration includes sub-figure and main figure, wherein the sub-figure combination is that each result is separately plotted and displayed independently, and the results are switched by clicking the picture switching button; the main figure combination is a combination figure of each result, and the picture cannot be switched; when the sub-figure is combined, the relevant information is calculated and displayed according to the current display result; when the main figure is combined, the relevant information is not displayed.

5. A two-dimensional standing wave visualization demonstration system based on Python according to claim 4, characterized in that: The Chladni figure demonstration includes a rectangular Chladni figure demonstration and a circular Chladni figure demonstration; in the rectangular Chladni figure demonstration, the result output form can be selected, including a two-dimensional nodal line diagram, a two-dimensional contour line diagram, a three-dimensional main view, and a three-dimensional top view, wherein the two-dimensional nodal line diagram sets the nodal line color and the background color; in the circular Chladni figure demonstration, the nodal line color and the background color of the output result, as well as the calculation method, are selected, including a one-dimensional calculation method and a two-dimensional calculation method.

6. A two-dimensional standing wave visualization demonstration system based on Python according to claim 1, characterized in that: The system simulates the propagation mode of two-dimensional mechanical waves and the vibration mode of two-dimensional standing waves through two-dimensional wave animation demonstration; the two-dimensional wave animation demonstration encourages users to run it multiple times to summarize the rules independently; the two-dimensional wave animation demonstration includes two-dimensional animation and three-dimensional animation, and any demonstration will generate two-dimensional animation.

7. A two-dimensional standing wave visualization demonstration system based on Python according to claim 1, characterized in that: The system recognizes existing two-dimensional standing waves through Chladni figure recognition, and simulates the geometric relationship between different standing wave results; the Chladni figure recognition can input the recognition object through two modes: file selection and drawing board.

8. A Python-based two-dimensional standing wave visualization demonstration system according to any one of claims 1 to 7, characterized in that: The front-end interface includes icons for users to click and operate, including parameter selection, simulation start, picture switching, and mode switching; the demonstration interface displays the processing results through images and animations.

9. A two-dimensional standing wave visualization demonstration method based on Python, characterized in that: A two-dimensional standing wave visualization demonstration system based on Python is adopted according to any one of the above, and the method comprises the following steps: Step 1: Download the demo code or package and start running; Step 2: Click the "Chladni Figure Demo" button in the left navigation bar to enter the function interface and select or operate the function; Step 3: After selecting the function, perform parameter setting, calculation, simulation and matching; Step 4: After the matching is completed, the results are displayed in the function area.

10. A two-dimensional standing wave visualization demonstration method based on Python according to claim 9, characterized in that: The demonstration method also includes a concept explanation function. When the user places the mouse cursor on a certain part, the basic concept of the corresponding simulation content will be displayed on the page; the demonstration method uses the technology of separating the front-end and back-end, and uses pyinstaller to package the code into a program, and the operating system can be freely selected to run.