คณิตศาสตร์กับโปรแกรมมิ่งมันเป็นยังไงนะ ตอนที่ 2 โจทย์พีทาโกรัส
ก่อนหน้านี้เราได้ทักทายกันไปบ้างแล้วกลับเรื่องของทฤษฎีบทพีทาโกรัส แน่นอนว่าอาจจะยังมองไม่เห็นภาพว่าเอาไปใช้คำนวณยังไงได้บ้าง ซึ่งส่วนท้ายของบทความตอนที่แล้วเจ้าของบล็อกได้พูดเปรย ๆ ถึงเรื่องที่ใช้คณิตศาสตร์กับเรื่อง Graphic Programming หรือการเขียนโปรแกรมกับภาพ
ในบทความนี้เจ้าของบล็อกเลยมีโจทย์ มาให้ผู้อ่านได้ปวดหัวกัน เอ้ย! สนุกกัน ถือว่าเป็นความท้าทายเล็ก ๆ น้อย ๆ ในเรื่องของคณิตศาสตร์ก็แล้วกัน
ทั้งหมดจะมีด้วยกันอยู่ 3 โจทย์นะ ถ้าอ่านจากบทความ คณิตศาสตร์กับโปรแกรมมิ่งมันเป็นยังไงนะ ตอนที่ 1 เกริ่นพีทาโกรัส ตอนท้าย ๆ ก็จะบอกว่ามีโจทย์ไรบ้าง
ในโจทย์แรกก็ไม่ยากมากหรอก ให้ลองสร้างสมการขึ้นมาโดยจะมีตัวแปรอยู่ประมาณ 3 ค่าที่จะใส่เข้าไปในสมการ ตัวแปรแรกคือด้านของสามเหลี่ยม ซึ่งสามเหลี่ยมที่เรากำลังจะสร้างเป็นสามเหลี่ยมด้านเท่า ตัวแปรที่ 2 และ 3 จะเป็นพิกัด X,Y ของตำแหน่งจุด A เมื่อใส่ตัวแปรทั้งหมดเข้าไปในสมการแล้ว ให้สมการบอกพิกัดของจุด B และจุด C มาว่า อยู่ที่ตำแหน่ง X,Y ใด
ไม่จำเป็นต้องมีสมการเดียว แต่ยังไงซะทุกสมการมันก็มีความสัมพันธ์กันอยู่ดี และเรื่องที่หนีไม่ได้เลยก็คือการใช้ ทฤษฎีบทพีทาโกรัสมาช่วยคำนวณ เดี๋ยวทวนโจทย์อีกทีแบบคร่าว ๆ ก็คือ ให้สร้างสมการที่ใส่ค่าตัวแปร ความยาวด้าน และตัวแปร X ตัวแปร Y ของจุด A แล้วให้สมการบอกพิกัดของจุด Bxy และพิกัดจุด Cxy ก็ลองคิดกันเล่น ๆ ก่อนที่จะไปย่อหน้าถัดไปนะ
. . .
ก่อนที่เราจะหาสมาการ เราก็ต้องดูก่อนว่า มันมีตัวแปรอะไรให้เรามั่ง
ความยาวด้านของสามเหลี่ยม (เป็นสามเหลี่ยมด้านเท่า)
พิกัด X และ Y ของจุด A
ด้วยตัวแปรที่มีนี้ คิดว่าเราสามารถหาจุดพิกัดของจุด B กับจุด C ได้ยัง..? เจ้าของบล็อกบอกเลยว่าเท่านี้ก็เพียงพอแล้วจ้า
แต่ถ้าผู้อ่านยังนึกไม่ออก วิธีง่าย ๆ ก็ลองวาดรูปออกมาก่อนแล้วก็ลองพิจารณาแต่ละจุดดูนะ
ตัวอย่างในรูปลองสมมติว่าตำแหน่ง XY ของพิกัด A เป็น 10,0 และความยาวด้านแต่ละด้านเท่ากับ 12 เราก็จะได้สามเหลี่ยมด้านเท่ามาในลักษณะนี้
คำถาม แล้วพิกัดจุด B มีค่า XY เป็นเท่าไหร่..?
ในย่อต่อไปจะอธิบาย
เจ้าของบล็อกขอพิจารณาในแกน x ก่อนนะ เพราะว่ามันง่ายกว่ามาก ที่บอกว่าง่ายกว่ามากเพราะว่า เรารู้อยู่แล้วว่า x คือจุดไหน ถ้าดูดี ๆ นะ เราจะเห็นว่าเรารู้ความยาวแต่ละด้านของสามเหลี่ยมอยู่แล้ว เราก็เอาความยาวด้านนั่น เอามาหารครึ่ง เราก็จะได้ระยะห่างของพิกัดจุด Bx กับพิกัดจุด Ax แล้ว
เพราะงั้น Bx = Ax - (ความยาวด้าน / 2)
แล้วจุด By ละ จริง ๆ แล้วง่ายมากเลย
จากรูป By ที่เรากำลังพูดถึง มันก็คือความสูงของสามเหลี่ยมนั่นเอง ถ้าผู้อ่านลองมองดี ๆ แล้วละก็ จะอ๋อขึ้นมาเลย ตอนนี้เรารู้ว่าด้านตรงข้ามมุมฉากมีค่าเท่าไหร่ด้านประกอบมุมฉากด้านนึงมีค่าเท่าไหร่ ซึ่งเหลือด้านประกอบมุมฉากอีกด้านที่เรายังไม่รู้ ในตรงนี้เราสามารถใช้ ทฤษฎีบทพีทาโกรัส มาช่วยหาความยาว ด้านประกอบมุมฉากอีกด้านได้เลย
จากสมการ
มาลองแทนค่ากัน..
ตอนนี้เราก็ได้ทั้งจุด Bx และ By แล้ว และจะหาพิกัดจุด C ต่อก็ยิ่งง่ายเลย ถ้ามองดูดี ๆ คือใช้สมการเดียวกันเลย ต่างกันที่แกน x นิดหน่อย ของจุด B มันอยู่ฝั่งซ้ายของจุด A แต่ว่าจุด C อยู่ฝั่งขวา เพราะงั้นสมการที่ถูกต้องของจุด Cx ก็คือ
Cx = Ax + (ความยาวด้าน / 2)
ส่วน Cy ก็สมการเดียวกันเลย
Cy = Ay - b
Cy = Ay - b
การคำนวณทุกอย่างจะเหมือนกับที่ได้อธิบายไปก่อนหน้านี้เลย อาจจะมีแตกต่างบ้างเล็กน้อย แต่ก็ใช้ concept เดียวกัน
ความคิดเห็น
แสดงความคิดเห็น