# DMPlexComputeProjection3Dto1D
Rewrite coordinates to be the 1D projection of the 3D coordinates 
## Synopsis
```
#include "petscdmplex.h"   
#include "petscfe.h"       
PetscErrorCode DMPlexComputeProjection3Dto1D(PetscScalar coords[], PetscReal R[])
```
Not collective


## Input/Output Parameter

- ***coords -*** The coordinates of a segment; on output, the new y-coordinate, and 0 for x and z



## Output Parameter

- ***R -*** The rotation which accomplishes the projection


Note: This uses the basis completion described by Frisvad in http://www.imm.dtu.dk/~jerf/papers/abstracts/onb.html, DOI:10.1080/2165347X.2012.689606




## See Also
 `DMPlexComputeProjection2Dto1D()`, `DMPlexComputeProjection3Dto2D()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexgeometry.c.html#DMPlexComputeProjection3Dto1D">src/dm/impls/plex/plexgeometry.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexgeometry.c)


[Index of all DMPlex routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
