การเปลี่ยนแปลงพิกัดความสัมพันธ์ เชื่อมโยงการแปลงโดยใช้พิกัดที่เป็นเนื้อเดียวกัน ระบบพิกัดสี่เหลี่ยม

ก่อนอื่น เรามานิยามกันว่าการแปลงคืออะไร? สมมติว่าเรามีโมเดล (เพื่อความง่าย ให้เป็นรูปสามเหลี่ยม) และช่องว่างพิกัดสามช่อง ได้แก่ พื้นที่วัตถุ (ซึ่งอธิบายรูปสามเหลี่ยมนี้) พื้นที่โลก และพื้นที่กล้อง ดังนั้น การแปลงคือการแสดงออกของพิกัดของวัตถุที่อยู่ในระบบพิกัดหนึ่ง (วัตถุ) โดยใช้พิกัดของระบบพิกัดอื่น (โลกแรก แล้วตามด้วยห้อง)

อย่างที่ฉันเขียนไว้ก่อนหน้านี้ การใช้ช่องว่างพิกัดที่แตกต่างกันทำให้การสร้างโลกเสมือนจริงง่ายขึ้น วัตถุถูกสร้างขึ้นในพื้นที่วัตถุ และแต่ละวัตถุมีพื้นที่พิกัดของตัวเอง อวกาศโลกเชื่อมโยงวัตถุทั้งหมดของโลกเสมือนจริงและช่วยให้คุณทำสิ่งที่ยากมากให้ง่ายมาก (เช่น การเคลื่อนย้ายวัตถุ) หลังจากสร้างฉากและวัตถุทั้งหมดถูกย้าย พิกัดโลกจะถูกแปลงเป็นพื้นที่พิกัดของกล้อง เราจะใช้กล้องเพียงตัวเดียว แต่ในสถานการณ์จริงคุณสามารถสร้างได้หลายตัว ตัวอย่างเช่นมีการใช้กล้องหลายตัวในเกม Earth 2150: Escape from the blue planet ที่ยอดเยี่ยม

ฉันกำลังพูดถึงอะไร: การเปลี่ยนแปลงจำเป็นต่อการใช้ช่องว่างพิกัดหลายช่อง

ก่อนอื่น เรามาจำบางอย่างเกี่ยวกับเวกเตอร์กันก่อน รูปต่อไปนี้จะช่วยเราในเรื่องนี้:

เราเห็นอะไรที่นี่: พื้นที่พิกัดของโลกที่เกิดจากแกน x, y, z เวกเตอร์หน่วย ฉัน, เจ, เคเรียกว่าเวกเตอร์หน่วยหรือเวกเตอร์พื้นฐานของปริภูมิพิกัดโลก เมื่อใช้ผลรวมของเวกเตอร์เหล่านี้ คุณจะได้เวกเตอร์ใดๆ ในปริภูมิพิกัดโลก

โวลต์- เวกเตอร์ที่เชื่อมโยงกำเนิดของพิกัดโลกและที่มาของพิกัดวัตถุ ความยาวของเวกเตอร์ v เท่ากับระยะห่างระหว่างจุดกำเนิดของพิกัดโลกกับจุดกำเนิดของพิกัดวัตถุ พิจารณารูปแบบเวกเตอร์ โวลต์=(5,2,5):

โวลต์= x* ฉัน+ ย* เจ+z* เค = 5*ฉัน + 2*เจ + 5*เค

ดังที่ผมเขียนไว้ข้างต้น ด้วยความช่วยเหลือของเวกเตอร์พื้นฐาน คุณสามารถแสดงจุด (เวกเตอร์) ใดๆ ของปริภูมิที่กำหนดได้ ซึ่งเป็นสิ่งที่สมการนี้แสดงให้เห็น

เวกเตอร์ พี,ถาม,- เวกเตอร์พื้นฐานของปริภูมิวัตถุ โปรดทราบว่า ฉัน,เจ,เคไม่จำเป็นต้องเท่ากัน พี,ถาม,.

ในรูปนี้ ฉันได้ละเว้นรายละเอียดหลายประการ: ในพื้นที่พิกัดของวัตถุ มีการระบุจุดสามจุดที่สร้างเป็นรูปสามเหลี่ยม นอกจากนี้ ฉันไม่ได้ระบุกล้องที่หันเข้าหาสามเหลี่ยม

การแปลงพิกัดเชิงเส้นโดยใช้เมทริกซ์

ก่อนอื่น ลองดูเวกเตอร์หน่วยก่อน ฉัน,เจ,เคซึ่งในทิศทางตรงกับแกนพิกัดของอวกาศโลก และเรียกว่าเวกเตอร์หน่วยหรือเวกเตอร์พื้นฐานของอวกาศโลก

ลองเขียนเวกเตอร์เหล่านี้ในรูปแบบพิกัดเป็นเมทริกซ์:

ฉัน= [ ฉัน x ฉัน ฉัน ฉัน z ] = [ 1 0 0 ] เจ= [ เจ x เจ วาย เจ ซี ] = [ 0 1 0 ] เค= [ k x k y k z ] = [ 0 0 0 ]

ในที่นี้เวกเตอร์จะแสดงด้วยเมทริกซ์ 1x3 (เมทริกซ์แถว)

เราสามารถเขียนเวกเตอร์พื้นฐานเหล่านี้ได้โดยใช้เมทริกซ์ตัวเดียว:

และแม้กระทั่ง, ที่สำคัญกว่ามาก, เราสามารถเขียนเวกเตอร์พวกนี้ได้แบบนี้:

อย่างที่คุณเห็น ผลลัพธ์ที่ได้คือเมทริกซ์หน่วยขนาด 3x3 หรือ 4x4

ดูเหมือนว่ามีอะไรผิดปกติกับสิ่งนั้น? ลองคิดดูว่า มันเป็นไปได้ที่จะเขียนเวกเตอร์พื้นฐานโง่ๆ ของปริภูมิลงในเมทริกซ์ตัวเดียวได้ แต่ไม่ คุณจะไม่ “คิด”!!! นี่คือที่ซึ่งหนึ่งในความลับที่น่ากลัวที่สุดของการเขียนโปรแกรมสามมิติถูกซ่อนอยู่

ดังที่ผมได้เขียนไว้ข้างต้น จุดใดๆ ที่มีอยู่ในโลกเสมือนจริงสามารถเขียนได้ในรูปแบบเวกเตอร์:

โวลต์= x* ฉัน+ ย* เจ+z* เค

ที่ไหน โวลต์- จุดในอวกาศ, x,y,z - พิกัดของจุด โวลต์, ก ฉัน,เจ,เค- เวกเตอร์พื้นฐานของอวกาศ สังเกตว่าเรากำลังพูดถึงจุดตรงนี้ แต่เรากำลังดูเวกเตอร์อยู่ ผมหวังว่าคุณจะจำได้ว่าเวกเตอร์กับจุดเป็นสิ่งเดียวกัน

สูตรข้างต้นเรียกว่ารูปแบบเวกเตอร์ของเวกเตอร์ มีอีกชื่อหนึ่งคือผลรวมเชิงเส้นของเวกเตอร์ นี่เป็นเรื่องจริง

ทีนี้ลองดูเวกเตอร์อีกครั้ง โวลต์. ลองเขียนมันลงในเมทริกซ์แถว: โวลต์ = [ 5 2 5 ]

โปรดทราบว่าความยาวของเวกเตอร์ โวลต์คือ ระยะห่างจากจุดกำเนิดของปริภูมิพิกัดโลกถึงจุดกำเนิดของปริภูมิพิกัดวัตถุ

ลองคูณเวกเตอร์นี้ด้วยเมทริกซ์ที่เขียนเวกเตอร์พื้นฐานของอวกาศโลก (ฉันหวังว่าคุณจะจำสูตรการคูณเมทริกซ์ได้):

เป็นผลให้เราได้รับสมการต่อไปนี้:

โวลต์ M = [ (xi x + yj x + zk x) (xi y + yj y + zk y) (xi z +yj z + zk z) ]

เราได้เวกเตอร์ เหล่านั้น. ผลลัพธ์ของการคูณเวกเตอร์ด้วยเมทริกซ์คือเวกเตอร์ ในกรณีนี้ เวกเตอร์ไม่มีการเปลี่ยนแปลง แต่ถ้าองค์ประกอบของเมทริกซ์ไม่ใช่องค์ประกอบ (บนเส้นทแยงมุมหลัก) และศูนย์ (องค์ประกอบอื่น ๆ ทั้งหมด) แต่เป็นตัวเลขอื่น ๆ เวกเตอร์ก็จะเปลี่ยนไป ดังนั้นเราจึงสามารถพูดได้ว่าเมทริกซ์ M ทำการเปลี่ยนแปลงปริภูมิพิกัด พิจารณาสูตรทั่วไป:

a, b เป็นเวกเตอร์, M คือเมทริกซ์การแปลงของปริภูมิพิกัด สามารถอ่านสูตรได้ดังนี้: “เมทริกซ์ M แปลงจุด a ไปยังจุด b”

เพื่อความชัดเจนเรามาดูตัวอย่างกัน เราจำเป็นต้องแปลงพิกัดจากพื้นที่วัตถุ (p,q) เป็นพื้นที่โลก (i,j):

ฉัน,เจ- เวกเตอร์พื้นฐานของอวกาศโลก พี,ถาม- เวกเตอร์พื้นฐานของปริภูมิวัตถุ ในภาพคุณจะเห็นว่าพื้นที่พิกัดของวัตถุหมุนไป -45 องศารอบแกน z (ไม่สามารถมองเห็นได้ในรูปภาพ) นอกจากนี้เวกเตอร์ ถาม,พีเวกเตอร์มากกว่า 1.5 เท่า ฉัน,เจซึ่งหมายความว่าวัตถุที่กำหนดในพื้นที่วัตถุจะดูเล็กลงหนึ่งเท่าครึ่งในอวกาศโลก

หากต้องการเห็นภาพว่าโมเดลสเปซวัตถุจะดูแลการแปลงอย่างไร คุณสามารถเพิ่มเฟรมสำหรับเวกเตอร์ได้ ฉัน,เจ:

คุณสามารถวาดกรอบเดียวกันได้ พี,ถามแต่ฉันไม่ได้เกะกะภาพวาด

ตอนนี้ สมมติว่าเราได้วาดรูปสามเหลี่ยมในพื้นที่วัตถุ (รูปที่ ก) ในอวกาศโลก สามเหลี่ยมนี้จะหมุน 45 องศาและลดลงหนึ่งในสาม (รูปที่ b):

ตอนนี้เรามารวบรวมองค์ประกอบทั้งหมดของปริศนากัน ดังที่เราทราบ การแปลงสามารถทำได้โดยใช้เมทริกซ์ แถวของเมทริกซ์เป็นเวกเตอร์พื้นฐาน พิกัดของเวกเตอร์พื้นฐานของพื้นที่พิกัดของโลกในพื้นที่วัตถุมีดังนี้:

ฉัน = [ 0.473 0.473 ] เจ = [ -0.473 0.473 ]

เราหาพิกัดได้อย่างไร? อันดับแรก เรารู้ว่าช่องว่างพิกัดจะหมุนสัมพันธ์กัน 45 องศา ประการที่สอง เวกเตอร์ฐานปริภูมิวัตถุยาวกว่าเวกเตอร์ฐานปริภูมิโลก 1.5 เท่า เมื่อรู้สิ่งนี้แล้ว เราจึงคำนวณพิกัดของเวกเตอร์ได้อย่างง่ายดาย ฉัน,เจ.

เป็นผลให้เราได้รับเมทริกซ์การแปลงต่อไปนี้ (ในกรณีนี้คือการหมุนหรือการหมุน):

หรือในพื้นที่สามมิติ:

ค่าทั้งหมดเป็นค่าโดยประมาณ

นี่คือเมทริกซ์สำหรับการแปลงพิกัดจากปริภูมิวัตถุเป็นปริภูมิเฉื่อย (ฉันเตือนคุณว่าเวกเตอร์พื้นฐานของปริภูมิเฉื่อยตรงกับเวกเตอร์พื้นฐานของปริภูมิโลก) ในการแปลงรูปสามเหลี่ยมจากปริภูมิวัตถุไปเป็นปริภูมิเฉื่อย คุณต้องคูณจุด (เวกเตอร์) ทั้งหมดของรูปสามเหลี่ยมด้วยเมทริกซ์การแปลง

ในตัวอย่างสุดท้าย เราพบการเปลี่ยนแปลงสองแบบ: การหมุนและการปรับขนาด การแปลงทั้งสองนี้เป็นเชิงเส้น

ตอนนี้เราได้ดูตัวอย่างของการแปลงเชิงเส้นแล้ว เราก็มาทำความคุ้นเคยกับคำจำกัดความได้แล้ว:

การแปลงเชิงเส้นคือการแปลงพิกัดที่ไม่บิดเบือนช่องว่าง เหล่านั้น. เส้นขนานทั้งหมดยังคงขนานกัน (มีข้อยกเว้นประการหนึ่ง) หรือค่อนข้างง่าย: ด้วยการแปลงเชิงเส้น สามเหลี่ยมจะไม่กลายเป็นวงกลมหรือสี่เหลี่ยม แต่จะยังคงเป็นสามเหลี่ยมเสมอ

ตอนนี้เราเข้าใจคร่าวๆ ว่าการแปลงเชิงเส้นคืออะไรแล้ว มาดูสูตรเฉพาะกัน:

มาตราส่วน

k 1 ,k 2 ,k 3 - ปัจจัยสเกล ถ้า k 1 วัตถุจะเพิ่มขึ้น

การหมุน

การหมุนรอบแกน x:

การหมุนรอบแกน y:

การหมุนรอบแกน z:

อย่างไรก็ตาม มันคือเมทริกซ์นี้ (ของการหมุนรอบแกน z) ที่เราใช้ข้างต้น

การหมุนไม่เพียงแต่หมุนรอบแกนที่สร้างพื้นที่พิกัดเท่านั้น แต่ยังหมุนรอบเส้นตรงใดๆ ก็ได้ด้วย สูตรการหมุนรอบเส้นตรงใดๆ ค่อนข้างซับซ้อน เรายังไม่พร้อมที่จะพิจารณา

สิ่งที่สำคัญที่สุดที่คุณต้องจำจากข้างต้นคือ: แถวของเมทริกซ์การแปลงมีเวกเตอร์พื้นฐานของปริภูมิพิกัดใหม่ ซึ่งแสดงในรูปของพิกัดของปริภูมิพิกัดเก่า .

หากคุณเข้าใจสิ่งง่ายๆ นี้ (เมทริกซ์มีเวกเตอร์พื้นฐานของปริภูมิใหม่) เมื่อดูที่เมทริกซ์การแปลง คุณจะเห็นปริภูมิพิกัดใหม่ได้อย่างง่ายดาย

และสิ่งสุดท้าย:
การแปลงเชิงเส้นไม่สามารถเคลื่อนย้ายวัตถุได้ เหล่านั้น. วัตถุสามารถขยาย/ย่อ หมุนได้ แต่วัตถุเหล่านั้นจะยังคงอยู่กับที่

เชื่อมโยงการเปลี่ยนแปลง

การแปลงแบบ Affine คือการแปลงเชิงเส้นพร้อมการแปล การใช้การแปลงความสัมพันธ์ทำให้คุณสามารถย้ายวัตถุได้

สูตรนั้นง่ายมาก:

A = บีเอ็ม + โวลต์;

โดยที่ b คือจุดเริ่มต้น M คือเมทริกซ์การแปลงเชิงเส้น a คือจุดแปลง และ v คือเวกเตอร์ที่เชื่อมต่อช่องว่างทั้งสอง หรืออีกนัยหนึ่ง มันคือเวกเตอร์ที่มีความยาวเท่ากับระยะห่างระหว่างปริภูมิพิกัดสองอัน

ในภาพตอนต้นบทเรียน จำเป็นต้องมีการแปลงความสัมพันธ์ ประการแรก การแปลงเชิงเส้นจากสเปซวัตถุเป็นสเปซเฉื่อย จากนั้นจึงถ่ายโอนจุดทั้งหมดของสเปซวัตถุไปยังอวกาศโลกโดยใช้เวกเตอร์ v

เพื่อให้การคำนวณในการเขียนโปรแกรมกราฟิก 3D ง่ายขึ้น จะใช้เวกเตอร์ 4D เมทริกซ์ 4x4 และพิกัดที่เรียกว่าเอกพันธ์ มิติที่สี่ไม่มีบทบาทใด ๆ มีการแนะนำเพื่อทำให้การคำนวณง่ายขึ้นเท่านั้น

เวกเตอร์สี่มิติ อย่างที่คุณอาจเดาได้ ใช้องค์ประกอบสี่ส่วน: x, y, z และ w องค์ประกอบที่สี่ของเวกเตอร์เรียกว่าพิกัดเอกพันธ์

เป็นการยากมากที่จะนำเสนอพิกัดที่เป็นเนื้อเดียวกันในเชิงเรขาคณิต ดังนั้น เราจะพิจารณาปริภูมิเอกพันธ์สามมิติที่มีพิกัด (x,y,w) ลองจินตนาการว่าระนาบสองมิติถูกกำหนดไว้ที่จุด w=1 ดังนั้น จุดสองมิติจึงถูกแทนด้วยพิกัดต่อไปนี้ (x,y,1) จุดทั้งหมดในอวกาศที่ไม่อยู่ในระนาบ (อยู่ในระนาบโดยที่ w != 1) สามารถคำนวณได้โดยการฉายภาพลงบนระนาบสองมิติ ในการทำเช่นนี้คุณจะต้องแบ่งส่วนประกอบทั้งหมดของจุดนี้ให้เป็นเนื้อเดียวกัน เหล่านั้น. ถ้า w!=1 ในระนาบ “ทางกายภาพ” (ที่เราทำงานและที่ w=1) พิกัดของจุดจะเป็นดังนี้: (x/w,y/w,w/w) หรือ (x/w ,ป/ป ,1) ดูที่รูปภาพ:

พิกัดของเวกเตอร์มีดังนี้:

วี 1 = [ 3 3 3 ] วี 2 = [ 3 1 0 ] วี 3 = [ 3 -2 -2 ]

เวกเตอร์เหล่านี้ถูกฉายลงบนระนาบ "ฟิสิคัล" (w=1) ดังนี้:

วี 1 = [ 1 1 1 ] วี 3 = [ -1.5 1 1 ]

รูปนี้แสดงเวกเตอร์สามตัว โปรดทราบว่าเมื่อจุดอยู่ในระนาบ w=0 จุดนี้จะไม่สามารถฉายบนระนาบฟิสิคัลได้ (เวกเตอร์ v 2)

สำหรับแต่ละจุดบนระนาบทางกายภาพ จะมีจุดจำนวนอนันต์ในปริภูมิเนื้อเดียวกัน

ในอวกาศสี่มิติ ทุกอย่างจะเหมือนกันทุกประการ เราทำงานในปริภูมิทางกายภาพ โดยที่ w = 1: (x,y,z,1) จากผลการคำนวณ หาก w != 1 คุณต้องแบ่งพิกัดทั้งหมดของจุดให้เป็นพิกัดที่เป็นเนื้อเดียวกัน: (x/w,y/w,z/w,w/w) หรือ (x/ W,Y/W,Z/W,1 ) นอกจากนี้ยังมีกรณีพิเศษเมื่อ w = 0 เราจะดูเรื่องนี้ในภายหลัง

ทีนี้มาฝึกซ้อมกันต่อ: ทำไมเราถึงต้องการพิกัดที่เป็นเนื้อเดียวกันล่ะ?

ดังที่เราได้ทราบไปแล้ว เมทริกซ์ขนาด 3x3 แสดงถึงการแปลงเชิงเส้น กล่าวคือ ไม่มีการถ่ายโอน (การเคลื่อนไหว) เวกเตอร์ที่แยกต่างหากใช้สำหรับการถ่ายโอน (และนี่คือการแปลงแบบสัมพันธ์):

วี = แอม + ข

เหล่านั้น. เราคูณจุด (เวกเตอร์) ทั้งหมดของวัตถุด้วยเมทริกซ์การแปลง M เพื่อไปที่ระบบพิกัดเฉื่อย (ซึ่งเวกเตอร์พื้นฐานตรงกับเวกเตอร์พื้นฐานของระบบพิกัดโลก) จากนั้นเราจะไปถึงอวกาศโลกโดยใช้เวกเตอร์ b . ฉันขอเตือนคุณว่าเวกเตอร์ b เชื่อมต่อจุดเริ่มต้นของพื้นที่วัตถุกับจุดเริ่มต้นของอวกาศโลก

ดังนั้น เมื่อใช้สี่มิติ คุณสามารถอัดทั้งการแปลงเชิงเส้น (การหมุน การปรับขนาด) และการแปลเป็นเมทริกซ์เดียวได้

ลองจินตนาการว่าองค์ประกอบที่สี่มีค่าเท่ากับหนึ่งเสมอ (แม้ว่าเราจะพบแล้วว่าไม่เป็นเช่นนั้นก็ตาม) ตอนนี้การแปลงเชิงเส้นสามารถแสดงได้โดยใช้เมทริกซ์ 4x4:

ลองดูสูตรคูณเวกเตอร์ด้วยเมทริกซ์การแปลงในพื้นที่สี่มิติ:

V x = (xi x + yj x + zk x + w*0) v y = (xi y + yj y + zk y + w*0) v z = (xi z + yj z + zk z + w*0) v w = (x*0 + y*0 + z*0 + w*1) ดังที่เราเห็น ส่วนประกอบของเวกเตอร์ที่แปลงแล้วโดยใช้เมทริกซ์ขนาด 4x4 จะเท่ากับส่วนประกอบของเวกเตอร์ที่แปลงแล้วโดยใช้เมทริกซ์ขนาด 3x3 องค์ประกอบที่สี่ตามที่เราตกลงกันไว้จะเท่ากับหนึ่งเสมอดังนั้นจึงสามารถละทิ้งไปได้เลย ดังนั้นเราจึงสามารถพูดได้ว่าการแปลงที่กระทำโดยเมทริกซ์ขนาด 3x3 และ 3x4 นั้นเทียบเท่ากัน

ตอนนี้เรามาดูเมทริกซ์การถ่ายโอน:

คูณเวกเตอร์ใดๆ จากปริภูมิวัตถุ (ดูรูปที่จุดเริ่มต้นของบทเรียน) ด้วยเมทริกซ์นี้ และคุณสามารถแสดงเวกเตอร์นี้ในปริภูมิพิกัดโลกได้ (นี่คือถ้าเวกเตอร์พื้นฐานของวัตถุและปริภูมิโลกเท่ากัน)

โปรดทราบว่านี่เป็นการแปลงเชิงเส้นด้วย เฉพาะในปริภูมิสี่มิติเท่านั้น

การใช้ผลิตภัณฑ์เมทริกซ์เราสามารถรวมเมทริกซ์การหมุนและเมทริกซ์การแปล:

เมทริกซ์สุดท้ายนี้เป็นสิ่งที่เราต้องการตั้งแต่เริ่มต้น คุณควรมีความเข้าใจเป็นอย่างดีว่าองค์ประกอบทั้งหมดหมายถึงอะไร (ยกเว้นคอลัมน์ที่ 4)

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

ความหมายทางเรขาคณิตของพิกัดที่เป็นเนื้อเดียวกันมีดังนี้ (รูปที่ 6) จุดใดก็ได้บนเส้น

ข้าว. 6. การตีความทางเรขาคณิตของพิกัดที่เป็นเนื้อเดียวกัน

ดังนั้น การติดต่อแบบหนึ่งต่อหนึ่งจึงถูกสร้างขึ้นระหว่างจุดการผลิตที่มีพิกัด (x, y) และเซตของตัวเลขสามเท่าของรูปแบบ (W×x, W×y, W), W≠0 ซึ่งอนุญาต ให้เราพิจารณาตัวเลข W×x, W×y, W พิกัดใหม่ของจุดนี้ ดังนั้นพิกัดที่เป็นเนื้อเดียวกันสามารถแสดงเป็นการฝังระนาบสองมิติโดยปรับขนาดด้วยตัวประกอบ W ลงในระนาบ z = W (ในที่นี้ z = 1) ในพื้นที่สามมิติ

การใช้พิกัดที่เป็นเนื้อเดียวกันจะสะดวกเมื่อแก้ไขปัญหาที่ง่ายที่สุด

หากอุปกรณ์แสดงผลใช้งานได้กับจำนวนเต็มเท่านั้น (หรือหากจำเป็นต้องทำงานเฉพาะกับจำนวนเต็ม) ดังนั้นสำหรับค่าที่กำหนดเองของ W (เช่น W=1) จุดที่มีพิกัดสม่ำเสมอ (0.5; 0.1; 2.5) จะไม่สามารถ เป็นตัวแทน อย่างไรก็ตาม ด้วยตัวเลือก W ที่สมเหตุสมผล จึงเป็นไปได้ที่จะตรวจสอบให้แน่ใจว่าพิกัดของจุดนี้เป็นจำนวนเต็ม โดยเฉพาะอย่างยิ่ง ด้วย W=10 สำหรับตัวอย่างที่กำลังพิจารณา เรามี (5; 1; 25)

อีกกรณีหนึ่ง. เพื่อป้องกันไม่ให้ผลลัพธ์การแปลงนำไปสู่การโอเวอร์โฟลว์ทางคณิตศาสตร์ สำหรับจุดที่มีพิกัด (80000; 40000; 1000) คุณสามารถใช้ W=0.001 ได้ เป็นผลให้เราได้รับ (80; 40; 1)

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

ดังที่ทราบกันดีว่าการแปลงการแปล การปรับขนาด และการหมุนในรูปแบบเมทริกซ์จะถูกเขียนเป็น

พี' = พี × ส;

การแปลจะดำเนินการแยกกัน (โดยใช้การบวก) จากการปรับขนาดและการหมุน (โดยใช้การคูณ) หากเราแสดงจุดในพิกัดที่เป็นเนื้อเดียวกัน การแปลงทั้งสามสามารถเกิดขึ้นได้โดยใช้การคูณ ที่นี่เราจะดูการแปลง 2D

สมการการขนส่งถูกเขียนในรูปแบบของเมทริกซ์การแปลงของพิกัดที่เป็นเนื้อเดียวกันดังนี้:

P' = P × T(dx, dy)

.

บางครั้งสำนวนดังกล่าวเขียนดังนี้:

ตัวอย่างเช่น ลองพิจารณาการแปลแบบจุดคู่ ปล่อยให้จำเป็นต้องย้ายจุด P ไปยังจุด P’ ที่ระยะไกล (dx1, dy1) จากนั้นไปที่ P’’ ที่ระยะไกล (dx2, dу2) การโอนทั้งหมดจะต้องเท่ากับระยะทาง (dх1+d2, du1+dу2) มาเขียนข้อมูลในรูปแบบกัน

P’ = P × T (dx1, dy1);

P'' = P' × T (dx2, dy2)

เราแทนสูตรแรกไปเป็นสูตรที่สอง

P'' = P × (T (dx1, dy1) × T (dx2, dy2))

ผลคูณเมทริกซ์ T (dx1, dy1) ∙ T (dx2, dy2) คือ

ดังนั้น การถ่ายโอนผลลัพธ์คือ (dx1+dx2, dy1+dy2) กล่าวคือ การพกพาต่อเนื่องเป็นส่วนเสริม

สมการสเกลในรูปแบบเมทริกซ์โดยใช้พิกัดเนื้อเดียวกันจะถูกเขียนเป็น

,

.

P’ = P’ × S(Sx, Sy)

ผลคูณเมทริกซ์ S(Sx1, Sy1) × S(Sx2, Sy2) คือ

ดังนั้น มาตราส่วนต่อเนื่องกันจึงเป็นการคูณ

สุดท้ายสมการการหมุน (ในระบบทางขวา) สามารถแสดงเป็นได้

.

การหมุนต่อเนื่องเป็นการบวก

องค์ประกอบของการแปลง 2 มิติโดยใช้พิกัดที่เป็นเนื้อเดียวกัน. ผลิตภัณฑ์เมทริกซ์ถูกเรียกในกรณีที่แตกต่างกัน สหภาพ, การเชื่อมต่อ, การต่อข้อมูลและ องค์ประกอบ. เราจะใช้คำสุดท้ายที่ระบุไว้

ตัวอย่างเช่น พิจารณาการหมุนของวัตถุโดยสัมพันธ์กับจุด P1 ใดๆ ก็ตาม เนื่องจากเรารู้วิธีหมุนรอบจุดกำเนิดเท่านั้น เราจึงแบ่งปัญหาเดิมออกเป็นสามปัญหาย่อย:

การแปล ซึ่งจุด P1 ถูกย้ายไปยังจุดเริ่มต้น

เปลี่ยน;

การแปลซึ่งจุดจากจุดกำเนิดจะกลับสู่ตำแหน่งเดิม P1

ลำดับของการเปลี่ยนแปลงเหล่านี้แสดงไว้ในรูปที่ 1 7.1.

ข้าว. 7.1. หมุนวัตถุรอบจุดที่ต้องการ

การเปลี่ยนแปลงที่เกิดขึ้นดูเหมือน

ด้วยแนวทางที่คล้ายกัน คุณสามารถปรับขนาดวัตถุโดยสัมพันธ์กับจุด P1 ที่ต้องการได้: ย้าย P1 ไปที่จุดเริ่มต้น ปรับขนาด และย้ายกลับไปที่จุด P1 การเปลี่ยนแปลงที่เกิดขึ้นในกรณีนี้จะมีลักษณะดังนี้

ลองพิจารณาการเปลี่ยนแปลงที่ซับซ้อนกว่านี้ สมมติว่าเราจำเป็นต้องปรับขนาด หมุน และวางตำแหน่งวัตถุในตำแหน่งที่ถูกต้อง (บ้านในรูปที่ 7.2) โดยที่จุดศูนย์กลางของการหมุนและการปรับขนาดคือจุด P1

ข้าว. 7.2. ตัวอย่างลำดับการแปลง

ลำดับของการแปลงประกอบด้วยการย้ายจุด P1 ไปยังจุดเริ่มต้น การปรับขนาดและการหมุน จากนั้นจึงย้ายจากจุดเริ่มต้นไปยังตำแหน่งใหม่ P2 โครงสร้างข้อมูลของแอปพลิเคชันโปรแกรมที่มีการแปลงนี้อาจประกอบด้วยสเกลแฟคเตอร์ มุมการหมุน และจำนวนการแปล หรือเมทริกซ์การแปลงผลลัพธ์อาจถูกเขียน:

T (-x1, -y1) × S (Sx, Sy) × R (A) × T (x2, y2)

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

ม1 M2
แปล การปรับขนาด การหมุน การปรับขนาด (ที่ Sx=Sy) แปล ซูม หมุน หมุน

องค์ประกอบของรูปแบบทั่วไปที่สุดซึ่งประกอบด้วยการดำเนินการ R, S และ T มีเมทริกซ์

ส่วน 2 × 2 บนสุดของมันคือเมทริกซ์การหมุนและการปรับขนาดรวมกัน ในขณะที่ tx และ ty อธิบายการแปลสุทธิ ในการคำนวณ P·M เป็นผลคูณของเวกเตอร์และเมทริกซ์ 3 × 3 จำเป็นต้องมีการดำเนินการคูณ 9 ครั้งและการบวก 6 ครั้ง โครงสร้างของคอลัมน์สุดท้ายของเมทริกซ์ทั่วไปช่วยให้เราสามารถลดความซับซ้อนของการดำเนินการจริงที่ดำเนินการได้

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

中文: 维基百科正在使网站更加安全。您正在使用旧的浏览器,请更新IT )。

สเปน: Wikipedia está haciendo el sitio más seguro. Usted está utilizando un navegador web viejo que no será capaz de conectarse a Wikipedia en el futuro. Actualice su dispositivo o contacte a su administrador informático. Más abajo hay unaactualización más larga y más técnica en inglés.

ﺎﻠﻋﺮﺒﻳﺓ: ويكيبيديا تسعى لتأمين الموقع أكثر من ذي قبل. أنت تستخدم متصفح وب قديم لن يتمكن من الاتصال بموقع ويكيبيديا في المستقبل. يرجى تحديث جهازك أو الاتصال بغداري تقنية المعلومات الخاص بك. يوجد تحديث فني أطول ومغرق في التقنية باللغة الإنجليزية تاليا.

ฝรั่งเศส: Wikipédia va bientôt augmenter la securité de son site. Vous utilisez actuellement un exploreur web ancien, qui ne pourra plus se เชื่อมต่อ à Wikipédia lorsque ce sera fait. Merci de mettre à jour votre appareil ou de contacter votre administrateur informatique à cette fin. ข้อมูลเสริมพร้อมทั้งเทคนิคและภาษาอังกฤษอื่นๆ

日本語: ??? ??? IT情報HA以下に英語で提供しています。

เยอรมัน:วิกิพีเดีย erhöht die Sicherheit der Webseite Du benutzt einen alten Webbrowser, der in Zukunft nicht mehr auf Wikipedia zugreifen können wird. Bitte Aktualisiere เป็นผู้รับผิดชอบด้าน IT-Administrator และ Ausführlichere (และ technisch detailliertere) Hinweise พบ Du unten ในภาษาอังกฤษ Sprache

อิตาเลียโน่:วิกิพีเดีย sta rendendo il sito più sicuro ใช้เบราว์เซอร์เว็บ che non sarà ใน grado di connettersi และ Wikipedia ในอนาคต ตามที่ต้องการ aggiorna il tuo dispositivo o contatta il tuo amministratore informatico Più ในบาสโซ è disponibile un aggiornamento più dettagliato e tecnico ในภาษาอิงเกิล

แมกยาร์: Biztonságosabb lesz ในวิกิพีเดีย A böngésző, amit használsz, nem lesz képes kapcsolódni a jövőben. Használj modernebb szoftvert vagy jelezd a problémát a rendszergazdádnak. Alább olvashatod a részletesebb magyarázatot (อันโกลุล).

สเวนสกา:วิกิพีเดีย gör sidan mer säker. Du använder en äldre webbläsare som inte kommer att kunna läsa Wikipedia และ framtiden. อัปเดตข้อมูลติดต่อโดยผู้ดูแลระบบไอที ฟินน์ en längre och mer teknisk förklaring på engelska längre ned.

हिन्दी: विकिपीडिया साइट को और अधिक सुरक्षित बना रहा है। आप एक पुराने वेब ब्राउज़र का उपयोग कर रहे हैं जो भविष्य में विकिपीडिया से कनेक्ट नहीं हो पाएगा। कृपया अपना डिवाइस अपडेट करें या अपने आईटी व्यवस्थापक से संपर्क करें। नीचे अंग्रेजी में एक लंबा और अधिक तकनीकी अद्यतन है।

เรากำลังลบการสนับสนุนสำหรับเวอร์ชันโปรโตคอล TLS ที่ไม่ปลอดภัย โดยเฉพาะ TLSv1.0 และ TLSv1.1 ซึ่งซอฟต์แวร์เบราว์เซอร์ของคุณใช้เชื่อมต่อกับไซต์ของเรา ซึ่งมักเกิดจากเบราว์เซอร์ที่ล้าสมัยหรือสมาร์ทโฟน Android รุ่นเก่า หรืออาจเป็นสัญญาณรบกวนจากซอฟต์แวร์ "ความปลอดภัยทางเว็บ" ขององค์กรหรือส่วนบุคคล ซึ่งจะทำให้ความปลอดภัยในการเชื่อมต่อลดลง

คุณต้องอัปเกรดเว็บเบราว์เซอร์ของคุณหรือแก้ไขปัญหานี้เพื่อเข้าถึงเว็บไซต์ของเรา ข้อความนี้จะยังคงอยู่จนถึงวันที่ 1 มกราคม 2020 หลังจากวันดังกล่าว เบราว์เซอร์ของคุณจะไม่สามารถสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ของเราได้

ปัญหาการแปลงพิกัดเป็นดังนี้ การทราบพิกัดของจุดกำเนิดใหม่และเวกเตอร์พิกัดใหม่ในระบบเก่า:

, , , (3)

พิกัดด่วน เอ็กซ์, ยคะแนน ในระบบพิกัดเก่าผ่านพิกัด จุดนี้ในระบบใหม่

จากสูตร (3) จะได้ว่า

; ; . (4)

(ตามกฎสามเหลี่ยม)

เพราะ , แล้วตามคำจำกัดความของพิกัดของจุด , , เช่น. ; .

จากนั้นเมื่อใช้สูตร (4) เราจะได้:

ที่เราพบ:

(5)
;

นี่คือวิธีการแสดงพิกัด เอ็กซ์, ยจุดใดก็ได้ ในระบบเก่าผ่านพิกัดของมัน ในระบบใหม่ .

เรียกสูตร (5) สูตรสำหรับการแปลงระบบพิกัดแอฟฟิน.

ค่าสัมประสิทธิ์ที่ - พิกัดของเวกเตอร์ใหม่ในระบบเก่า ค่าสัมประสิทธิ์ เมื่อใดคือพิกัดของเวกเตอร์ใหม่ในระบบเก่า เงื่อนไขอิสระ คือพิกัดของจุดกำเนิดใหม่ในระบบเก่า:

พิกัดจุด

ในระบบใหม่

เอ็กซ์
ที่
=
=
+
+
+
+

โต๊ะ เรียกว่าเมทริกซ์การเปลี่ยนแปลงจากพื้นฐาน , ไปยังพื้นฐาน , .

กรณีพิเศษของการเปลี่ยนแปลงความสัมพันธ์

ระบบพิกัด

1. การโอนต้นทาง.

ด้วยการเปลี่ยนแปลงครั้งนี้ , , ก (รูปที่ 40)

เรามาค้นหาพิกัดของเวกเตอร์ในระบบเก่ากันดีกว่า เช่น , , และ :

Þ Þ , ;

Þ Þ , .

จากนั้นสูตร (5) จะอยู่ในรูปแบบ:

เกี่ยวกับ"
ข้าว. 40
(7)

เรียกสูตร (7) สูตรสำหรับการแทนที่เวกเตอร์พิกัด.

แนวคิดเรื่องมุมทิศทางระหว่างเวกเตอร์

การแปลงระบบพิกัดสี่เหลี่ยม

แนวคิดเรื่องมุมทิศทางระหว่างเวกเตอร์ถูกนำมาใช้บนระนาบเชิง

อนุญาต และ เป็นเวกเตอร์ที่ไม่เป็นศูนย์ ระบุไว้ในลำดับที่แน่นอน ( - เวกเตอร์แรก - เวกเตอร์ที่สอง)

ถ้า || , ที่ มุมทิศทางระหว่างเวกเตอร์และเวกเตอร์เรียกว่า

ขนาด ถ้าพื้นฐาน , - ถูกต้อง;

ขนาด หากเหลือพื้นฐานไว้

ถ้า , ที่ มุมทิศทางระหว่างกันถือว่าเท่ากันถ้า จากนั้น (รูปที่ 42)


พิจารณาระบบพิกัดคาร์ทีเซียนสี่เหลี่ยมสองระบบ และ . อนุญาต ม(x;ย)วี , วี . เนื่องจากระบบพิกัดสี่เหลี่ยมเป็นกรณีพิเศษของระบบพิกัดแบบสัมพันธ์ เราจึงสามารถใช้สูตร (5) จาก §12 ได้ แต่จะใช้ค่าสัมประสิทธิ์ , , , ไม่สามารถกำหนดเองได้อีกต่อไป.

ลองหาพิกัดของเวกเตอร์ในระบบเก่ากัน ลองพิจารณาสองกรณี

1) ฐาน และ , มีการวางแนวเหมือนกัน (รูปที่ 43)

เอ 1
ใน
ใน 1
เกี่ยวกับ"
ข้าว. 44

สามเหลี่ยมมุมฉาก และ เท่ากันในด้านตรงข้ามมุมฉากและมุมแหลม (
, ), เพราะฉะนั้น, และ .

จาก เราพบ:

เพราะฉะนั้น, .

เพราะฉะนั้น, . จากนั้นสูตร (5) จะอยู่ในรูปแบบ:

โปรดทราบว่าดีเทอร์มิแนนต์ของเมทริกซ์การเปลี่ยนแปลงจาก พื้นฐาน ถึง พื้นฐาน

.

2) ฐาน และ , อยู่ในทิศทางตรงกันข้าม (รูปที่ 45)

เกี่ยวกับ
เกี่ยวกับ"
ข้าว. 45

เกี่ยวกับ
เกี่ยวกับ"
ใน
ใน 1
เอ 1
ข้าว. 46
อนุญาต . ให้เรานำเวกเตอร์ไปสู่จุดกำเนิดร่วม เกี่ยวกับ(รูปที่ 46)

การใช้เหตุผลคล้ายกับกรณีที่ 1) เราได้รับ:

เพราะฉะนั้น, ; .

จากนั้นสูตร (5) จะอยู่ในรูปแบบ:

โปรดทราบว่าปัจจัยกำหนดของเมทริกซ์การเปลี่ยนแปลงจากพื้นฐาน ไปยังพื้นฐาน ในกรณีนี้

สามารถรวมสูตร (8) และ (9) ได้:

, ที่ไหน

.

กรณีพิเศษของการเปลี่ยนแปลง

ระบบพิกัดสี่เหลี่ยม

1. การโอนต้นทาง: , .

พิกัดเชิงขั้ว

หากมีการระบุกฎซึ่งสามารถกำหนดตำแหน่งของจุดบนระนาบได้โดยใช้คู่ลำดับของจำนวนจริง ก็จะบอกว่ามีการระบุระบบพิกัดบนระนาบ นอกจากระบบพิกัดอัฟฟินซึ่งอภิปรายไว้ในมาตรา 10 แล้ว ระบบพิกัดเชิงขั้วบนระนาบยังมักใช้ในวิชาคณิตศาสตร์อีกด้วย

ระบบพิกัดเชิงขั้วถูกนำมาใช้บนระนาบเชิง

คู่ประกอบด้วยจุด เกี่ยวกับและเวกเตอร์หน่วยเรียกว่า ระบบพิกัดเชิงขั้วและถูกกำหนดให้เป็นหรือ . ทิศทางตรง เรียกว่า แกนขั้วโลก, จุด เกี่ยวกับ- เสา(รูปที่ 48)

ดังนั้น, . ถ้า เกิดขึ้นพร้อมกับ เกี่ยวกับ, ที่ . ไม่ว่าจะจุดไหนก็ตาม รัศมีเชิงขั้วของมัน

ถ้า ตรงกับเสา เกี่ยวกับดังนั้น j จึงไม่ได้ถูกกำหนดไว้ จากคำนิยามของมุมทิศทางระหว่างเวกเตอร์ (ดู §13) จะเป็นไปตามมุมเชิงขั้วนั้น

ข้าว. 51
เจ
ม.1

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

อนุญาต เป็นระบบพิกัดเชิงขั้วบนระนาบเชิง , วี ให้เราแนบเวกเตอร์หน่วยตั้งฉากกับเวกเตอร์เข้ากับระบบขั้วโลกเพื่อให้ฐานอยู่ทางขวา (รูปที่ 51)

, .

อนุญาต ม(x;ย)วี แล้ว ; (รูปที่ 51)

ได้รับ สูตรการเปลี่ยนจากพิกัดเชิงขั้วเป็นสี่เหลี่ยม:

ลองยกกำลังสองของความเท่าเทียมกันเหล่านี้แล้วบวก:

, ที่ไหน (รากมีเครื่องหมาย "+" เพราะ ). Þ Þ
;
.

เกี่ยวกับ
วี
ข้าว. 52
ความคิดเห็น . เมื่อแก้ไขปัญหาที่เกี่ยวข้องกับการเปลี่ยนจากพิกัดคาร์ทีเซียนสี่เหลี่ยมไปเป็นพิกัดเชิงขั้ว การค้นหาเพียงอย่างเดียวนั้นไม่เพียงพอ หรือเพียงแค่ , เพราะ เป็นไปไม่ได้ที่จะกำหนดมุมเชิงขั้วจากฟังก์ชันตรีโกณมิติอย่างไม่คลุมเครือ: ในช่วงเวลา มีสองมุมที่มีโคไซน์เหมือนกัน (สองมุมที่มีไซน์เดียวกัน) (รูปที่ 52) ดังนั้น คุณสามารถหามุมเชิงขั้ว j ได้อย่างถูกต้องก็ต่อเมื่อคุณคำนวณไปพร้อมๆ กันเท่านั้น และ .
กำลังโหลด...กำลังโหลด...