Utility functions for planes, which are represented as a list of four real values (the A, B, C and D coeffecients).

This interface does not create database planes. Use the pw::Plane interface to create a database plane.

Summary

pwu:: | Utility functions for planes, which are represented as a list of four real values (the A, B, C and D coeffecients). |

Static Actions | |

set | Return a plane with the given settings |

equation | Get the plane coefficients in a list |

a | Get the A plane coefficient |

b | Get the B plane coefficient |

c | Get the C plane coefficient |

d | Get the D plane coefficient |

normal | Get the normal vector of a plane |

constant | Get the plane constant (D coefficient) |

inHalfSpace | Check if the vector point is in the positive half space of the given plane |

distance | Get the distance from a vector point to the given plane |

line | Get the intersection of a line and a given plane |

segment | Get the intersection of a segment and a given plane |

project | Get the closest point projection of a point onto a given plane |

pwu::Plane set < coeffs | normal origin | p1 p2 p3 | A B C D >

Return a plane with the given settings

coeffs | a list of A, B, C and D coefficients |

normal | the normal of the plane |

origin | the origin of the plane |

p1 | a point that the plane passes through |

p2 | a point that the plane passes through |

p3 | a point that the plane passes through |

A | the A plane coefficient |

B | the B plane coefficient |

C | the C plane coefficient |

D | the D plane coefficient |

a plane

pwu::Plane line ?-intersect intersectVar? plane origin dir

Get the intersection of a line and a given plane

plane | the plane |

origin | the origin of the line |

dir | the direction of the line |

intersetVar | a variable name to receive a boolean value if the intersection actually occured |

the intersection point, or zero vector if failure

pwu::Plane segment ?-intersect intersectVar? plane pt1 pt2

Get the intersection of a segment and a given plane

plane | the plane |

pt1 | the start of the segment |

pt2 | the end of the segment |

intersetVar | a variable name to receive a boolean value if the intersection actually occured |

the intersection point

Return a plane with the given settings

pwu::Plane set < coeffs | normal origin | p1 p2 p3 | A B C D >

Get the plane coefficients in a list

pwu::Plane equation plane

Get the A plane coefficient

pwu::Plane a plane

Get the B plane coefficient

pwu::Plane b plane

Get the C plane coefficient

pwu::Plane c plane

Get the D plane coefficient

pwu::Plane d plane

Get the normal vector of a plane

pwu::Plane normal plane

Get the plane constant (D coefficient)

pwu::Plane constant plane

Check if the vector point is in the positive half space of the given plane

pwu::Plane inHalfSpace plane vec

Get the distance from a vector point to the given plane

pwu::Plane distance plane vec

Get the intersection of a line and a given plane

pwu::Plane line ?-intersect intersectVar? plane origin dir

Get the intersection of a segment and a given plane

pwu::Plane segment ?-intersect intersectVar? plane pt1 pt2

Get the closest point projection of a point onto a given plane

pwu::Plane project point