Skip to content
Home » บทความ » การแปลงกราฟของฟังก์ชันด้วยการเลื่อน การยืด และการสะท้อน

การแปลงกราฟของฟังก์ชันด้วยการเลื่อน การยืด และการสะท้อน

การแปลงกราฟของฟังก์ชันด้วยการเลื่อน การยืด และการสะท้อน

น้องๆ เคยสงสัยไหมครับว่า ทำไมฟังก์ชันที่ดูซับซ้อนอย่าง y = − 2 ( x + 1 ) 2 + 3 y = -2(x+1)^2 + 3 เราถึงสามารถวาดกราฟได้อย่างรวดเร็ว โดยไม่จำเป็นต้องสร้างตารางค่า x x และ y y เยอะๆ คำตอบก็คือเราใช้ความรู้เรื่อง การแปลงกราฟ หรือ Graph Transformations นี่แหละครับ การเข้าใจเรื่องนี้จะช่วยให้น้องๆ วิเคราะห์และทำความเข้าใจพฤติกรรมของฟังก์ชันต่างๆ ได้อย่างลึกซึ้ง และยังเป็นพื้นฐานสำคัญในการเรียนคณิตศาสตร์ระดับสูงขึ้นไปอีกด้วยครับ

ก่อนอื่น มาทบทวนกันนิดนึงว่า ฟังก์ชัน คืออะไร ฟังก์ชันก็คือความสัมพันธ์ที่สำหรับค่า x x แต่ละค่า จะมีค่า y y เพียงค่าเดียวเท่านั้น โดยเรามักจะเขียนในรูป y = f ( x ) y = f(x) ครับ และกราฟของฟังก์ชันก็คือการนำคู่อันดับ ( x , y ) (x, y) ที่สอดคล้องกับฟังก์ชันนั้นๆ มาพลอตลงบนระนาบพิกัดฉากนั่นเองครับ

หัวใจของการแปลงกราฟคือ การเริ่มต้นจาก กราฟพื้นฐาน (Parent Function) ที่เราคุ้นเคย เช่น พาราโบลา y = x 2 y=x^2 , เส้นตรง y = x y=x , กราฟค่าสัมบูรณ์ y = | x | y=|x| , กราฟรากที่สอง y = x y=sqrt{x} หรือกราฟฟังก์ชันกำลังสาม y = x 3 y=x^3 ครับ จากนั้นเราก็ทำการ “ปรับแต่ง” กราฟเหล่านี้ด้วยการเลื่อน การยืด หรือการสะท้อน เพื่อให้ได้กราฟของฟังก์ชันที่เราต้องการครับ

การเลื่อนกราฟ (Translation)

การเลื่อนกราฟคือการขยับกราฟทั้งหมดไปในทิศทางใดทิศทางหนึ่ง โดยที่รูปร่างและขนาดของกราฟยังคงเดิมครับ

การเลื่อนในแนวตั้ง (Vertical Translation)

ถ้าเรามีฟังก์ชัน y = f ( x ) y = f(x) และเราต้องการเลื่อนกราฟขึ้นหรือลง เราจะเพิ่มหรือลบค่าคงที่เข้าไปที่ตัวฟังก์ชัน f ( x ) f(x) โดยตรงครับ

  • สำหรับ y = f ( x ) + c y = f(x) + c :

    • ถ้า 0″> c > 0 c > 0 กราฟจะถูกเลื่อนขึ้นไปตามแกน Y c c หน่วยครับ
    • ถ้า <math data-latex="c c < 0 c < 0 กราฟจะถูกเลื่อนลงมาตามแกน Y c c หน่วย (หรือ | c | |c| หน่วยลงมา) ครับ

    ตัวอย่าง: จากกราฟ y = x 2 y=x^2 ถ้าเราต้องการวาดกราฟ y = x 2 + 3 y=x^2+3 กราฟจะถูกเลื่อนขึ้นไป 3 หน่วยครับ จุดยอดจาก ( 0 , 0 ) (0,0) ก็จะกลายเป็น ( 0 , 3 ) (0,3) ครับ

การเลื่อนในแนวนอน (Horizontal Translation)

สำหรับการเลื่อนกราฟไปทางซ้ายหรือขวา เราจะเพิ่มหรือลบค่าคงที่เข้าไปที่ตัวแปร x x ภายในฟังก์ชันครับ

  • สำหรับ y = f ( x − h ) y = f(x – h) :

    • ถ้า 0″> h > 0 h > 0 กราฟจะถูกเลื่อนไปทางขวาตามแกน X h h หน่วยครับ (น้องๆ ลองสังเกตว่าเครื่องหมายตรงกันข้ามกับที่เห็นนะครับ)
    • ถ้า <math data-latex="h h < 0 h < 0 กราฟจะถูกเลื่อนไปทางซ้ายตามแกน X | h | |h| หน่วยครับ เช่น ถ้าเป็น y = f ( x + 2 ) y = f(x+2) ก็คือ h = − 2 h=-2 กราฟจะเลื่อนไปทางซ้าย 2 หน่วยครับ

    ตัวอย่าง: จากกราฟ y = x 2 y=x^2 ถ้าเราต้องการวาดกราฟ y = ( x − 2 ) 2 y=(x-2)^2 กราฟจะถูกเลื่อนไปทางขวา 2 หน่วยครับ จุดยอดจาก ( 0 , 0 ) (0,0) ก็จะกลายเป็น ( 2 , 0 ) (2,0) ครับ

การยืดและหดกราฟ (Stretching and Compressing)

การยืดและหดกราฟคือการเปลี่ยนแปลงขนาดของกราฟในแนวตั้งหรือแนวนอนครับ

การยืด/หดในแนวตั้ง (Vertical Stretch/Compress)

เราจะเปลี่ยนแปลงขนาดของกราฟในแนวตั้ง โดยการคูณค่าคงที่ a a เข้าไปที่ตัวฟังก์ชัน f ( x ) f(x) ครับ โดยที่ a ≠ 0 a neq 0 ครับ

  • สำหรับ y = a f ( x ) y = a f(x) :

    • ถ้า 1″> | a | > 1 |a| > 1 กราฟจะถูกยืดออกในแนวตั้งครับ (กราฟจะดูผอมลง)
    • ถ้า <math data-latex="0 < |a| 0 < | a | < 1 0 < |a| < 1 กราฟจะถูกหดเข้าในแนวตั้งครับ (กราฟจะดูอ้วนขึ้น)
    • ถ้า <math data-latex="a a < 0 a < 0 นอกจากจะมีการยืดหรือหดแล้ว ยังมีการสะท้อนข้ามแกน X ด้วยครับ (เดี๋ยวเราจะพูดถึงเรื่องการสะท้อนอีกครั้งครับ)

    ตัวอย่าง: จากกราฟ y = x 2 y=x^2 ถ้าเป็น y = 2 x 2 y=2x^2 กราฟจะถูกยืดในแนวตั้ง ทำให้ปากกราฟแคบลงครับ แต่ถ้าเป็น y = 1 2 x 2 y=frac{1}{2}x^2 กราฟจะถูกหดในแนวตั้ง ทำให้ปากกราฟกว้างขึ้นครับ

การยืด/หดในแนวนอน (Horizontal Stretch/Compress)

เราจะเปลี่ยนแปลงขนาดของกราฟในแนวนอน โดยการคูณค่าคงที่ b b เข้าไปที่ตัวแปร x x ภายในฟังก์ชันครับ โดยที่ b ≠ 0 b neq 0 ครับ

  • สำหรับ y = f ( b x ) y = f(b x) :

    • ถ้า 1″> | b | > 1 |b| > 1 กราฟจะถูกหดเข้าในแนวนอนครับ (ดูเหมือนถูกบีบเข้าหากัน) โดยจะหดด้วยปัจจัย 1 | b | frac{1}{|b|} ครับ
    • ถ้า <math data-latex="0 < |b| 0 < | b | < 1 0 < |b| < 1 กราฟจะถูกยืดออกในแนวนอนครับ (ดูเหมือนถูกดึงออก) โดยจะยืดด้วยปัจจัย 1 | b | frac{1}{|b|} ครับ
    • ถ้า <math data-latex="b b < 0 b < 0 นอกจากจะมีการยืดหรือหดแล้ว ยังมีการสะท้อนข้ามแกน Y ด้วยครับ

    น้องๆ อาจจะรู้สึกว่าการยืด/หดแนวนอนมันตรงกันข้ามกับความรู้สึกเล็กน้อยนะครับ เพราะ 1″> b > 1 b > 1 กลับเป็นการหด และ <math data-latex="0 < b 0 < b < 1 0 < b < 1 กลับเป็นการยืด ลองคิดดูว่า ถ้า y = sin ( 2 x ) y=sin(2x) ค่า 2 x 2x จะวิ่งครบ 360 องศา (หรือ 2 π 2pi เรเดียน) ได้เร็วกว่า x x ปกติถึง 2 เท่า ทำให้กราฟถูกบีบให้ครบวงจรเร็วขึ้นครับ

    ตัวอย่าง: จากกราฟ y = x y=sqrt{x} ถ้าเป็น y = 2 x y=sqrt{2x} กราฟจะถูกหดในแนวนอนเข้าหาแกน Y ครับ ทำให้กราฟดูตั้งชันขึ้น แต่ถ้าเป็น y = 1 2 x y=sqrt{frac{1}{2}x} กราฟจะถูกยืดในแนวนอนออกจากแกน Y ครับ

การสะท้อนกราฟ (Reflection)

การสะท้อนกราฟคือการพลิกกราฟข้ามเส้นแกนสมมาตรครับ

การสะท้อนข้ามแกน X (Reflection across X-axis)

ถ้าเราคูณ − 1 -1 เข้าไปที่ตัวฟังก์ชัน f ( x ) f(x) เราจะได้กราฟที่สะท้อนข้ามแกน X ครับ

  • สำหรับ y = − f ( x ) y = -f(x) ทุกจุด ( x , y ) (x, y) บนกราฟ f ( x ) f(x) จะกลายเป็น ( x , − y ) (x, -y) ครับ พูดง่ายๆ คือกราฟจะถูกพลิกกลับหัวลงนั่นเองครับ
  • ตัวอย่าง: จากกราฟ y = x 2 y=x^2 (พาราโบลาหงาย) ถ้าเป็น y = − x 2 y=-x^2 กราฟจะสะท้อนข้ามแกน X กลายเป็นพาราโบลาคว่ำครับ

การสะท้อนข้ามแกน Y (Reflection across Y-axis)

ถ้าเราแทนที่ x x ด้วย − x -x ในฟังก์ชัน f ( x ) f(x) เราจะได้กราฟที่สะท้อนข้ามแกน Y ครับ

  • สำหรับ y = f ( − x ) y = f(-x) ทุกจุด ( x , y ) (x, y) บนกราฟ f ( x ) f(x) จะกลายเป็น ( − x , y ) (-x, y) ครับ กราฟจะถูกพลิกจากซ้ายไปขวา หรือขวาไปซ้ายครับ
  • ตัวอย่าง: จากกราฟ y = x y=sqrt{x} (เป็นครึ่งพาราโบลาเปิดไปทางขวา) ถ้าเป็น y = − x y=sqrt{-x} กราฟจะสะท้อนข้ามแกน Y กลายเป็นครึ่งพาราโบลาเปิดไปทางซ้ายครับ

ลำดับของการแปลงกราฟ (Order of Transformations)

เมื่อมีการแปลงกราฟหลายๆ แบบพร้อมกัน ลำดับของการทำมีผลต่อผลลัพธ์นะครับ น้องๆ ต้องระมัดระวังเป็นพิเศษเลยครับ

พี่กฤษณ์แนะนำลำดับการแปลงดังนี้ครับ:

  1. การยืด/หด และการสะท้อนในแนวนอน (Horizontal Stretch/Compress and Reflection): จัดการกับพจน์ที่อยู่ภายในวงเล็บของ x x ก่อนครับ เช่น ถ้ามี b x b x หรือ − x -x
  2. การยืด/หด และการสะท้อนในแนวตั้ง (Vertical Stretch/Compress and Reflection): จัดการกับสัมประสิทธิ์ที่คูณอยู่หน้าฟังก์ชัน f ( x ) f(x) ครับ เช่น ถ้ามี a f ( x ) a f(x) หรือ − f ( x ) -f(x)
  3. การเลื่อนในแนวนอน (Horizontal Translation): จัดการกับการบวกหรือลบ h h จาก x x ครับ เช่น f ( x − h ) f(x-h)
  4. การเลื่อนในแนวตั้ง (Vertical Translation): จัดการกับการบวกหรือลบ c c เข้าไปที่ทั้งฟังก์ชันครับ เช่น f ( x ) + c f(x)+c

สรุปคือ ทำ “คูณหาร” ก่อน “บวกลบ” และทำส่วนที่ติดกับ x x โดยตรงก่อนส่วนที่อยู่นอก f ( x ) f(x) ครับ หากมี b x − h b x – h อยู่ในฟังก์ชัน ต้องจัดรูปเป็น b ( x − h b ) b(x – frac{h}{b}) ก่อนนะครับ เพื่อให้เห็นค่า h h ที่ถูกต้องครับ

ตัวอย่างโจทย์และการประยุกต์ใช้

มาลองดูตัวอย่างการแปลงกราฟกันนะครับ

โจทย์: จงวาดกราฟของฟังก์ชัน y = − 2 ( x + 1 ) 2 + 3 y = -2(x+1)^2 + 3 โดยเริ่มจากกราฟพื้นฐาน y = x 2 y=x^2 ครับ

วิธีทำ:

  1. กราฟพื้นฐาน: เริ่มต้นจาก y = x 2 y=x^2 ซึ่งเป็นพาราโบลาหงาย มีจุดยอดที่ ( 0 , 0 ) (0,0) ครับ
  2. การเลื่อนในแนวนอน: พิจารณา ( x + 1 ) 2 (x+1)^2 หรือ f ( x − ( − 1 ) ) f(x-(-1)) ครับ หมายถึงเลื่อนกราฟ y = x 2 y=x^2 ไปทางซ้าย 1 หน่วยครับ จุดยอดจะอยู่ที่ ( − 1 , 0 ) (-1,0) ครับ
  3. การยืดในแนวตั้งและการสะท้อนข้ามแกน X: พิจารณา − 2 ( x + 1 ) 2 -2(x+1)^2 ครับ
    • มี a = − 2 a=-2 โดยที่ 1″> | a | = 2 > 1 |a|=2 > 1 ดังนั้นกราฟจะถูกยืดในแนวตั้ง (ปากแคบลง) 2 เท่าครับ
    • และเนื่องจาก a a เป็นลบ ( − 2 ) (-2) กราฟจะสะท้อนข้ามแกน X ด้วย ทำให้พาราโบลาหงายกลายเป็นพาราโบลาคว่ำครับ จุดยอดจะยังคงอยู่ที่ ( − 1 , 0 ) (-1,0) ครับ
  4. การเลื่อนในแนวตั้ง: สุดท้ายพิจารณา − 2 ( x + 1 ) 2 + 3 -2(x+1)^2 + 3 ครับ หมายถึงเลื่อนกราฟทั้งหมดขึ้นไป 3 หน่วยครับ จุดยอดสุดท้ายจะอยู่ที่ ( − 1 , 3 ) (-1,3) ครับ

เห็นไหมครับว่าเราสามารถสร้างกราฟที่ซับซ้อนได้จากกราฟพื้นฐานเพียงไม่กี่ขั้นตอนเท่านั้นเองครับ

การแปลงกราฟเหล่านี้ไม่ได้ใช้แค่ในห้องเรียนเท่านั้นนะครับ แต่ยังมีการประยุกต์ใช้ในสาขาต่างๆ มากมาย เช่น:

  • ฟิสิกส์: ในการวิเคราะห์การเคลื่อนที่ของวัตถุ การเคลื่อนที่แบบฮาร์มอนิกอย่างง่าย หรือการศึกษาคลื่นต่างๆ ฟังก์ชันไซน์หรือโคไซน์จะถูกแปลงเพื่ออธิบายแอมพลิจูด ความถี่ หรือเฟสที่เปลี่ยนไปครับ
  • วิศวกรรมศาสตร์: ในการออกแบบโครงสร้าง การวิเคราะห์สัญญาณไฟฟ้า หรือการควบคุมระบบต่างๆ การปรับพารามิเตอร์ของฟังก์ชันก็คือการแปลงกราฟนั่นเองครับ
  • วิทยาการคอมพิวเตอร์และกราฟิกดีไซน์: ในการสร้างโมเดล 3 มิติ การปรับขนาด การหมุน หรือการเคลื่อนย้ายวัตถุในเกมหรือโปรแกรมกราฟิก ก็ใช้หลักการแปลงทางเรขาคณิต ซึ่งรวมถึงการแปลงกราฟเหล่านี้ครับ

ข้อผิดพลาดที่พบบ่อย (Common Mistakes)

น้องๆ หลายคนมักจะพลาดในจุดเหล่านี้ครับ พี่กฤษณ์รวบรวมมาให้แล้ว จะได้ไม่พลาดตามกันนะครับ

  • สลับทิศทางของการเลื่อนแนวนอน: เช่น เห็น f ( x + h ) f(x+h) แล้วคิดว่าเลื่อนไปทางขวา h h หน่วย ที่จริงต้องเลื่อนไปทางซ้าย h h หน่วยนะครับ เพราะ x + h = x − ( − h ) x+h = x – (-h) ครับ
  • สับสนการยืด/หดแนวนอน: การที่ 1″> b > 1 b > 1 ใน f ( b x ) f(bx) คือการหด ไม่ใช่ยืดนะครับ เพราะกราฟจะใช้ค่า x x ที่น้อยลงเพื่อให้ได้ค่า b x bx เท่าเดิมครับ
  • ลืมลำดับการแปลง: การทำผิดลำดับ เช่น เลื่อนก่อนยืด อาจทำให้กราฟที่ได้ผิดเพี้ยนไปจากที่ควรจะเป็นครับ
  • สับสนระหว่าง y = − f ( x ) y = -f(x) กับ y = f ( − x ) y = f(-x) : สองอย่างนี้เป็นการสะท้อนคนละแกนกันนะครับ − f ( x ) -f(x) สะท้อนข้ามแกน X (เปลี่ยนค่า y y เป็น − y -y ) ส่วน f ( − x ) f(-x) สะท้อนข้ามแกน Y (เปลี่ยนค่า x x เป็น − x -x ) ครับ

เทคนิคทำข้อสอบและมุมมองเพิ่มเติม

เพื่อให้น้องๆ ทำข้อสอบเรื่องการแปลงกราฟได้อย่างมั่นใจ พี่กฤษณ์มีเทคนิคดีๆ มาฝากครับ:

  • จำกราฟพื้นฐานให้แม่น: กราฟของ y = x 2 y=x^2 , y = x 3 y=x^3 , y = | x | y=|x| , y = x y=sqrt{x} , y = 1 x y=frac{1}{x} , y = e x y=e^x และ y = log x y=log x เป็นต้น ควรจะจำรูปร่างและจุดสำคัญๆ ของมันให้ขึ้นใจครับ
  • ทำความเข้าใจผลของแต่ละการแปลง: การเลื่อนมีผลต่อตำแหน่ง การยืด/หดมีผลต่อรูปร่าง การสะท้อนมีผลต่อทิศทาง จำผลกระทบเหล่านี้ให้แม่นยำครับ
  • ฝึกทำโจทย์แบบเป็นขั้นเป็นตอน: อย่ารีบร้อนครับ ค่อยๆ ทำทีละขั้นตามลำดับที่พี่กฤษณ์แนะนำไป จะช่วยลดความผิดพลาดได้มากครับ
  • วาดกราฟประกอบ: การวาดกราฟคร่าวๆ ในแต่ละขั้นตอนจะช่วยให้น้องๆ เห็นภาพและตรวจสอบความถูกต้องได้ง่ายขึ้นครับ แม้จะเป็นเพียงภาพร่างก็มีประโยชน์มากครับ
  • ระวังการจัดรูปสมการ: บางครั้งฟังก์ชันอาจมาในรูปที่ยังไม่พร้อมแปลง เช่น y = ( 2 x − 4 ) 2 y = (2x – 4)^2 ต้องจัดรูปเป็น y = ( 2 ( x − 2 ) ) 2 y = (2(x – 2))^2 ก่อน เพื่อให้เห็นค่าการเลื่อน h h ที่ถูกต้องครับ

สรุปแนวคิดสำคัญ

สรุปการแปลงกราฟที่สำคัญอีกครั้งนะครับ:

  • การเลื่อนแนวตั้ง: y = f ( x ) + c y = f(x) + c เลื่อนขึ้น c c หน่วย (ถ้า 0″> c > 0 c>0 ) หรือลง (ถ้า <math data-latex="c c < 0 c<0 ) ครับ

  • การเลื่อนแนวนอน: y = f ( x − h ) y = f(x – h) เลื่อนไปทางขวา h h หน่วย (ถ้า 0″> h > 0 h>0 ) หรือซ้าย (ถ้า <math data-latex="h h < 0 h<0 ) ครับ

  • การยืด/หดแนวตั้ง: y = a f ( x ) y = a f(x) ยืดถ้า 1″> | a | > 1 |a|>1 หดถ้า <math data-latex="0<|a| 0 < | a | < 1 0<|a|<1 ครับ

  • การยืด/หดแนวนอน: y = f ( b x ) y = f(b x) หดถ้า 1″> | b | > 1 |b|>1 ยืดถ้า <math data-latex="0<|b| 0 < | b | < 1 0<|b|<1 ครับ

  • การสะท้อนข้ามแกน X: y = − f ( x ) y = -f(x) ครับ

  • การสะท้อนข้ามแกน Y: y = f ( − x ) y = f(-x) ครับ

การแปลงกราฟเป็นพื้นฐานที่สำคัญในคณิตศาสตร์มากๆ เลยนะครับน้องๆ ถ้าเราเข้าใจแนวคิดเหล่านี้อย่างถ่องแท้ จะช่วยให้น้องๆ ไม่ต้องท่องจำกราฟเยอะแยะมากมาย แต่สามารถสร้างกราฟต่างๆ ขึ้นมาได้ด้วยหลักการไม่กี่อย่างนี้ครับ

หากน้องๆ คนไหนรู้สึกว่ายังไม่เข้าใจในบางจุด หรืออยากฝึกทำโจทย์ที่หลากหลายและซับซ้อนมากขึ้น พี่กฤษณ์ก็มีคอร์สสอนคณิตศาสตร์ที่ครอบคลุมเนื้อหานี้และอื่นๆ อีกมากมายเลยนะครับ น้องๆ สามารถดูรายละเอียดเพิ่มเติมได้ในเว็บไซต์นี้เลยครับ มีทั้งคอร์สสดที่น้องๆ สามารถมาเรียนที่สถาบัน คอร์สออนไลน์ที่เรียนได้ทุกที่ทุกเวลา และคอร์สตัวต่อตัวที่พี่กฤษณ์จะดูแลน้องๆ อย่างใกล้ชิดเป็นพิเศษด้วยครับ มาร่วมสนุกกับการเรียนคณิตศาสตร์กับพี่กฤษณ์นะครับ!

Join the conversation

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *