Grasshopper

generative modeling for Rhino

# Average Plane

Hi all,

A geometry question in case anyone had experience:

Is there such a mathematical definition of a plane that is an average of two planes.

The definition of such plane is simply an infinite 2D flat surface. Where sliding the plane on its own plane does not create any transformation. What I mean is whether a mean/average plane can be computed from 2 planes.

If we imagine two XY plane , one at Z=0 and the other at Z = 10.

The mean of that would of course be a XY plane at Z = 5

However, what if the two planes in concern are non parallel.

Cheers

Victor

Views: 329

### Replies to This Discussion

Interpolate the origin points and z-axes? It may spin the x and y axes, but it should be possible to get an average like that. If you also want to interpolate the x and y axes you'll need to add another interpolate component (see attached).

--

David Rutten

david@mcneel.com

Attachments:

Another approach, if you are looking for something looking like bisectrix for planes.

Attachments:

Simplified definition following Stan's ideas.

Attachments:

Average is ultimately about the relationships, therefore, with 2 non parallel planes, the interesting moment of their relationship occurs at the line that is defined by their intersection.   It seems the average of two planes would be simply a plane whose position is defined by the intersecting line of the two input planes and whose normal direction (rotation about the intersection line) is the defined by the bisection of the angle between the normals of the two input planes.

The way I see it:

A Plane can be defined by three points. So the Average of the equivalent point on each plane is the three input points to define the new average plane.

EDIT:

Same approach for multiple planes

Hi all,

Thank you for all input, I have tried all the proposed solutions, and I found that there are generally two types of solution:

1. Similar to David's Interpolate XY method and Danny's 3 point method.

2. Similar to David's Interpolate Z method, Systemig's Bisectrix method and Stan's description.

Interesting that the two interpolation generates different result sets, haven't thought about that before.

Method 2 is more straight forward to understand from real word undestanding about planes, method 1 is twisting more interestingly, though not what is commonly expected to perform.

Hi Victor,

I realize this is an old discussion, but it seemed an appropriate place to post this file in response to this discussion:

http://www.grasshopper3d.com/video/evolutionary-solver-finds-6-axis...

As you may have found with the other solutions, simply interpolating axes or points to get the orientation of your planes will give some strange results for large rotations.(because spatial rotations are not commutative - see http://en.wikipedia.org/wiki/SO(3))

Attachments: