# มาทำความรู้จักกับ Math Function สุดคลาสสิก: sqrt, sin, cos, และ tan ในภาษา Lua
ฟังก์ชั่นทางคณิตศาสตร์อย่าง sqrt (รากที่สอง), sin (ไซน์), cos (โคไซน์), และ tan (แทนเจนต์) เป็นแก่นของการคำนวณหลายอย่างที่สำคัญในปัญหาวิทยาศาสตร์และวิศวกรรม แต่ก็ไม่ได้ถูกจำกัดเฉพาะในห้องเรียนหรือห้องแล็บเท่านั้น ในโลกของการเขียนโปรแกรม, Lua เป็นภาษาที่สวยงามและมีประสิทธิภาพที่ให้บริการฟังก์ชันเหล่านี้ผ่านโมดูล math มาดูกันว่าเราสามารถเรียกใช้พวกมันได้อย่างไร และ use cases ที่ชวนให้น่าตื่นเต้นในโลกจริงมีอะไรบ้าง
sqrt (square root หรือ รากที่สอง)
การใช้งานฟังก์ชัน `sqrt` ใน Lua นั้นง่ายมาก ฟังก์ชันนี้ใช้ในการคำนวณรากที่สองของเลขที่กำหนด:
local number = 25
local square_root = math.sqrt(number)
print(square_root) -- ผลลัพธ์จะเป็น 5
sin, cos, และ tan (Trigonometric functions)
เหล่านี้เป็นฟังก์ชันตรีโกณมิติที่ใช้วัดมุม:
local angle = math.rad(30) -- แปลงมุมจากองศาเป็นเรเดียน
local sine = math.sin(angle) -- sin(30 องศา)
local cosine = math.cos(angle) -- cos(30 องศา)
local tangent = math.tan(angle) -- tan(30 องศา)
print(sine, cosine, tangent) -- จะได้ค่า sine, cosine, tangent ที่เกี่ยวข้องกับมุม 30 องศา
ตัวอย่างนี้ช่วยให้เราเห็นว่าฟังก์ชันตรีโกณมิติใช้ค่ามุมในหน่วยเรเดียน เพื่อทำการคำนวณ ดังนั้น, เราต้องแปลงค่าจากองศาเป็นเรเดียนก่อน.
1. การจำลองการเคลื่อนไหวของวัตถุ
ในวิดีโอเกมหรือการจำลอง ฟังก์ชัน sin และ cos มักถูกใช้ในการสร้างการเคลื่อนไหวที่เรียบร้อย, เช่น การเคลื่อนไหวขึ้นลงของวัตถุบนคลื่น:
local time = os.clock() -- เวลาในการเริ่มต้น
local object = { x = 0, y = 0 }
function updatePosition()
object.y = math.sin(time) * 10 -- สร้างการเคลื่อนไหวแบบคลื่นสิ่งนี้จะเมื่อเวลาผ่านไป
time = time + 0.1
end
2. โครงการการทำงานของหัวใจ Mathf branch Year 1 (Emotional Mathematics)
การใช้งานฟังก์ชัน cos และ sin ในการสร้างรูปหัวใจ:
-- สูตร parametric equations สำหรับรูปหัวใจ
function heartShape(t)
return 16 * math.sin(t)^3, 13 * math.cos(t) - 5 * math.cos(2*t) - 2 * math.cos(3*t) - math.cos(4*t)
end
-- การวาดรูปหัวใจบนหน้าจอ
for t=0,math.pi*2,0.01 do
local x, y = heartShape(t)
-- ฟังก์ชันวาดบนหน้าจอที่จำลองด้วย x, y
end
คุณจะเห็นว่าทั้ง sqrt, sin, cos และ tan นั้นเป็นเครื่องมือที่มีค่าในการต่อยอดความคิดใหม่ๆ ของเรา, ไม่ว่าจะในการสร้างเกม การถ่ายทอดพฤติกรรมทางฟิสิกส์ หรือแม้กระทั่งการสร้างศิลปะผ่านเส้นคณิตศาสตร์.
การเรียนรู้การเขียนโปรแกรมไม่จำเป็นต้องเป็นเรื่องที่ยากเย็นและเต็มไปด้วยตัวเลขเท่านั้น แต่มันเป็นการเปิดประตูให้กับโลกแห่งการสร้างสรรค์ด้วยอัลกอริธึมเหล่านี้ ซึ่งที่ EPT, เราหวังว่าจะช่วยให้คุณได้ค้นพบกับความมหัศจรรย์ของโลกแห่งการเขียนโปรแกรมผ่านโค้ดเล็กๆ แต่อัจฉริยะ ยกตัวอย่างเหล่านี้ขึ้นมาและดูว่าความเข้าใจของคุณจะเปิดโลกไปถึงที่ไหน!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM