Git Product home page Git Product logo

rotation-operator-toy-example's Introduction

Rotation operator toy example

License: MIT
This project implements rotating a point cloud by randomly generating a rotation angle and unit vector.
I have implemented a rotation matrix and a quaternion, respectively, and visualized the results.

Preliminary knowledge

Given a rotation angle $\phi$ and a rotation vector (unit vector) $\vec{u}$ as input,
the following formulas can be utilized to implement a rotation matrix and a quaternion, respectively.

Given input point cloud of $x$, applying the rotation operator to each of them gives the following representation.

Rotation matrix

$$ R = exp([ \phi \cdot \vec{u} ]_{\times}) $$

$$ x' = R x $$

Quaternion

$$ q = exp( \phi \cdot \vec{u} / 2) $$

$$ x' = q \otimes x \otimes q^* $$

How to start

Refer to requirements.txt to setup the dependencies and execute the code like below.
I tested this on ubuntu 18.04.

python main.py --input_path ./bunny.ply

Result

Rotation matrix result

Quaternion result

Reference

  • Sola, Joan. "Quaternion kinematics for the error-state Kalman filter." arXiv preprint arXiv:1711.02508 (2017).
  • Tricks to do annotation : isl-org/Open3D#2

rotation-operator-toy-example's People

Contributors

taeyoung96 avatar

Stargazers

 avatar Lee Jaewon avatar Yonghye Kwon avatar Pclin avatar Juwon Kim avatar  avatar Kevin Jung avatar liang avatar Yoon, Seungje avatar Tomato1107 avatar Giseop Kim avatar

Watchers

Giseop Kim avatar  avatar

rotation-operator-toy-example's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.