คณิตศาสตร์แบบเวคเตอร์ใน VPython

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
วิกินี้เป็นส่วนหนึ่งของรายวิชา 01204223
เนื้อหาในวิกินี้ดัดแปลงมาจากกิจกรรมประกอบหนังสือเรียนรายวิชาเพิ่มเติม เทคโนโลยีสารสนเทศและการสื่อสาร ภาษาไพทอน โดยสถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี

โมดูล visual ในไลบรารี VPython รองรับการประมวลผลทางคณิตศาสตร์เชิงเวคเตอร์โดยเตรียมคลาสชื่อ vector เพื่อใช้สร้างปริมาณเวกเตอร์ตั้งแต่หนึ่งถึงสามมิติ ตัวอย่างต่อไปนี้เป็นการนิยามเวกเตอร์ และเวกเตอร์ ไว้ในตัวแปร u และ v ตามลำดับ

>>> from visual import vector
>>> u = vector(2,3)
>>> v = vector(3,-4)
>>> print(u,v)
<2, 3, 0> <3, -4, 0>

จะเห็นว่าเวกเตอร์ที่สร้างขึ้นมีขนาด 3 มิติ อย่างไรก็ตามกิจกรรมนี้จะสนใจเพียงสองมิติแรก ซึ่งหากไม่สนใจมิติที่สามแล้วค่าของ u และ v ข้างต้นจะสอดคล้องกับแผนภาพดังนี้

Vpython-vec1.png

ปริมาณในแต่ละมิติของเวกเตอร์สามารถอ้างถึงผ่านคุณลักษณะชื่อ x และ y ของเวกเตอร์นั้น ๆ และยังอ้างอิงตามรูปแบบลิสต์ได้เช่นกัน ตัวอย่างเช่น

>>> v = vector(2,3)
>>> print(v.x,v.y)
2.0 3.0
>>> print(v[0],v[1])
2.0 3.0
>>> v.x = -8.5
>>> print(v)
<-8.5, 3, 0>

การบวกและลบเวกเตอร์

เนื่องจากภาษาไพทอนรองรับการทำ Operator Overloading ข้อมูลชนิดเวกเตอร์ที่สร้างขึ้นจากคลาส vector ของ VPython สามารถนำมาประมวลผลด้วยตัวดำเนินการทางคณิตศาสตร์ + และ – ได้ทันที ดังตัวอย่าง

>>> from visual import vector
>>> u = vector(2,3)
>>> v = vector(3,-4)
>>> w1 = u+v
>>> w2 = u-v
>>> print(w1,w2)
<5, -1, 0> <-1, 7, 0>

ซึ่งสอดคล้องกับแผนภาพ

Vpython-vec-add-sub.png

การคูณและหารเวกเตอร์ด้วยสเกลาร์

ปริมาณเวกเตอร์ที่สร้างขึ้นสามารถนำมาคูณหรือหารด้วยปริมาณสเกลาร์ผ่านตัวดำเนินการ * และ /

>>> w3 = u*2
>>> w4 = v/2
>>> print(w3)
<4, 6, 0>
>>> print(w4)
<1.5, -2, 0>

ซึ่งให้ผลลัพธ์เป็นเวกเตอร์ใหม่ที่ขนาดเปลี่ยนไปแต่ยังคงทิศทางเดิม ดังแผนภาพ

Vpython-vec-mul-div.png

ขนาดของเวกเตอร์

เวกเตอร์ 2 มิติ มีขนาด (หรือความยาว) ตามทฤษฎีของปีทาโกรัสดังนี้

ขนาดของเวกเตอร์คำนวณได้จากฟังก์ชัน mag() ในโมดูล visual ดังตัวอย่าง

>>> from visual import vector,mag
>>> v = vector(3,4)
>>> print(mag(v))
5.0

ดังนั้นสำหรับเวกเตอร์ใด ๆ ที่ขนาดไม่เป็นศูนย์ เราสามารถสร้างเวกเตอร์หนึ่งหน่วยที่ชี้ไปทางเดียวกับเวกเตอร์นั้น โดยการหารเวกเตอร์นั้นด้วยขนาดของตัวเอง ดังตัวอย่าง

>>> u = v/mag(v)
>>> print(u)
<0.6, 0.8, 0>
>>> print(mag(u))
1.0

การประยุกต์ใช้กฎการเคลื่อนที่เพื่อจำลองการเคลื่อนไหวของวัตถุ

กฎการเคลื่อนที่พื้นฐานกล่าวไว้ว่าสำหรับวัตถุใด ๆ แล้ว ความเร็วของวัตถุ และตำแหน่งของวัตถุ มีความสัมพันธ์ตามสมการ

ในกรณีที่ มีค่าน้อย หรือ มีค่าคงที่ ซึ่งจะได้ว่า

ในทำนองเดียวกัน ความสัมพันธ์ระหว่างความเร่ง และความเร็ว สามารถเขียนในรูป