1 / 18

THREE-DIMENSIONAL GEOMETRIC

THREE-DIMENSIONAL GEOMETRIC. VUP. z. y. x. VUP. V. z. U. VPN. VRP. y. COP. x. การสร้าง Eye Coordinate System ได้จากการใช้คุณสมบัติของ Vector. V = VUP – (VUP.VPN)VPN. ได้ vector v ตั้งฉากกับ vpn. U = VPN x V. ได้ vector u ตั้งฉากกับ vpn และ v. y. y. การ Rotate แกน

mark-wood
Download Presentation

THREE-DIMENSIONAL GEOMETRIC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. THREE-DIMENSIONAL GEOMETRIC

  2. VUP z y x

  3. VUP V z U VPN VRP y COP x การสร้าง Eye Coordinate System ได้จากการใช้คุณสมบัติของ Vector V = VUP – (VUP.VPN)VPN ได้ vector v ตั้งฉากกับ vpn U = VPN x V ได้ vector u ตั้งฉากกับ vpn และ v

  4. y y การ Rotate แกน ใช้ Unit Vector โดยแทนใน column ของ x และ y Y’ (3,3) x (1,1) x (1,-1) (2,-2) x’ Cos 45 sin 45 0 -sin 45 cos 45 0 0 0 1 Vector แกน y’ = [2 2], Unit Vector = [ 11] 2 2 Vector แกน x’ = [1 -1], Unit Vector = [ 1 -1] 2 2 1 1 0 2 2 -1 1 0 2 2 0 0 1 1 1 0 2 2 -1 1 0 2 2 0 0 1

  5. V z U VPN VRP y COP x การ transform จาก Right hand -> Left hand ใช้ unit vector ของ u, v , vpn u[x] v[x] -vpn[x] 0 u[y] v[y] -vpn[y] 0 u[z] v[z] -vpn[z] 0 0 0 0 1

  6. การ transform จาก Left-hand coordinate ไปสู่ Right-hand coordinate มีอยู่ 3 ขั้นตอน 1.จุดกำเนิดของ eye coordinate system, the cop translate มาที่จุด (0,0,0) ของ World coordinate system 1 0 0 1 0 1 0 0 0 0 1 0 -(vrp(x)+cop(x) -(vrp(y)+cop(y) -(vrp(z)+cop(z)) 1 T = V z U VPN y COP VRP x

  7. 2. ทำการ Rotate โดย a. ให้แกน u ขนานกับแกน x ใน World Coordinate b. ให้แกน v ขนานกับแกน y ใน World Coordinate c. ให้แกน vpn ขนานกับแกน –z ใน World Coordinate u[x] v[x] -vpn[x] 0 u[y] v[y] -vpn[y] 0 u[z] v[z] -vpn[z] 0 0 0 0 1 y V z U x VPN

  8. y z x

  9. 3. นำค่าลบในแกน vpn ทิศทางของ z ที่เป็นบวกใน screen โดย reflection กับแกน z VRP = View reference point VPN = View Plane Normal VUP = View Up COP = Center of Projection • 0 0 0 • 0 1 0 0 • 0 0 -1 0 • 0 0 0 1 VUP z VPN y VRP COP x

  10. VUP V z U VPN VRP y COP x กำหนด VRP จากนั้นกำหนด direction ของหน้าต่างคือ VPN และกำหนด direction ของศีรษะคนคือ VUP จาก VPN & VUP ได้ Vector V จาก VPN & V ได้ Vector U ซึ่ง VPN เปรียบเสมือน axis Z ใน eye coordinate V Y U X

  11. Ex จากจุดยอดสี่เหลี่ยมใน World Coordinate มีจุด A(10,10,10),B(50,10,10),C(10,50,10) และ D(50,50,10) จงคำนวณหาจุดยอดใหม่ใน left-hand coordinate V กำหนด COP = (0,0,1), VRP = (0,0,5) VPN = [0 0 5], VUP = [0 1 0] VUP y VPN z COP VRP U V = VUP – (VUP.VPN)VPN = [0 1 0] – [0 0 0] = [0 1 0] x U = VPN x V= i j k 0 0 1 0 1 0 = [ -1 0 0 ]

  12. V = [0 1 0], U = [-1 0 0], VPN = [0 0 1] 1 0 0 1 0 1 0 0 0 0 1 0 -(vrp(x)+cop(x) -(vrp(y)+cop(y) -(vrp(z)+cop(z)) 1 T = u[x] v[x] -vpn[x] 0 u[y] v[y] -vpn[y] 0 u[z] v[z] -vpn[z] 0 0 0 0 1 • 0 0 0 • 0 1 0 0 • 0 0 1 0 • 0 0 -6 1 T = R = -1 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 1 R = Ch =

  13. -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Rot = R x Ch = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -6 1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 -6 1 T x Rot = = -1 0 0 0 0 1 0 0 0 0 1 0 0 0 -6 1 = [-10 10 4 1] A’ = AxTxRot = [10 10 10 1] = [-50 10 4 1] B’ = BxTxRot = [50 10 10 1] C’ = CxTxRot = [50 50 10 1] = [-50 50 4 1] D’ = DxTxRot = [10 50 10 1] = [-10 50 4 1]

  14. Projection 3D -> 2D A’, xp = 4 x –10 = -10, yp = 4 x 10 = 10 A’(-10,10) 4 4 B’, xp = 4 x –50 = -50, yp = 4 x 10 = 10 A’(-50,10) 4 4 C’, xp = 4 x –50 = -50, yp = 4 x 50 = 50 A’(-50,50) 4 4 D’, xp = 4 x –10 = -10, yp = 4 x 50 = 50 A’(-10,50) 4 4

  15. กำหนด COP = (40,200,30), VRP = (40,150,30) VPN = [0 –1 0], VUP = [0 0 1] z V x y VPN VRP COP U V = VUP – (VUP.VPN)VPN = [0 0 1] – [0 0 0] = [0 0 1] U = VPN x V= i j k 0 -1 0 0 0 1 = [ -1 0 0 ]

  16. V = [0 0 1], U = [-1 0 0], VPN = [0 -1 0] 1 0 0 1 0 1 0 0 0 0 1 0 -(vrp(x)+cop(x) -(vrp(y)+cop(y) -(vrp(z)+cop(z)) 1 T = u[x] v[x] -vpn[x] 0 u[y] v[y] -vpn[y] 0 u[z] v[z] -vpn[z] 0 0 0 0 1 • 0 0 0 • 0 1 0 0 • 0 0 1 0 • -80 -350 -60 1 T = R = -1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 1 R = Ch =

  17. -1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 1 Rot = R x Ch = 1 0 0 0 0 1 0 0 0 0 1 0 -80 –350 -60 1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -1 0 0 0 0 1 0 0 0 0 1 0 80 -350 -60 1 T x Rot = = = [ 80 -350 -60 1] -1 0 0 0 0 1 0 0 0 0 1 0 80 -350 -60 1 A’ = AxTxRot = [0 0 0 1] = [80 -250 -60 1] B’ = BxTxRot = [0 100 0 1] C’ = CxTxRot = [80 100 0 1] = [ 0 -250 -60 1] D’ = DxTxRot = [80 0 0 1] = [ 0 -350 -60 1] E’ = ExTxRot = [40 50 80 1] = [ 40 -300 20 1]

  18. Projection 3D -> 2D

More Related