0

Question

How can I optimally get the list of vertices for the 3d shape (a convex hull) formed by a set of intersecting planes in 3d space that contains all feasible solutions. Assuming that a 3d shape is formed by the intersection of the planes?

Is there a name for the algorithm I'm seeking for? My background in this problem space is not very good and a nudge in the right direction would satisfy as an answer.

Background

I have a list of planes in the form of A, B, C, d that follow the form Ax + By + Cz - d = 0 and I want to determine the list of vertices formed by the intersection of the planes (-d for the sake of implementation details, I don't want the minus sign to be absorbed as part of the constant). Once I have a good solution I want to create a program for it.

Plane Data

1, 0, 0, 3.3927

1, 0, 0, -3.5354

0, 1, 0, -1.8034

0, 1, 0, 5.1248

0, 0, 1, 0.8506

0, 0, 1, 2.3506

Visualization of planes

Attempt

My intuition tells me that I should determine plane, plane intersection -> line, line intersection -> point, for every plane intersection, but I feel as if this is just the naive/brute force way of doing what I need. Is there perhaps a faster way or a specific algorithm of doing this especially as the number of planes approaches 10, 100, ..., n planes? reference: https://math.stackexchange.com/questions/475953/how-to-calculate-the-intersection-of-two-planes

My googling so far has led me to think about using Cramer's rule, to help the issue with a more general solution, but it seems rather iterative because I can't just put in all 6 planes in at the same time. At a glance it seems I would have to do some sorting to get the list of planes that intersect with each other. The other thing is that Cramer's rule breaks down a bit and I would have to do a lot of edge case catching to ensure that I can get things working, EX: if I have two planes in 3d space. reference: https://github.com/guiriosoficial/CramersRule

0 Answers0