GithubHelp home page GithubHelp logo

yuanshengzhou / point_cloud_viewer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cartographer-project/point_cloud_viewer

0.0 0.0 0.0 2.62 MB

View billions of points in your browser.

License: Apache License 2.0

Shell 0.23% JavaScript 0.15% Rust 91.01% TypeScript 7.55% Makefile 0.02% HTML 0.33% GLSL 0.71%

point_cloud_viewer's Introduction

Point viewer

build status License

This is a standalone project to make viewing massive point clouds easy and convenient. It was build to serve the needs of the Cartographer project, but is useful in its own right.

Building

The project consist of a root crate that can build and read octrees on disk and viewer binaries to visualize the data. For Mac OS X, we assume below that you've installed Homebrew.

  • Install Rust: curl https://sh.rustup.rs -sSf | sh. See https://rustup.rs for details.
  • Initialize all submodules: git submodule update --init --recursive.

Creating Octrees

In the root of the repo, run cargo build --release. Then use target/release/build_octree to generate an octree out of a PLY file.

SDL client

This is a native client using SDL2.

  1. Install SDL2. For example, on Mac brew install sdl2.
  2. Change to the sdl viewer's directory: cd sdl_viewer/.
  3. Build with cargo build --release.
  4. Run with ../target/release/sdl_viewer <octree directory>.

In the point cloud viewer, navigate with the keyboard or with the mouse or touchpad. Dragging while pressing the left mouse button rotates, dragging while pressing the right mouse button pans the view. The following keys are bound:

Key Action
T Toggle the view to CT mode
W Move forward
A Move left
S Move backwards
D Move right
Q Move up
Z Move down
Up Turn up
Left Turn left
Down Turn down
Right Move right
0 Increase points size
9 Decrease points size
8 Brighten scene
7 Darken scene
O Show octree nodes
Shift + Ctrl + 0-9 Save current camera position.
Ctrl + 0-9 Load saved camera position.

Saved camera positions are persisted in the octree directory and will therefore live through restarts of the program.

Web Viewer

The octree_web_viewer consists of TypeScript code running in the browser and a web server binary.

To build and run the octree_web_viewer please look into the octree_web_viewer README file

Prior art

This work was inspired by the following projects.

point_cloud_viewer's People

Contributors

sirver avatar catevita avatar nnmm avatar krzesi-mir avatar ksavinash9 avatar dependabot[bot] avatar pdubroy avatar dudv avatar ljiang-lyft avatar linouk23 avatar michaelgrupp avatar akovalev avatar spielawa avatar negin-z avatar

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.