Coordinate system เป็นเรื่องที่มีความสำคัญมากในการเรียนรู้เรื่อง computer graphics เป็นระบบที่ใช้ตัวเลข(number) สัญญลักษณ์ (symbols) และแกน (axis) เพื่อระบุตำแหน่งของ object ในโลกเสมือน มีรูปแบบที่สำคัญได้แก่
![]() |
Cartesian coordinates
2D Cartesian coordinates
ระบบนี้เป็นระบบที่ถูกนำไปใช้งานค่อนข้างบ่อยและกว้างขวางกว่าระบบอื่น ถูกนำเสนอโดยนักคณิตศาสตร์ชาวฝรั่งเศสชื่อ René Descartes ในช่วงศตวรรษที่ 17 ระบบนี้ประกอบด้วย
♦ มีแกน (axis) ที่ตั้งฉากกัน 2 แกน วางบนพื้นที่สมมุติเรียกว่า plane แนวตั้งเรียก "Vertical axis หรือ Y axis (แกน y)" และแนวนอนเรียก "Horizontal axis หรือ X axis (แกน X)"
♦ จุดที่แกนทั้งสองตัดกันเรียกว่า "origin" บนแกนทั้งสองจะถูกแบ่งออกเป็นส่วนๆมีหมายเลขกำกับ
♦ เมื่อแกนทั้งสองตัดกัน ทำให้ plane ถูกแบ่งออกเป็น 4 ส่วน เรียกว่า quadrant 1, quadrant 2,quadrant 3 และ quadrant 4 (ดูรูปที่ 1)
♦ บน X axis มีหมายเลขบอกระยะห่างจาก Y axis ไปทั้งทางซ้ายและทางขวา หากนับไปทางซ้ายของ Y axis ตัวเลขจะมีเครื่องหมายลบ (-) นำหน้า เช่น -1,-2,-3,... ทำนองเดียวกันกับตัวเลขบน Y axis จะมีตัวเลขบอกระยะห่างจาก X axis ทั้งทิศขึ้นบนและลงล่าง หากนับไปทางด้านล่างของ X axis จะมีเครื่องหมายลบ (-) นำหน้า
♦ การระบุตำแหน่งบน plane เขียนในรูปแบบคู่อันดับ (order pair) (x,y) โดยที่ x คือตัวเลขที่บอกระยะห่างจาก Y axis และ y คือตัวเลขที่บอกระยะห่างจาก X axis
♦ ตำแหน่งบน plane ณ จุด origin คือ (0,0) และการนับตำแหน่งของวัตถุบน plane จะต้องเริ่มนับจากจุด origin เสมอ
![]() |
รูปที่ 1 Cartesian plane |
ตัวอย่างการระบุตำแหน่งของจุดสีฟ้าในรูปที่ 2 ด้วย Cartesian coordinate คือ (5,4)
1. 5 หมายถึงระยะห่างจาก Y-axis ไปทางขวามือ 5 หน่วย
2. 4 หมายถึงระยะห่างจาก X axis ขึ้นไปข้างบน 4 หน่วย
![]() |
รูปที่ 2 |
3D Cartesian coordinates
ที่กล่าวมาเป็นระบบ Cartesian coordinate ใช้ 2 แกนในการบอกตำแหน่งเป็นการรับทราบในแบบ 2 มิติ (2-dimension,2D) ในการมองแบบ 3 มิติ (3-dimension,3D) ต้องเพิ่มแกนเข้ามาอีก 1 แกนที่ตั้งฉากกับ X-Y plane (ในรูปที่ 2 แสดงด้วย plane สีฟ้า) ซึ่งจะตั้งฉากกับทั้งแกน X และ Y เรียกว่าแกน Z (Z axis) (ดูรูปที่ 3) ในการระบุตำแหน่งใช้ตัวเลข 3 ตัวในรูปแบบ (x,y,z) โดยที่ตัวเลขที่ 3 คือระยะห่างจาก X-Y plane ของวัตถุ
![]() |
รูปที่ 3 |
พื้นที่ว่าง (space) ในมุมมองแบบ 3D จะถูกแบ่งออกเป็น 8 ส่วน (octant) ดังรูปที่ 4 โดยแต่ละส่วนมีระบบจำนวนที่ใช้บอกตำแหน่งดังนี้
Octant | (x,y,z) |
---|---|
1 | (+,+,+) |
2 | (-,+,+) |
3 | (-,-,+) |
4 | (+,-,+) |
5 | (+,+,-) |
6 | (-,+,-) |
7 | (-,-,-) |
8 | (+,-,-) |
![]() |
รูปที่ 4 |
พื้นที่ว่างใน 3D การหมุนของแกนทั้ง 3 เป็นอิสระ ดังนั้นเพื่อให้เกิดความเข้าใจตรงกันในการกำหนดทิศ จึงมีการกำหนด left hand rule และ righ hand rule ขึ้นมา ดังนี้
♦ กรณีใช้ Left hand rule : หงายฝ่ามือซ้ายขึ้น กางนิ้งโป้งออกให้ตั้งฉากกับฝ่ามือ ทิศที่นิ้วโป้งชี้จะเป็นทิศของ Z+ ทิศที่นิ้วชี้ชี้ไปจะเป็นทิศของ X+ ยกนิ้วกลางขึ้นให้ตั้งฉากกับฝ่ามือ ทิศที่นิ้วกลางชี้ไปเป็นทิศของ Y+ (หรืออาจใช้ทิศของฝ่ามือก็ได้)
♦ กรณีใช้ Right hand rule : เปลี่ยนไปใช้มือขวาแล้วทำเช่นเดียวกับ left hand rule จะได้ว่าทิศของนิ้วโป้งคือ Z+ ทิศของนิ้วชี้คือทิศของ X+ และฝ่ามือคือทิศของ Y+
![]() |
รูปที่ 5 |
![]() |
Polar coordinates
ระบบ polar coordinate เป็นการระบุตำแหน่งในมุมมอง 2D โดยใช้จุดอ้างอิงที่เทียบได้กับจุด origin ในระบบ cartesian เรียกว่า (Pole) ตำแหน่งของวัตถุระบุด้วยตัวเลข 2 ตัว (r,
![]() |
รูปที่ 6 |
การวัดค่าของ
![]() |
รูปที่ 7 |
ระบบ polar coordinates มีการแบ่งพื้นที่ออกเป็นตาราง (grid) เพื่อใช้ระบุ coordinate เช่นเดียวกับ cartesian coordinates แต่อยู่ในรูปแบบของมุมและระยะทาง ดังรูปที่ 8 เช่นจุดสีแดง ตั้งอยู่บน coordinate ที่ (6,
![]() |
รูปที่ 8 |
การเทียบ
ระบบ polar coordinates ไม่มีการแบ่งพื้นที่เป็น quadrant เพราะมีแกนเดียว การเทียบเป็น quadrant ต้องใช้ค่าของ
![]() |
รูปที่ 9 |
การแปลง (r,
จะใช้การคำนวณจาก trigonometry เพื่อคำนวณหาจุดที่ r ฉายลงบนแกน X และแกน Y ถ้าให้จุดสีแดงในรูปที่ 10 มี coordinate เป็น (r,
![]() |
รูปที่ 10 |
จะได้ว่า
การแปลงจาก polar coordinate ไปยัง cartesian coordinate จะใช้สมการ
(1.0) ใช้ได้เมื่อ
ค่าของ | ค่าของ (x,y) |
---|---|
( | |
( | |
( | |
( | |
การแปลงจาก (x,y) ไปเป็น (r,
ใช้ Pythagoras theorem มาแปลงค่าของ x,y ไปเป็นค่า r จากรูปที่ 10 จะได้
จากตอนก่อนหน้า เราทราบว่าง
นั่นคือ (x,y)
ความคิดเห็น
แสดงความคิดเห็น