บทความ: ศาสตร์ของฟังก์ชันคำนวณทางคณิตศาสตร์ การใช้งานฟังก์ชัน sqrt, sin, cos, tan ในภาษา JavaScript
คณิตศาสตร์เป็นหัวใจของการพัฒนาโปรแกรมที่มีประสิทธิภาพ และภาษา JavaScript เองก็มีไลบรารีมาตรฐานสำหรับการทำงานทางคณิตศาสตร์ ได้แก่ Math object ที่มีฟังก์ชันสำคัญๆ เช่น sqrt (Square root หรือ รากที่สอง), sin (Sine หรือ ฟังก์ชันไซน์), cos (Cosine หรือ ฟังก์ชันโคไซน์), และ tan (Tangent หรือ ฟังก์ชันแทนเจนต์). ฟังก์ชันเหล่านี้มีบทบาทสำคัญในการคำนวณต่างๆ เช่น การจัดการกราฟ, การสร้างโมเดล 3D, หรือแม้แต่ในการแก้ปัญหาฟิสิกส์และวิศวกรรม.
ใน JavaScript, การใช้งานฟังก์ชันเหล่านี้เป็นเรื่องง่าย ตัวอย่างเช่น:
// การใช้งานฟังก์ชัน sqrt
let number = 16;
let squareRootOfNumber = Math.sqrt(number);
console.log(squareRootOfNumber); // ผลลัพธ์คือ 4
// การใช้งานฟังก์ชัน sin
let degrees = 90;
let radians = degrees * (Math.PI / 180); // แปลงองศาเป็นเรเดียน
let sineOfDegrees = Math.sin(radians);
console.log(sineOfDegrees); // ผลลัพธ์คือ 1 ใน JavaScript เนื่องจาก sin(90°) = 1
// การใช้งานฟังก์ชัน cos
let cosineOfDegrees = Math.cos(radians);
console.log(cosineOfDegrees); // ผลลัพธ์คือ 0 เนื่องจาก cos(90°) = 0
// การใช้งานฟังก์ชัน tan
let tangentOfDegrees = Math.tan(radians);
console.log(tangentOfDegrees); // ผลลัพธ์จะเท่ากับไม่มีขีดจำกัด เนื่องจาก tan(90°) มีค่าเป็นอนันต์
ในการอธิบายการทำงาน ฟังก์ชัน sqrt จะคืนค่ารากที่สองของตัวเลขที่กำหนด ในขณะที่ฟังก์ชัน sin, cos, และ tan เกี่ยวข้องโดยตรงกับการคำนวณในวงการเรขาคณิตวงกลม เพื่อลำดับนำไปใช้ในการคำนวณความยาวด้านในสามเหลี่ยมหรือการสร้างการจำลองการเคลื่อนไหว.
Usecase ที่ 1: การแสดงกราฟความสัมพันธ์ของฟังก์ชันในเว็บแอปพลิเคชัน
JavaScript มักใช้ในการสร้างกราฟิกในเว็บไซต์ ด้วยการใช้ฟังก์ชันเหล่านี้ควบคู่ไปกับ HTML canvas API, ชาวนักศึกษาหรือนักพัฒนาสามารถสร้างกราฟของฟังก์ชันตรีโกณมิติ เพื่อช่วยให้ผู้ใช้เห็นถึงความสัมพันธ์ังค่าต่างๆ อย่างชัดเจน.
// ตัวอย่างโค้ดสำหรับการวาดกราฟฟังก์ชัน sine บน canvas
let canvas = document.getElementById('sineGraph');
let ctx = canvas.getContext('2d');
// กำหนดค่าเริ่มต้นสำหรับกราฟ
let width = canvas.width;
let height = canvas.height;
let scale = 20;
// วาดกราฟ
ctx.beginPath();
ctx.moveTo(0, height / 2);
for (let x = 0; x < width; x++) {
let y = height / 2 + Math.sin(x / scale) * height / 4;
ctx.lineTo(x, y);
}
ctx.stroke();
Usecase ที่ 2: การคำนวณเงาและแสงในการสร้างเกม 3D
การประยุกต์ใช้ sin, cos และ tan นั้นหาได้ง่ายในการคำนวณเกี่ยวกับแสงและเงาในโลก 3D ซึ่งจำเป็นมากในการสร้างเกมหรือการจำลองสถานการณ์จริงในคอมพิวเตอร์กราฟิกส์. เทคนิคเช่นการปรับแสงกระจาย (Diffuse Lighting) และการสะท้อนแสง (Specular Highlights) สามารถใช้พื้นฐานจากฟังก์ชันตรีโกณมิติเหล่านี้.
// สมมติเรามี vector ของแสงและ vector พื้นผิว ดังต่อไปนี้
let lightVector = { x: 0, y: 1, z: 1 };
let surfaceNormal = { x: 0, y: 0, z: 1 };
// คำนวณมุมระหว่างแสงและแนวตั้งฉากผิวพื้น โดยใช้ dot product
let dotProduct = lightVector.x * surfaceNormal.x + lightVector.y * surfaceNormal.y + lightVector.z * surfaceNormal.z;
let angle = Math.acos(dotProduct);
// คำนวณความเข้มของแสงพื้นผิวที่ถูกแสงส่อง
let lightIntensity = Math.cos(angle);
console.log(lightIntensity); // ค่าความเข้มของแสงบนผิวพื้นนั้น
การสร้างโปรแกรมมักเจอกับเงื่อนไขที่ต้องการความเข้าใจในคณิตศาสตร์เพื่อแก้ปัญหา ที่ EPT (Expert-Programming-Tutor), เรามีหลักสูตรเฉพาะทางในการนำคณิตศาสตร์ไปใช้ในการเขียนโปรแกรมอย่างมีประสิทธิภาพ เราเรียนรู้ไม่เพียงแต่คำสั่งทางโปรแกรม แต่ยังรวมถึงเหตุผลทางคณิตศาสตร์ที่อยู่เบื้องหลังการใช้งานด้วย ดังนั้นไม่มีเหตุผลที่จะลังเลใจ ร่วมกับเราที่ EPT เพื่อการเรียนรู้ที่จะเปลี่ยนโลกด้วยการเขียนโค้ดของคุณ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM