การแปลง Affine คืออะไร


21

Tranformations Affine คืออะไร พวกมันใช้กับแต้มหรือรูปร่างอื่น ๆ ด้วยหรือไม่? หมายความว่าพวกเขาสามารถ "ใจเย็น"?

คำตอบ:


23

การแปลง Affine เป็นการแปลงเชิงเส้น + เวกเตอร์การแปล

[xy]=[xy][abcd]+[ef]

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

คูณออกมันสร้าง 2 สมการเพื่อให้ได้คู่ที่ "เปลี่ยน" พิกัดจากคู่ดั้งเดิม( x , y )และรายการค่าคงที่( a , b , c , d , e , f ) . x = a x + c y + e(x',Y')(x,Y)(a,,,d,อี,)

x'=ax+Y+อีY'=x+dY+

สะดวกสบายการแปลงเชิงเส้นและเวกเตอร์การแปลสามารถรวมกันเป็นเมทริกซ์ 3 มิติซึ่งสามารถทำงานได้มากกว่าพิกัด 2D ที่เป็นเนื้อเดียวกัน

[xy1]=[xy1][ab0cd0ef1]

ซึ่งให้ผลสมการ 2 เหมือนกันด้านบน

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

[xy1]=([xy1][ab0cd0ef1])[gh0ij0km1]=[ax+cy+ebx+dy+f1][gh0ij0km1]=[g(ax+cy+e)+i(bx+dy+f)+kh(ax+cy+e)+j(bx+dy+f)+m1]T=[xy1]([ab0cd0ef1][gh0ij0km1])=[xy1][ag+biah+bj0cg+dich+dj0eg+fi+keh+fj+m1]

Alternatively you can consider a few basic transform types and compose any more complex transform by combining these (multiplying them together).

Identity transform

การแปลงอัตลักษณ์

[100010001]

Scaling

การปรับขนาด

[Sx000Sy0001]

*Note: a reflection can be performed with scaling parameters (Sx,Sy)=(1,1) or (1,1).

Translation

การแปล

[100010TxTy1]

เอียง x ด้วย y

เอียง x โดย y

[1Qx0010001]

เอียง y ด้วย x

เอียง y โดย x

[100QY10001]

การหมุน

การหมุน

[cosθ-sผมnθ0บาปθcosθ0001]

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

เมทริกซ์ที่ประกอบจากการปรับสเกลการหมุนและการแปลสามารถแยกส่วนประกอบออกเป็นสามส่วนได้


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

2
คุณสามารถเพิ่มรูปภาพ ถ้าคุณจะไม่ฉันจะ: P นอกจากนี้ยังอาจกล่าวถึงการสั่งซื้อในเมทริกซ์และการวางแนวแถว / คอลัมน์โดยพลการ และการหมุนในรูปแบบ 3 มิตินั้นไม่ได้เป็นการเชิงซ้อน
joojaa

2
@joojaa I made pictures! postscript sources
luser droog

1
มันอาจคุ้มค่าที่จะกล่าวถึงว่าการแปลงร่างแข็งเกร็งเป็นชุดย่อยของการแปลงเลียนแบบและการเปลี่ยนเลียนแบบเป็นส่วนย่อยของการเปลี่ยนมุมมอง
user1118321

ฉันอ่านมันซ้ำ ๆ ไปเรื่อย ๆ ทุกครั้งและฉันก็ไม่สามารถบอกได้เลย แต่ฉันอาจมีการเปลี่ยนแปลงที่อธิบายอย่างผิด ๆ Skews กำลังสับสน หากใครเห็นสิ่งนี้และต้องการไปแก้ไขโปรดช่วยชี้แจงส่วนนั้น!
luser droog
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.