# NoOverlap: Shift Symbols In GEOmap: Topographic and Geologic Mapping

## Description

Shift Symbols such that there is no overlap

## Usage

 `1` ```NoOverlap(x, y, focsiz, SEL = 0, OLDx = 0, OLDy = 0, cenx = 0, ceny = 0) ```

## Arguments

 `x` x-location `y` y-location `focsiz` symbol size `SEL` selection of which symbols to shift `OLDx` x-locations of origin `OLDy` y-locations of origin `cenx` center x `ceny` center y

## Details

Program is used for finding positions for exploding. A vector is dcalculated from each origin to each point and explosions are projected along these directions until a position is found that does not overlap. The position is nudged by a value of focsiz at each step. If OLDx and OLDy are not provided, cenx and ceny are used as origin points.

## Value

x,y list of new positions

## Author(s)

Jonathan M. Lees<[email protected]>

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45``` ``` draw.circ<-function (x, y, r, ...) { CI = RPMG::circle(1) for (i in 1:length(x)) { Cx = x[i] + r * CI\$x Cy = y[i] + r * CI\$y lines(c(Cx, Cx[1]), c(Cy, Cy[1]), type = "l", ...) } } x = rnorm(20) y = rnorm(20) rx = range(x) ry = range(y) drx = diff(rx) dry = diff(ry) XPCT=.2 rx = c(rx[1]-XPCT*drx, rx[2]+XPCT*drx) ry = c(ry[1]-XPCT*dry, ry[2]+XPCT*dry) plot(rx , ry , type='n', asp=1, xlab="km", ylab="km") u = par("usr") focsiz = 0.04* (u[2]-u[1]) draw.circ(x, y, focsiz, col='red') NXY = NoOverlap(x,y,focsiz) plot(rx , ry , type='n', asp=1, xlab="km", ylab="km") u = par("usr") focsiz = 0.04* (u[2]-u[1]) draw.circ(NXY\$x, NXY\$y, focsiz, col="blue" ) segments(x,y,NXY\$x, NXY\$y) ```