Comments (6)
Sounds like a good idea. Will take some time, though.
from potreeconverter.
Hi,
I try to figure out how to update the octree, but the first thing I must to understand is cloud.js file, i know that you use index of bbox vertices to indice child node but i dont understand why they do not start with 0 (root). By ex, what does this mean r620020 ? is it a nested octree which start from 6th level?
Otherwise, i try to understand how you create the octree, did you use top-down to create leafs, then bottum-up to creat LOD?
Thank very much!
from potreeconverter.
The numbers indicte the index of the child at level x.
r: root node
r0: first child of the root node
r6: seventh child of the root node
r62: third child of r6
and so on
To create the octree, you first specify the bounding box and the depth.
Then, points are added to the octree. When a point is added, it is checked if it can be added to the root node without being too close to one of the other points inside the root node(spacing). If it's too close, it'll be added to one of the children of the root node, depending on it's location. This check is then repeated down to the leaf until a node is found where that point can be added.
All of this happens in the PotreeWriter class.
For incremental conversion, there needs to be a function that can resize the octree and reorders the points accordingly.
from potreeconverter.
Thank you, it's more clear for me!
Other questions: what's happenning if new comming point does not touch to any node because of check condition of maxLevel and spacing? is it taken into account some where in octree?
do you know a good fucntion to compute the spacing according to point density and maxLevel?
from potreeconverter.
Other questions: what's happenning if new comming point does not touch to any node because of check condition of maxLevel and spacing? is it taken into account some where in octree?
In that case, the point is discarded.
do you know a good fucntion to compute the spacing according to point density and maxLevel?
Not yet but if you've got good ideas, tell me! One thing that came to mind is to automatically calculate the spacing according to the volume and if it turns out that the spacing is too small or too big, then all existing octree nodes can be split or merged and the points reordered.
from potreeconverter.
I've created a new issue for this since it is becomming a high priority issue:
#138
from potreeconverter.
Related Issues (20)
- unable to build PotreeConverter 2.1.1 in Ubuntu 22.04.2 LTS HOT 1
- How do I scale in 2.x?
- PotreeConverter.exe: slow output HOT 1
- Removed duplicated points are still included metadata
- PotreeConverter doesn't get past displaying a number of threads
- Converter Manual Testing Not Working/Picking Up Points HOT 1
- -- help & conversion progress
- Title converse
- type_error: [json.exception.type_error.302] type must be number, but is null HOT 4
- New single-file Potree format HOT 1
- Cannot load exported .dxf files into Civil 3D
- Stopping after creating chunks
- HTML page converted looks different in anything that is not chrome HOT 1
- Exit with code 3221225477 when Poisson-disk sampling
- Potree Converter not working with latest Potree Release HOT 1
- Issue While Building Potree 1.6 in Ubuntu 22.04 jammy version HOT 1
- 使用PotreeConverter_windows_x64转换成功后的点云无法显示
- the program is not recognized HOT 1
- Large Conversion Crashes at 100% - Not Duplicate Related HOT 2
- Converting coordinates after setting position of pointcloud to (0, 0, 0)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from potreeconverter.