อะไรคือความแตกต่างระหว่างการแปลงแบบพอยต์กับการแปลงเวคเตอร์?


11

นี่คือสิ่งที่อาจารย์ของฉันบอกฉันในหลักสูตร:

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

ฉันดูเหมือนจะไม่พบคำตอบและสร้างบัญชีสำหรับเว็บไซต์นี้สำหรับคำถามนี้


1
ประกอบกับคำตอบอื่น ๆ ทั้งหมดและเนื่องจากคนอื่นได้ตอบคำถามนี้ไปแล้วในที่อื่น ๆ คุณสามารถตรวจสอบได้ที่: scratchapixel.com/lessons/ …
18490

คำตอบ:


9

นี่คือคำตอบง่ายๆ

ใน 4D เพื่อให้สามารถคูณพวกเขาด้วยเมทริกซ์ 4x4 เวกเตอร์จะแสดงเป็น (x, y, z, 0) และคะแนนจะถูกแทนเป็น (x, y, z, 1)

เนื่องจากแถวที่ 4 ของเมทริกซ์ 4x4 แสดงถึงการแปลของเมทริกซ์การแทนข้างต้นทำให้เป็นจุดที่ได้รับผลกระทบจากการแปล แต่เวกเตอร์ไม่ใช่

ทั้งเวกเตอร์และคะแนนได้รับผลกระทบจากการหมุนการปรับสเกล ฯลฯ

ข้อแม้:

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


Normals ไม่ทำงานเพราะไม่ใช่เวกเตอร์ ไม่ทราบคำแนะนำที่ดีเกี่ยวกับแนวคิดนี้
MB Reynolds

@ MBReynolds ในแง่ทางคณิตศาสตร์บรรทัดฐานจะเป็นเวกเตอร์เป็นจุดหรือทิศทาง ปัญหานี่คือการเปลี่ยนแปลงที่เราใช้กับจุดของพื้นผิวเพื่อแปลงพวกเขาไม่ได้ใช้กับบรรทัดฐาน
nbro

2
พื้นผิวเป็นบรรทัดฐาน bivectors ไม่ใช่เวกเตอร์ เราสามารถหาค่าปกติด้วยผลคูณไขว้ของเวกเตอร์สองตัวผลคือ bivector ดูจาก Vogensen: gist.github.com/pervognsen/c6b1d19754c2e8a38b10886b63d7bf2d
MB Reynolds

4

จากสิ่งที่ผมได้เรียนรู้ตั้งแต่ผมยังเป็นนักเรียนคือการที่คุณต้องการที่จะทำงานร่วมกับการฝึกอบรมเพื่อผลัดรักษา, การปรับขนาดและคำแปลในทางเดียวกัน, ที่อยู่, คูณด้วยเมทริกซ์ (เช่น a 4 × 44×44×4เมทริกซ์)

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

ตอนนี้คำถามคือเราจะส่งต่อจากระบบพิกัด 3 มิติไปยังระบบ 4D ได้อย่างไร คำตอบคือ " พิกัดเหมือนกัน "

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

ณ จุดนี้เรามีเมทริกซ์และเวกเตอร์ 3 มิติไม่ได้มีประโยชน์เลยเพราะคุณไม่สามารถคูณ4 × 4เมทริกซ์และ3 Dเวกเตอร์ตั้งแต่ขนาดไม่ตรงกับ นั่นเป็นเหตุผลที่เมื่อเราทำงานกับพิกัดแบบ Homegeneous เราจำเป็นต้องแปลงคะแนน 3D ที่เราได้รับให้เป็น 4D ที่สอดคล้องกัน4×44×43D

เราจะทำอย่างไร?

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

เราเปลี่ยนเวกเตอร์ทิศทาง 3 มิติด้วยการเพิ่มเป็นพิกัดที่4ของเวกเตอร์ที่เป็นเนื้อเดียวกันที่สอดคล้องกัน: เราเพิ่มศูนย์เพราะสิ่งนี้จะช่วยลดผลกระทบของการแปล เราทำสิ่งที่คล้ายกันกับเวกเตอร์ตำแหน่ง แต่แทนที่จะเป็น0เราเพิ่ม1เพื่อเหตุผลตรงข้าม0401

ตัวอย่างเช่นถ้าเรามีเวกเตอร์ทิศทางv = ( v 1 v 2 v 3 )เราแปลงมันโดยทำv =3Dโวลต์=(โวลต์1โวลต์2โวลต์3)โวลต์'=(โวลต์1โวลต์2โวลต์30)ยู=(ยู1ยู2ยู3)ยู'=(ยู1ยู2ยู31)

3D4เสื้อชั่วโมง10


(Wx,WY,WZ,W)W0(x,Y,Z)W=1Wแปลงมุมมองใช้การคูณเมทริกซ์ 4D ด้วย
Ilmari Karonen

2

หากคุณต้องการค้นหาคำจำกัดความของเวกเตอร์และจุดหนึ่งเวกเตอร์คือ:

ปริมาณเช่นความเร็วที่ระบุไว้อย่างสมบูรณ์ตามขนาดและทิศทาง http://www.thefreedictionary.com/vector

และประเด็นคือ:

วัตถุเรขาคณิตไร้มิติที่ไม่มีคุณสมบัติยกเว้นที่ตั้ง http://www.thefreedictionary.com/point

คุณอาจบอกได้ว่าเวกเตอร์เป็นทิศทางที่มีสเกลและจุดหนึ่งคือตำแหน่ง

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

เวลาส่วนใหญ่เวกเตอร์และจุดถูกวางลงในภาชนะเดียวกันเวกเตอร์ที่มี 4 องค์ประกอบ ข้อแตกต่างเพียงอย่างเดียวคือองค์ประกอบ w หากองค์ประกอบ w เป็น 0 แสดงว่าเป็นทิศทาง ถ้ามันคือ 1 แล้วเวกเตอร์เป็นจุด

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

ส่วนใหญ่คุณจะใช้ 4x4 เมทริกซ์ เมทริกซ์การแปลงปกติอาจมีลักษณะเช่นนี้:

[Rโอเสื้อ+saล.อีRโอเสื้อ+saล.อีRโอเสื้อ+saล.อีเสื้อRansล.aเสื้อผมโอnRโอเสื้อ+saล.อีRโอเสื้อ+saล.อีRโอเสื้อ+saล.อีเสื้อRansล.aเสื้อผมโอnRโอเสื้อ+saล.อีRโอเสื้อ+saล.อีRโอเสื้อ+saล.อีเสื้อRansล.aเสื้อผมโอn0001]

อย่างที่คุณเห็นถ้าองค์ประกอบสุดท้ายคือ 0 ดังนั้นคุณมีการคูณด้วย 0 ดังนั้นผลลัพธ์คือ 0 และไม่มีการแปล

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

หวังว่าฉันจะไม่ทำผิด: P และสิ่งนี้ช่วยคุณได้!


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

@ JarkkoL ใช่นั่นเป็นความจริงคุณพูดถูก เป็นการดีที่สุดที่จะไม่ใช้เมทริกซ์เดียวกัน แต่ขึ้นอยู่กับการนำไปใช้งาน คนส่วนใหญ่ไม่สนใจเกี่ยวกับการบิดเบือนของบรรทัดฐานที่มากเพราะพวกเขาไม่ได้ใช้การปรับขนาดที่ไม่สม่ำเสมอหรือการปรับขนาดเลย ส่วนที่เกี่ยวกับการเปลี่ยนตำแหน่งและบรรทัดฐานนั้นเกี่ยวกับว่ามันจะมีประโยชน์ในการใช้ภาชนะหนึ่ง
bram0101
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.