geometry man page on Ubuntu

Man page or keyword search:  
man Server   6591 pages
apropos Keyword Search (all sections)
Output format
Ubuntu logo
[printable version]

math::geometry(3tcl)	       Tcl Math Library		  math::geometry(3tcl)

______________________________________________________________________________

NAME
       math::geometry - Geometrical computations

SYNOPSIS
       package require Tcl  ?8.3?

       package require math::geometry  ?1.0.3?

       ::math::geometry::angle line

       ::math::geometry::calculateDistanceToLine P line

       ::math::geometry::calculateDistanceToLineSegment P linesegment

       ::math::geometry::calculateDistanceToPolyline P polyline

       ::math::geometry::findClosestPointOnLine P line

       ::math::geometry::findClosestPointOnLineSegment P linesegment

       ::math::geometry::findClosestPointOnPolyline P polyline

       ::math::geometry::lengthOfPolyline polyline

       ::math::geometry::movePointInDirection P direction dist

       ::math::geometry::lineSegmentsIntersect linesegment1 linesegment2

       ::math::geometry::findLineSegmentIntersection linesegment1 linesegment2

       ::math::geometry::findLineIntersection line1 line2

       ::math::geometry::polylinesIntersect polyline1 polyline2

       ::math::geometry::polylinesBoundingIntersect polyline1 polyline2 granu‐
       larity

       ::math::geometry::intervalsOverlap y1 y2 y3 y4 strict

       ::math::geometry::rectanglesOverlap P1 P2 Q1 Q2 strict

       ::math::geometry::bbox polyline

       ::math::geometry::pointInsidePolygon P polyline

       ::math::geometry::rectangleInsidePolygon P1 P2 polyline

       ::math::geometry::areaPolygon polygon

_________________________________________________________________

DESCRIPTION
       The math::geometry package is a collection of  functions	 for  computa‐
       tions and manipulations on two-dimensional geometrical objects, such as
       points, lines and polygons.

       The geometrical objects are implemented as plain lists of  coordinates.
       For instance a line is defined by a list of four numbers, the x- and y-
       coordinate of a first point and the x- and y-coordinates	 of  a	second
       point on the line.

       The  various types of object are recognised by the number of coordinate
       pairs and the context in which they are used: a list of	four  elements
       can  be regarded as an infinite line, a finite line segment but also as
       a polyline of one segment and a point set of two points.

       Currently the following types of objects are distinguished:

       ·      point - a list of two coordinates representing  the  x-  and  y-
	      coordinates respectively.

       ·      line  - a list of four coordinates, interpreted as the x- and y-
	      coordinates of two distinct points on the line.

       ·      line segment - a list of four coordinates, interpreted as the x-
	      and  y-coordinates  of the first and the last points on the line
	      segment.

       ·      polyline - a list of an even number of coordinates,  interpreted
	      as the x- and y-coordinates of an ordered set of points.

       ·      polygon  -  like a polyline, but the implicit assumption is that
	      the polyline is closed (if the first  and	 last  points  do  not
	      coincide, the missing segment is automatically added).

       ·      point  set  - again a list of an even number of coordinates, but
	      the points are regarded without any ordering.

PROCEDURES
       The package defines the following public procedures:

       ::math::geometry::angle line
	      Calculate the angle from the positive x-axis to a given line (in
	      two dimensions only).

	      list line
		     Coordinates of the line

       ::math::geometry::calculateDistanceToLine P line
	      Calculate	 the  distance	of  point P to the (infinite) line and
	      return the result

	      list P List of two numbers, the coordinates of the point

	      list line
		     List of four numbers, the coordinates of  two  points  on
		     the line

       ::math::geometry::calculateDistanceToLineSegment P linesegment
	      Calculate	 the  distance of point P to the (finite) line segment
	      and return the result.

	      list P List of two numbers, the coordinates of the point

	      list linesegment
		     List of four numbers, the coordinates of  the  first  and
		     last points of the line segment

       ::math::geometry::calculateDistanceToPolyline P polyline
	      Calculate the distance of point P to the polyline and return the
	      result.

	      list P List of two numbers, the coordinates of the point

	      list polyline
		     List of numbers, the coordinates of the vertices  of  the
		     polyline

       ::math::geometry::findClosestPointOnLine P line
	      Return the point on a line which is closest to a given point.

	      list P List of two numbers, the coordinates of the point

	      list line
		     List  of  four  numbers, the coordinates of two points on
		     the line

       ::math::geometry::findClosestPointOnLineSegment P linesegment
	      Return the point on a line segment which is closest to  a	 given
	      point.

	      list P List of two numbers, the coordinates of the point

	      list linesegment
		     List  of  four  numbers, the first and last points on the
		     line segment

       ::math::geometry::findClosestPointOnPolyline P polyline
	      Return the point on a polyline  which  is	 closest  to  a	 given
	      point.

	      list P List of two numbers, the coordinates of the point

	      list polyline
		     List of numbers, the vertices of the polyline

       ::math::geometry::lengthOfPolyline polyline
	      Return  the  length  of the polyline (note: it not regarded as a
	      polygon)

	      list polyline
		     List of numbers, the vertices of the polyline

       ::math::geometry::movePointInDirection P direction dist
	      Move a point over a given distance  in  a	 given	direction  and
	      return the new coordinates (in two dimensions only).

	      list P Coordinates of the point to be moved

	      double direction
		     Direction (in degrees; 0 is to the right, 90 upwards)

	      list dist
		     Distance over which to move the point

       ::math::geometry::lineSegmentsIntersect linesegment1 linesegment2
	      Check  if	 two line segments intersect or coincide. Returns 1 if
	      that is the case, 0 otherwise (in two dimensions only).

	      list linesegment1
		     First line segment

	      list linesegment2
		     Second line segment

       ::math::geometry::findLineSegmentIntersection linesegment1 linesegment2
	      Find the intersection point of two  line	segments.  Return  the
	      coordinates  or  the keywords "coincident" or "none" if the line
	      segments coincide or have no points in common (in two dimensions
	      only).

	      list linesegment1
		     First line segment

	      list linesegment2
		     Second line segment

       ::math::geometry::findLineIntersection line1 line2
	      Find  the intersection point of two (infinite) lines. Return the
	      coordinates or the keywords "coincident" or "none" if the	 lines
	      coincide or have no points in common (in two dimensions only).

	      list line1
		     First line

	      list line2
		     Second line

       ::math::geometry::polylinesIntersect polyline1 polyline2
	      Check  if	 two  polylines	 intersect  or	not (in two dimensions
	      only).

	      list polyline1
		     First polyline

	      list polyline2
		     Second polyline

       ::math::geometry::polylinesBoundingIntersect polyline1 polyline2 granu‐
       larity
	      Check  whether  two polylines intersect, but reduce the correct‐
	      ness of the result to  the  given	 granularity.	Use  this  for
	      faster, but weaker, intersection checking.

	      How it works:

	      Each  polyline is split into a number of smaller polylines, con‐
	      sisting of granularity points each. If a pair of	those  smaller
	      lines'  bounding boxes intersect, then this procedure returns 1,
	      otherwise it returns 0.

	      list polyline1
		     First polyline

	      list polyline2
		     Second polyline

	      int granularity
		     Number of points in each  part  (<=1  means  check	 every
		     edge)

       ::math::geometry::intervalsOverlap y1 y2 y3 y4 strict
	      Check if two intervals overlap.

	      double y1,y2
		     Begin and end of first interval

	      double y3,y4
		     Begin and end of second interval

	      logical strict
		     Check for strict or non-strict overlap

       ::math::geometry::rectanglesOverlap P1 P2 Q1 Q2 strict
	      Check if two rectangles overlap.

	      list P1
		     upper-left corner of the first rectangle

	      list P2
		     lower-right corner of the first rectangle

	      list Q1
		     upper-left corner of the second rectangle

	      list Q2
		     lower-right corner of the second rectangle

	      list strict
		     choosing strict or non-strict interpretation

       ::math::geometry::bbox polyline
	      Calculate the bounding box of a polyline. Returns a list of four
	      coordinates: the upper-left and the lower-right  corner  of  the
	      box.

	      list polyline
		     The polyline to be examined

       ::math::geometry::pointInsidePolygon P polyline
	      Determine	 if  a	point  is  completely inside a polygon. If the
	      point touches the polygon, then  the  point  is  not  completely
	      inside the polygon.

	      list P Coordinates of the point

	      list polyline
		     The polyline to be examined

       ::math::geometry::rectangleInsidePolygon P1 P2 polyline
	      Determine	 if  a	rectangle  is  completely inside a polygon. If
	      polygon touches the rectangle, then the rectangle	 is  not  com‐
	      plete inside the polygon.

	      list P1
		     Upper-left corner of the rectangle

	      list P2
		     Lower-right corner of the rectangle

	      list polygon
		     The polygon in question

       ::math::geometry::areaPolygon polygon
	      Calculate the area of a polygon.

	      list polygon
		     The polygon in question

BUGS, IDEAS, FEEDBACK
       This  document,	and the package it describes, will undoubtedly contain
       bugs and other problems.	 Please report such in the  category  math  ::
       geometry	    of	   the	   Tcllib    SF	   Trackers    [http://source‐
       forge.net/tracker/?group_id=12883].  Please also report any  ideas  for
       enhancements you may have for either package and/or documentation.

KEYWORDS
       angle, distance, line, math, plane geometry, point

CATEGORY
       Mathematics

COPYRIGHT
       Copyright (c) 2004 by Ideogramic ApS and other parties

math				     1.0.3		  math::geometry(3tcl)
[top]

List of man pages available for Ubuntu

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net