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


21

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

คำตอบ:


23

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

[x′y′]=[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'=a⋅x+ค⋅Y+อีY'=ข⋅x+d⋅Y+ฉ

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

[x′y′1]=[xy1]⋅[ab0cd0ef1]

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

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

[x″y″1]=([xy1]⋅[ab0cd0ef1])⋅[gh0ij0km1]=[a⋅x+c⋅y+eb⋅x+d⋅y+f1]⋅[gh0ij0km1]=[g(a⋅x+c⋅y+e)+i(b⋅x+d⋅y+f)+kh(a⋅x+c⋅y+e)+j(b⋅x+d⋅y+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.