*บทความนี้สามารถใช้ได้กับทั้งผู้ที่เรียน แคลคูลัส 1 และ แคลคูลัส 2 ครับ
เนื่องจากว่าผมเพิ่งสอบเสร็จ แล้วก็รู้สึกติดอกติดใจกับวิชาแคลคูลัส 2 (มันยากมาก)
ทำให้ผมนึกเรื่องบางเรื่องขณะที่กำลังเรียนวิชานี้ในห้องเรียนขึ้นมาได้ ซึ่งนั่นก็คือ
“ผมนึกภาพพื้นผิวในปริภูมิ 3 มิติไม่ออก และ จำรูปสมการมาตรฐานของแต่ละพื้นผิวไม่ได้”
นั่นเป็นปัญหาใหญ่สำหรับผมเลย เพราะในห้องเรียน อาจารย์ก็ต้องสอนให้ครบและทันตามหลักสูตรการสอน
ที่เขาวางเอาไว้ การที่มาบอกทริกหรือหลักการดูง่ายๆ คงจะเป็นอะไรที่เสียเวลามากแน่ๆ เพราะว่าในห้องเรียน
มีนักเรียนเยอะมากเหลือเกินและบางคนอาจจะไม่เข้าใจหลักหรือทริกที่จะบอกด้วยซ้ำ อาจจะทำให้ต้องมีการซักถาม
ซ้ำแล้วซ้ำอีก นั่นทำให้เสียเวลาเป็นอย่างมากจริงๆ
เอาล่ะ แล้ววิชาแคลคูลัส 2 ที่ผมเรียนนี้มันเกี่ยวกับเรื่องอะไรล่ะ (เอาถึงแค่ที่สอบนะครับ) ?
จริงๆ ที่ผมเรียนแบ่งการเรียนเป็นสองส่วนครับ
คือส่วนเรื่องพื้นผิวในปริภูมิสามมิติ (ที่มีแกน X,Y,Z นั่นแหละ) กับส่วนหลัง(ที่สอบถึง)
ก็คือเรื่องการหาอนุพันธ์ย่อย (Partial Derivative)
ทั้งสองเรื่องนี้อาจจะดูเป็นเรื่องธรรมดาสำหรับคนที่เก่งแคลคูลัส (ซึ่งไม่ใช่ผมอย่างแน่นอน
)
แต่สำหรับคนที่เข้าใจ แต่อาจต้องการเข้าใจมากยิ่งขึ้นสำหรับเรื่องพื้นผิวในปริภูมิ 3 มิติ ผมก็มีตัวช่วยให้ครับ
ตัวช่วยที่ว่านี้มีชื่อว่าโปรแกรม Surface 3D Explorer เรามาดูหน้าตาของโปรแกรมขณะใช้งานกันหน่อยนะครับ

จากที่เห็นด้านบน นี่คือหน้าตาขณะทำงานของโปรแกรมนี้ครับ ที่ผมจับภาพมานี่คือโปรแกรม
เพิ่งพล็อตรูปพาราโบลอยด์เชิงไฮเพอร์โบลิก (Hyperbolic Paraboloid) เสร็จครับซึ่งรูปนี้
ในการวาดเองนั้นถือว่ามีความยากลำบากในการวาดสูงทีเดียวครับ นอกจากจะวาดยากแล้ว
ผมยังวาดออกมาได้เน่ามากด้วยครับ (ถ้าลองวาดเองแล้วจะรู้)
โปรแกรมนี้สามารถช่วยคุณเรียนเรื่องพื้นผิวสามมิติได้อย่างง่ายดายครับเพราะว่าโปรแกรมมีโหมดการพล็อตทั้งแบบ
Parametric หรือแบบ x,y,z(u,v) พวกฟังก์ชั่นแอบๆ ซ่อนๆ ทั้งหลาย
Explicit หรือแบบ z = f(x,y) หรือฟังชั่นตัวแปรของ x และ y เท่านั้น
Implicit หรือแบบ f(x,y,z) = 0 คือฟังก์ชั่นที่มีทั้งตัวแปร x,y และ z อยู่ด้วยกัน (เช่นสมการของวงกลม)
วิธีการใช้งานโปรแกรมในโหมดอื่นๆ ทุกๆ คนน่าจะพอคลำๆ หาทางเองได้แต่ว่า
ในโหมดการใช้แบบ Implicit นั้น จะต้องมีเรื่องจุกจิกนิดหน่อยครับ
ซึ่งวิธีการวาดรูปพื้นผิวในโหมดนี้ผมจะยกตัวอย่างการวาด ทรงรี (Ellipsoid) แล้วกันนะครับ
วิธีใช้โปรแกรมเพื่อวาดรูปทรงรี
- เปิดโปรแกรมขึ้นมา
- ที่เมนูบาร์เลือก File > New > f(x,y,z) Implicit
- ที่กล่อง F(x,y,z) ให้พิมพ์สมการของเราลงไป โดยทำให้ข้างใดข้างหนึ่งของสมการมีค่าเป็น 0
อาจจะโดยการย้ายข้าง หรือ คูณ/หาร ก็แล้วแต่
- จากนั้นกดไอค่อนรูปดินสอ (ดังรูป) เพื่อวาดรูปพื้นผิวออกมา
เช่นผมต้องการวาดพื้นผิวของรูปทรงรี ที่มีสมการ
ผมก็จะกรอกสมการด้านบนนี้ในกล่อง F(x,y,z) แล้วกดไอค่อนดินสอ
แล้วก็จะได้รูปที่มีหน้าตาแบบด้านล่างนี้ (ผมได้เปลี่ยนสีพื้นหลังแล้วจะได้เห็นชัดๆ

หรืออีกรูปพื้นผิวที่วาดแบบ Implicit (ทั้งๆ ที่จะวาดแบบ Explicit ก็ได้ซึ่งนั่นก็คือ Hyperbolic Paraboloid)
เราสามารถเลือกให้โปรแกรมแสดงแกน x,y,z หรือไม่ก็ได้ภายในโปรแกรมครับ
และเราสามารถปรับ min,max ของ x,y,z ได้ด้วย เพื่อให้โปรแกรมแสดงขอบเขตที่เหมาะสม
เป็นไงครับ? กับโปรแกรมแรกที่ผ่านไป ต่อมาเราจะมาดูโปรแกรมที่ทำให้วิชานี้ง่ายขึ้นจริงๆ อีกโปรแกรมครับ
โปรแกรม Surface 3D Explorer ถึงแม้ว่าจะวาดรูปพื้นผิวออกมาได้สวยงาม แต่ว่ามันไม่สามารถ
ทำการอินทิเกรต หรือ หาอนุพันธ์ได้ (Integrate and Differentiate)
แต่โปรแกรมฟรี ที่สามารถทำสิ่งเหล่านี้ได้ (และทำได้มากกว่านี้เสียอีก) คือโปรแกรมที่ชื่อว่า Maxima ครับ
แต่ตัวอย่างที่ผมจะเอามาให้ดูนั้นเป็นของโปรแกรม wxMaxima (ก็อันเดียวกันนั่นแหละ) ซึ่งเป็นหน้าตาโปรแกรม
ที่ใช้งานง่ายกว่าเยอะครับ
*สำหรับโปรแกรมนี้ log(x) หมายถึง ln x ครับ (ทางภาษาโปรแกรมคอมพิวเตอร์)
หน้าตาของโปรแกรมนี้ จริงๆ แล้วไม่ค่อยมีอะไร (แทบไม่มีอะไรเลยมากกว่า)
เพราะฉะนั้นเรามาดูวิธีการที่ทำให้โปรแกรมหา ปริพันธ์ให้เราเลยดีกว่าครับ (ติดตั้งโปรแกรมให้เรียบร้อยก่อนนะ)
การหาปริพันธ์
- เปิดโปรแกรม wxMaxima
- ที่เมนูบาร์เลือก Calculus > Integrate… ดังรูป
- ที่กล่อง Expression ให้ใส่สมการที่ต้องการอินทิเกรตลงไป และในกล่อง Variable ให้ใส่ตัวแปร
ที่จะทำการอินทิเกรตลงไป ส่วนจะเลือกจำกัดเขตหรือไม่นั้นก็แล้วแต่ครับ สำหรับผมเลือกหาปริพันธ์
ไม่จำกัดเขต ดังรูป
- สมการที่ใส่ลงในกล่องนั้นดูยาก แต่แรกเริ่มเดิมทีเป็นสมการนี้
- เมื่อเรากด OK โปรแกรมจะอินทิเกรตและให้ผลลัพธ์กับเราแทบจะในทันทีเลยครับ ดังรูป
หากเราลองทำเองดูจะรู้ว่า สมการนี้ เป็นฟังก์ชั่นย่อยอยู่ข้างใน Square Root โดยเราจะต้องแทนค่าตัวแปร
สมมติแทนฟังก์ชั่นย่อยนั้นอีก แล้วพออินทิเกรตเสร็จต้องแทนค่ากลับให้เป็น x อีกครั้งซึ่งหากเป็นสมการที่
ซับซ้อนมากๆ ก็ไม่รู้ว่าจะทำถูกหรือเปล่า โปรแกรมนี้จึงสามารถเฉลยคำตอบเพื่อช่วยให้เรา
ตรวจสอบคำตอบได้ครับ (ไม่ใช่ลอกคำตอบไปส่งครูนะจ๊ะ)
ตัวอย่างอีกสมการครับ
คำตอบจะได้
โดยที่ atan() หมายถึง arctan() ครับ (atan เป็นสิ่งที่ภาษาโปรแกรมนี้เข้าใจครับ)
และ log(e) หมายถึง ln e ครับ
หากเราต้องการจะหาอนุพันธ์ ก็แค่เลือก Calculus > Differentiate.. แล้วก็ทำแบบเดิม ก็ได้แล้วครับ
ขอให้เรียนแคลคูลัสให้สนุกสนานนะครับ