🔏
PexpA
  • Home
  • Knowledge
    • Design Pattern
    • RxJS
    • Computer Graphics
      • Phép biến đổi hình học
    • Javascript
      • Generator function và Yield trong javascript
      • Asynchronous và Synchronous
    • GraphQL
      • Core Concepts
      • Xây dựng GraphQL sử dụng NodeJS
    • Analysis and System Design
    • SEO
    • Database
      • NoSQL
        • MongoDB
      • SQL
    • ReactJS
      • React Fragment
      • Lifecycle trong component
      • HOCs
      • What is Ref ?
      • Context API
      • React Hooks
        • useState Hook
        • useEffect Hook
        • useLayoutEffect Hook
        • Khi nào dùng useLayoutEffect và useEffect
        • useContext Hook
        • useReducer Hook
        • useCallback Hook
        • useMemo Hook
        • useRef Hook
        • Building Your Own Hooks
      • Redux
    • React Native
      • Animations
    • Angular
    • Python
      • Object Oriented Programming
      • Decorator
      • Multi Threading
      • Generators
      • Iterators
    • Java
    • Blockchain
      • Ethereum Development Overview
      • Solidity Document
      • JSON RPC Protocol
  • Package
    • React Router V4
    • API Documentation
      • API Blueprint
      • Swagger
    • Lazyload image
    • React Helmet
    • React Spring
    • React Apollo
    • ImmerJS
    • Styled components
  • Experience
    • Sử dụng Latex trên VSCode
    • Linked List in C++
    • How to using Date, Time, TimeStamp for Java to connect Database
    • Pass props to a component rendered by React Router v4
    • Forking Workflow
  • Deploy
    • Heroku
      • How to deploy React App with Express
      • How to deploy React App with Python
      • How to deploy React App with Java
  • About me
Powered by GitBook
On this page
  • Thực hiện vector tịnh tiến
  • Quay góc xung quanh B
  • Quay xung quanh một góc
  • Giá trị tỷ lệ từ B theo

Was this helpful?

  1. Knowledge
  2. Computer Graphics

Phép biến đổi hình học

Điểm A

Vector tịnh tiến

Chuyển trí theo ma trận

Ta có ma trận điểm A=[−321] A = \begin{bmatrix}-3 & 2 & 1 \end{bmatrix} A=[−3​2​1​]

Thực hiện vector tịnh tiến

[100010231]\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1&0 \\ 2 & 3 & 1 \end{bmatrix}​102​013​001​​

Khi đó điểm A1 A_1 A1​của phép tịnh tiến điểm A A A là

A1=[−321][100010231]=[−151] A_1 = \begin{bmatrix}-3 &2&1 \end{bmatrix}\begin{bmatrix} 1&0&0\\0&1&0\\2&3&1\end{bmatrix} = \begin{bmatrix} -1&5 &1\end{bmatrix}A1​=[−3​2​1​]​102​013​001​​=[−1​5​1​]

Quay góc 60060^0600 xung quanh B

Ta có B=[−151]≡A1 B = \begin{bmatrix} -1 &5 & 1 \end{bmatrix} \equiv A_1B=[−1​5​1​]≡A1​ do đó A1 A_1 A1​quay quanh chính nó nên không có ma trận phép quay

Quay A1A_1A1​ xung quanh AAA một góc 60o60^o60o

bây giờ ta sẽ thực hiện liên tiếp các phép biến đổi

  • Ma trận tịnh tiến để dịch chuyển tâm quay về gốc tọa độ

  • Thực phiện ma trận quanh

  • Ma trận tịnh tiến để đưa tâm quay về vị trí cũ

Ta có ma trận của phép biến đổi

[1000103−21][cos(60o)sin(60o)0−sin(60o)cos(60o)0001][100010−321]\begin{bmatrix} 1 &0&0\\0&1&0 \\ 3 & -2 &1\end{bmatrix}\begin{bmatrix} cos(60^o) & sin(60^o) & 0\\ -sin(60^o) & cos(60^o) & 0 \\ 0 &0 & 1\end{bmatrix}\begin{bmatrix} 1 &0&0\\0&1&0 \\ -3 & 2 &1\end{bmatrix}​103​01−2​001​​​cos(60o)−sin(60o)0​sin(60o)cos(60o)0​001​​​10−3​012​001​​

Rút gọn ma trận ta có

[12320−3212023−3233+221]\begin{bmatrix} \frac{1}{2}& \frac{\sqrt{3}}{2} &0 \\ -\frac{\sqrt{3}}{2}& \frac{1}{2} &0 \\ \frac{2\sqrt{3}-3}{2} & \frac{3\sqrt{3}+2}{2} &1 \end{bmatrix}​21​−23​​223​−3​​23​​21​233​+2​​001​​

Do đó ta có điểm A2=[−151][12320−3212023−3233+221]=[−33−4223+721]A_2 = \begin{bmatrix} -1&5 &1\end{bmatrix} \begin{bmatrix} \frac{1}{2}& \frac{\sqrt{3}}{2} &0 \\ -\frac{\sqrt{3}}{2}& \frac{1}{2} &0 \\ \frac{2\sqrt{3}-3}{2} & \frac{3\sqrt{3}+2}{2} &1 \end{bmatrix} = \begin{bmatrix} \frac{ -3\sqrt{3} - 4 }{2} &\frac{ 2\sqrt{3} + 7 }{2} &1 \end{bmatrix} A2​=[−1​5​1​]​21​−23​​223​−3​​23​​21​233​+2​​001​​=[2−33​−4​​223​+7​​1​]

Giá trị tỷ lệ từ B theo (x,y)(x,y)(x,y)

Ta có liên tiếp các phép biến đổi

  • Tịnh tiến điểm B về gốc tọa độ

  • Tỷ lệ theo điểm B

  • Tịnh tiến điểm B về vị trí cũ

Ta có ma trận phép biến đổi

[1000101−51][−200000001][100010−151]\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 &0\\ 1 & -5 & 1 \end{bmatrix}\begin{bmatrix} -2 & 0 & 0 \\ 0 & 0 &0\\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 &0\\ -1 & 5 & 1 \end{bmatrix}​101​01−5​001​​​−200​000​001​​​10−1​015​001​​

Rút gọn ma trận ta có

[−200000−351]\begin{bmatrix}-2 & 0 & 0 \\ 0 &0&0\\-3&5&1 \end{bmatrix}​−20−3​005​001​​

Vậy ta có điểm A2=[−33−4223+721][−200000−351]=[33+151] A_2 = \begin{bmatrix} \frac{ -3\sqrt{3} - 4 }{2} &\frac{ 2\sqrt{3} + 7 }{2} &1 \end{bmatrix} \begin{bmatrix}-2 & 0 & 0 \\ 0 &0&0\\-3&5&1 \end{bmatrix} = \begin{bmatrix}3\sqrt{3} + 1 & 5&1 \end{bmatrix}A2​=[2−33​−4​​223​+7​​1​]​−20−3​005​001​​=[33​+1​5​1​]

PreviousComputer GraphicsNextJavascript

Last updated 4 years ago

Was this helpful?

Quay góc quanh B

Giá trị tỉ lệ từ B theo

60o 60^o 60o
(x,y) (x,y)(x,y)
(−3,2) (-3,2)(−3,2)
(2,3)(2,3)(2,3)
(−1,5)(-1,5)(−1,5)
[cos(60o)sin(60o)−sin(60o)cos(60o)] \begin{bmatrix} cos(60^o) & sin(60^o) \\ -sin(60^o) & cos(60^o) \end{bmatrix}[cos(60o)−sin(60o)​sin(60o)cos(60o)​]
(−2,0)(-2,0)(−2,0)