Tạp chí Khoa học – Trường Đại học Phú Yên, Số 34 (2024), 126-131
126
MÔ PHNG HOT HÌNH DAO ĐỘNG ĐIỀU HÒA BNG
NGÔN NG PYTHON
Trn Xuân Hi
Trưng Đại hc Phú Yên
Email: tranxuanhoi@pyu.edu.vn
Ngày nhận bài: 16/03/2024; Ngày nhận đăng: 03/06/2024
Tóm tt
Bài báo trình bày phương pháp kết qu mô phng một dao động điều hòa ca con
lc lò xo bng cách ng dng vi phân và lp trình Python. Kết qu bao gm đon hot hình ca
con lắc đang dao động điều hòa cùng vi s biến đổi ca các đại ng của dao động tương
ng thi gian thc ca con lắc. Hơn nữa, nghiên cứu này đưa ra một cách tiếp cn v dao động
điều hòa mà không thông qua vic giải phương trình vi phân bậc hai.
T khóa: Vi phân, mô phng, dao động điều hòa, vpython.
Simulating the animation of harmonic oscillation in Python language
Tran Xuan Hoi
Phu Yen Univesity
Received: March 16, 2024; Accepted: June 03, 2024
Abstract
This article presents the method and results of simulating a harmonic oscillation of a
spring oscillator by using differentiation and Python. The result includes the animation of a
spring oscillator and real-time variations of the corresponding components of the system.
Furthermore, this study offers an approach to harmonic oscillation without solving second-
order differential equations.
Keywords: Differentiation, simulation, harmonic oscillation, vpython.
1. M đầu
Mô phng là mt cách đ dy hc hiu qu và trc quan, giúp hc viên tích cc và ch
động khi hc các môn hc khoa hc t nhiên cũng như STEM (Falloon, 2019). Mô phng
giúp ngưi hc hiểu rõ hơn các khái niệm lý thuyết, quan sát đưc các hiện tượng thc tế
rèn luyn k năng thực hành. Mô phỏng cũng là một công c quan trng trong ging dy và
nghiên cu khoa hc t nhiên, giúp kim tra các gi thuyết, mô hình hóa các quá trình và d
báo các kết qu (Falloon, 2019).
Dao động điu hòa là mt trong nhng ni dung quan trọng trong chương trình vật lý
ph thông cũng như các cp hc cao hơn. Dao động điều hòa là nn tng đ hc nhiu
hiện tượng vật lý như sóng điện từ, dòng điện xoay chiu, và k c vt lý phân t và nhit
hc (Alrasheed, 2024). Để mô phỏng dao động điều hòa nhm h tr trong dy hc vt lý,
giáo viên thường s dng các công c có sẵn như trình vẽ hình trong Microsoft Office, các
phn mm chuyên nghiệp hơn như Geometry Sketpatch, Geogebra. Ngoài ra hin nay
Journal of Science – Phu Yen University, No.34 (2024), 126-131 127
Trưng Đ
mt s công c mô phng các hiện tượng vt lý trc tuyến để h trong dy hc, chng hng
như trang “oPhysics: Interactive Physics Simulations”.
Vi xu thế dy hc tích hp như hiện nay, trong nghiên cu này tác gi s dng tích
hp các kiến thc liên quan v vt lý, toán hc và tin hc đ mô phng một dao động điều
hòa ca con lc lò xo. Vi mục đích là h tr trong dy hc và nghiên cu vt lý, bài báo hy
vọng đóng góp phần nào trong đổi mới phương pháp cũng như ứng dng công ngh vào dy
hc hin nay.
2. Phương pháp
2.1. Nguyên lý của dao động điu hòa
Hình 1. Con lc lò xo
Xét dao động ca mt con lc lò xo, bao gm vt nng có khi lưng m và lò xo nh
độ cng k, dao đng trên mt phng ngang (Hình 1) trong trường hợp ma sát không đáng
kể. Khi đó vt chu tác dng ca 3 lc là trng lc ca qu nng, phn lc vuông góc ca
mt phng ngang và lực đàn hồi ca lò xo. Trong đó, trọng lc và phn lc là cp lc cân
bằng. Như vậy, trong suốt quá trình dao động ca con lc trên, vt dao đng (qu nng) ch
chu tác dng bi duy nht mt lc là lc đàn hồi ca lò xo.
dh
F kx
Để tìm qui lut chuyển động ca con lc, theo Định lut II Newton ta có:
"F ma mx
T (1.1) (1.2) suy ra:
"kx mx
"0
k
xx
m

Phương trình (1.4) là phương trình động lc hc ca vt nng trên. Nghim của phương
trình này có dng:
cos( )xA t

Do đó, dao động ca vt nặng này là dao động điều hòa. T phương trình (1.5) ta có th
biết đưc qui lut dao đng ca vt nng trên, biu diễn đồ th li đ ca dao động điu hòa,
do đó, cũng có thể xác định được các đi lưng khác của dao động điều hòa như vận tc,
năng lượng. Tuy nhiên, trong nghiên cu này, tác gi không s dụng phương trình (1.5) để
dng hot hình (ảnh động animation) ca dao đng điu hòa bi mt s lý do s được nêu
phn sau. Thay vào đó, để thun li trong vic lp trình thì phương pháp vi phân được s
dng trong nghiên cu này.
Như phần trên đã nêu, trong suốt quá trình dao động ca con lc trên, vt dao đng (qu
nng) ch chu tác dng bi duy nht mt lc là lực đàn hồi ca lò xo. Lc này có đặc điểm
(1.1)
(1.2)
(1.3)
(1.4)
(1.5)
Tạp chí Khoa học – Trường Đại học Phú Yên, Số 34 (2024), 126-131
128
luôn hướng v v trí cân bng có đ ln t l nghch vi li đ (Công thc (1.1)). Ch
cần điều kiện như vậy thì vt s dao động điều hòa, ta cũng th dng/chng t được
nó s dao động điều hòa ch t điều kin này mà không cn lập phương trình vi phân bậc
hai như ở trên.
2.2. ng dng vi phân đ kho sát dao động điu hòa con lc lò xo
Xét mt con lắc lò xo như Hình 1. Các đi lưng của dao động điều hòa con lc lò xo ti
thi điểm ban đầu:
Li đ:
Động lượng:
0p
Động năng:
2
2
dn
p
Wm
Thế năng đàn hồi:
2
2
tn
kx
W
Cơ năng:
constant
dn tn
WW W 
Các đại lưng ti thi đim sau mt khong vi phân thời gian Δt kể t lúc ban đầu:
.
t dh
p pF t

t
t
pt
x x xx m

Công thc (1.11) cho biết đng ng ca vt nng sau mt khong vi phân thi gian Δt
k t lúc ban đầu, giúp xác định được động năng ca vt theo công thc (1.8). Công thc
(1.12) cho biết v trí ca vt nng ti thời điểm Δt. Khi biết được v trí đng ng ca
vt ta có th xác định được c đi lưng còn li của dao động ti thi đim Δt.
Tiếp theo, ta cho mt khong vi phân thi gian Δt na, ri xác đnh trng thái ca dao
động ti thi đim này. Quá trình này lặp đi lặp li theo mt vòng lặp như nhau. Do đó s
thun tin trong vic lp trình cho máy tính thc hin vòng lp này để khảo sát cũng như
mô phỏng dao động.
2.3. Chương trình Vpython và dao động điu hòa ca con lắc đơn
VPython là mt ngun m và là mt phn ca tvin Python, kết hp ngôn ng lp
trình Python vi module đồ ha 3D. ng dụng thư viện này cho phép người dùng to các
đối ng 3D, chng hạn như khi hình hp, hình cầu và hình nón, sau đó hin th các đi
ng này trong ca s ng dụng. Điều này h tr vic to ra các hình nh và hot hình trc
quan đơn giản, cho phép các lp trình viên tp trung hơn vào khía cạnh tính toán và mô
phng của chương trình ca h. Vpython là mt công c ph biến để minh ha toán hc và
vật lý đơn giản, đặc biệt là trong môi trưng giáo dục, do tính đơn gin và cp phép ngun
m ca nó. Vpython lần đầu tiên được s dng trong các khóa hc vật lý cơ bản ti Trường
Đại hc Carnegie Mellon (M), sau đó lan rộng sang các trưng đi hc khác và cui cùng
là các trưng trung hc, đc biệt là liên quan đến chương trình giảng dy vt chất & tương
tác. Mt s phát trin liên quan ca David Scherer và Bruce Sherwood là GlowScript, cho
phép viết và chạy các chương trình Vpython trong trình duyt ti trang GlowScript.org
(Wikipedia, 2024). Trong nghiên cu này, tác gi thc hiện chương trình Vpython trên trình
(1.6)
(1.7)
(1.8)
(1.9)
(1.10)
(1.11)
(1.12)
Journal of Science – Phu Yen University, No.34 (2024), 126-131 129
Trưng Đ
duyt máy tính ti địa ch https://glowscript.org.
Mt con lắc đơn dao động điu hòa bao gm các thành phn hình hc và vt lý. Các
thành phn hình hc gm các khi nh hp ch nht (vt nặng, điểm ta, mặt bàn), đường
helix tròn (lò xo). c thành phn vt lý bao gm: dao động điều hòa ca vt nng quanh v
trí cân bằng theo điều kiện ban đầu cho trước; lò xo có mt đu c định, mt đu gn cht
vi vt nng, lò xo luôn co giãn tương ứng theo dao đng ca con lc; quá trình biến đổi
năng lượng ca con lc các đi ng khác của dao động. Nghiên cu này tp trung vào
vic mô phng hoạt hình dao động điều hòa ca con lc lò xo trên mt phng ngang và s
biến đổi năng lượng tương ứng với quá trình dao động ca con lc.
3. Kết qu và bàn lun
3.1. Kết qu
Để to ra hot hình ca con lắc lò xo, trưc hết phi khai báo các điu kiện ban đầu ca
h dao đng cho Python bao gm đ dài t nhiên độ cng ca lò xo, khi lưng ca vt
nng, vn tc và v trí ban đầu ca vt. Cùng với đó dng các thành phn hình hc có
tham gia vào h dao động, sau đó viết đoạn mã đ điều khin hot hình ca các thành
phn hình hc. Hình 2 đoạn mã mô phỏng dao động và s biến đổi ng lượng ca con
lc được thc hiện trên môi trường Vpython. Trong đó bao gồm các thành phần được đưa
vào chương trình như xo, vật nng, các thành phần năng lượng, vi phân thi gian, lc đàn
hồi, động ợng, độ dài đ biến dng ca lò xo, và các hàm ca Python. đây vi phân
thời gian được ly là 1/1000 tng thi gian kho sát. Động lưng và v trí ca vt ti thi
điểm Δt đưc mô t đoạn mã dòng 35 và 36 ca Hình 2, nội dung này được trình bày
công thc (1.11) (1.12).
Hình 2. Đoạn mã mô phng hoạt hình dao động điều hòa ca con lc lò xo bng Python
Đon hot hình mô phỏng dao động cùng vi s biến đổi ng ợng được phát ra ngay
sau khi chạy chương trình, tt c được chy trc tuyến trên trình duyt máy tính. Hình 3a
ca s làm vic ca Glowsript và Hình 3b là ca s xut kết qu được ct t đon hot hình.
Toàn b đoạn hot hình này được ti lên ti đưng liên kết:
https://photos.app.goo.gl/Xpm86gvukrwv5wFZ8. Hình 4a được ct t đoạn hot hình dao
động ca con lc cùng vi s biến đổi ca li đ và vn tc, đoạn hot hình này được ti lên
ti đưng ln kết: https://photos.app.goo.gl/rE9qvx1SC4FkMsqdA. Hình 4b được ct t
Tạp chí Khoa học – Trường Đại học Phú Yên, Số 34 (2024), 126-131
130
đoạn hoạt hình dao động ca con lc cùng vi s biến đổi ca gia tc, đon hot hình này
được ti lên ti đưng liên kết: https://photos.app.goo.gl/HTmoaaiGo5eqWRC38.
(a) (b)
Hình 3. Môi trường làm vic ca Glowscript (a) và hot hình dao động và s biến đổi
năng lượng ca con lc (b)
(a) (b)
Hình 4. S biến đổi của li độ và vn tc (a) và gia tc (b) ca con lc
3.2. Bàn lun
Thông qua hot hình của quá trình dao động kèm vi s biến thiên liên tc ca các thành
phần ng lượng như trình y phn kết qu s rt thun tin cho hc sinh và sinh viên
thy được thế năng và động ng khi nào tăng, khi nào giảm và biến thiên theo qui lutnh
sin (Hình 3) không cn phải tìm ra phương trình năng lượng thông qua vic giải phương
trình vi phân bậc hai. Tương tự, các thành phn biến thiên khác ca dao động như li đ, vn
tc, gia tc cũng đưc cho thy là chúng biến thiên theo qui lut hình sin mt cách trc
quan (Hình 4).
Phép ng dụng vi phân để mô phng hot hình của dao động con lc lò xo chng t được
nếu mt vt ch chu tác dng bi mt lc hoc hp lc có đ ln t l nghch vi li đ