plane

3D Plane fitting algorithms

孤街浪徒 提交于 2019-12-02 19:50:32
So I'm working on a project where me and a buddy of mine scanned a room using the KINECTv2 and made a 3D model out of it. The goal is to make it possible to add 3d models of different kinds of furniture in real time. To that goal I'm trying out different plane-fitting algorithms in order to find wich one would work the fastest. Does anybody have any suggestions? So far I've only researched the usage of the basic RANSAC algorithm included in PCL. Two common approaches for plane fitting are RANSAC and Hough. Here's one performance comparison: https://www.researchgate.net/publication/259519997

Find OpenGL rotation matrix for a plane, given the normal vector after the rotation

主宰稳场 提交于 2019-12-02 19:37:39
Is there a way to obtain the matrix which rotates a plane to a new orientation, given its new normal vector The following image depicts what is described Given the old normal N and the new normal N' you can obtain the rotation by: RotationAxis = cross(N, N') RotationAngle = arccos(dot(N, N') / (|N| * |N'|)) Where cross(x, y) is the cross product of the vectors x and y dot(x, y) is the dot product of the vectors x and y |x| is the length of the vector x This will rotate the old normal onto the new one by the shortest way possible. Notes RotationAngle will be in radians (if arccos returns

3D line plane intersection, with simple plane

纵然是瞬间 提交于 2019-12-01 08:48:16
i have two points in 3D space which have X-coordinates with different signum. so one of them lies definitely on one side of the X-plane and one on the other. now i want to find the intersection of this plane and the line made up by the two points in the most simple and optimized way. i know how to do general line plane intersection, but since in this case the plane is just the x-plane, i think there should be some shortcuts i can take. thanks! Connect the two points and get the equation of line using two-point form (the 3D generalization is simple). Then solve the equation for x = 0. After you

3D line plane intersection, with simple plane

▼魔方 西西 提交于 2019-12-01 06:31:03
问题 i have two points in 3D space which have X-coordinates with different signum. so one of them lies definitely on one side of the X-plane and one on the other. now i want to find the intersection of this plane and the line made up by the two points in the most simple and optimized way. i know how to do general line plane intersection, but since in this case the plane is just the x-plane, i think there should be some shortcuts i can take. thanks! 回答1: Connect the two points and get the equation

Normal Vector of Three Points

a 夏天 提交于 2019-11-30 07:10:31
Hey math geeks, I've got a problem that's been stumping me for a while now. It's for a personal project. I've got three dots: red, green, and blue. They're positioned on a cardboard slip such that the red dot is in the lower left (0,0), the blue dot is in the lower right (1,0), and the green dot is in the upper left. Imagine stepping back and taking a picture of the card from an angle. If you were to find the center of each dot in the picture (let's say the units are pixels), how would you find the normal vector of the card's face in the picture (relative to the camera)? Now a few things I've

Rendering infinitely large plane

北慕城南 提交于 2019-11-30 03:43:20
I want to render a plane so that it looks as if it goes to infinity in all directions. I want the plane boundary in the distance to be the horizon. Using a simple mesh does not work - the computer can't render infinitely many triangles. Even if this was possible, the camera frustum would cut out the distant polygons and create a gap between the plane boundary and the horizon. A workaround is to compute the horizon mathematically: finding points on the plane, which also lie on the plane at infinity. Connecting these points and two corners of the viewport creates a trapezoid which represents the

Normal Vector of Three Points

余生颓废 提交于 2019-11-29 08:59:08
问题 Hey math geeks, I've got a problem that's been stumping me for a while now. It's for a personal project. I've got three dots: red, green, and blue. They're positioned on a cardboard slip such that the red dot is in the lower left (0,0), the blue dot is in the lower right (1,0), and the green dot is in the upper left. Imagine stepping back and taking a picture of the card from an angle. If you were to find the center of each dot in the picture (let's say the units are pixels), how would you

Fast plane fitting to many points

送分小仙女□ 提交于 2019-11-29 04:36:42
I'm looking to fit a plane to a set of ~ 6-10k 3D points. I'm looking to do this as fast as possible, and accuracy is not the highest concern (frankly the plane can be off by +-10 degrees in any of the cardinal axes). My current approach is to use best of best fit, but it's incredibly slow (I'm hoping to extract planes at a rate of about 10-50k times each time I run the algorithm, and at this rate it would finish in weeks, as opposed to hours) as it works on all possible combinations of 6000 points, so ~35,000,000,000 iterations, and frankly it has a much higher accuracy than I need. Does

Mapping coordinates from plane given by normal vector to XY plane

谁说我不能喝 提交于 2019-11-28 08:49:42
So, I have this algorithm to calculate cross-section of 3D shape with plane given with normal vector. However, my current problem is, that the cross-section is set of 3D points (all lying on that given plane) and to display it I need to map this coordinates to XY plane. This works perfect if the plane normal is something like (0,0,c) - I just copy x and y coordinates discarding z. And here is my question: Since I have no idea how to convert any other plain could anybody give me any hint as to what should I do now? Your pane is defined by a normal vector n=(xn,yn,zn) For coordination

Fast algorithm to find the x closest points to a given point on a plane

限于喜欢 提交于 2019-11-28 07:02:26
I would like to find a fast algorithm in order to find the x closest points to a given point on a plane. We are actually dealing with not too many points (between 1,000 and 100,000), but I need the x closest points for every of these points. (where x usually will be between 5 and 20.) I need to write it in C#. A bit more context about the use case: These points are coordinates on a map. (I know, this means we are not exactly talking about a plane, but I hope to avoid dealing with projection issues.) In the end points that have many other points close to them should be displayed in red, points