rslt ← {c←1} ##.kball p ⍝ Relationship between point and k-ball. Supplied by Steve Mansour, this function determines the relationship between a point and a k-ball. For background, see Steve's paper Arithmetic Boundary Check- ing [abc]. For k=1, this is a line segment k=2, this is a circle k=3, this is a sphere k=4, this is a hypersphere, etc. c: Left argument is a scalar or vector First item of c is the radius Remaining items are the coordinates of the center (default is origin) If left argument is not specified, it represents the unit ball centered at the origin. p: Vector or matrix If p is a k-vector it is the coordinates of a point in k-space If p is a k×n matrix, each column represents the coordinates of a point rslt: A scalar or vector of length n corresponding to the rows of p indicating the region to which it belongs as indicated in the diagram below: ┌───────────────────────────────────────────────────────────────────────┐ │ │ │ Outside (1) │ │ * * * │ │ Boundary (0) │ │ * * | │ │ ∨ │ │ * * │ │ │ │ │ │ * * │ │ │ │ r │ │ *<----------------->* * │ │ c │ │ │ │ * * │ │ Interior (-1) │ │ │ │ * * │ │ │ │ * * │ │ │ │ * * * │ │ │ │ │ └───────────────────────────────────────────────────────────────────────┘ Examples: 5 kball 2 3 ⍝ Inside the circle. ¯1 5 kball 3 4 ⍝ On the boundary. 0 5 kball 5 6 ⍝ Outside the circle. 1 5 1 2 kball 2 3, 4 6, ⍪9 9 ⍝ Radius 5; center at (1,2). ¯1 0 1 13 kball 5 6 7 ⍝ Inside the sphere. ¯1 13 kball 3 4 12 ⍝ On the surface. 0 13 kball 6 8 12 ⍝ Outside the sphere. 1 See also: abc kcell ksphere Back to: contents Back to: Workspaces