Mapping morphological convergence on 3D surfaces

View source: R/

conv.mapR Documentation

Mapping morphological convergence on 3D surfaces


Given vectors of RW (or PC) scores, the function selects the RW(PC) axes which best account for convergence and maps convergent areas on the corresponding 3D surfaces.

Usage,pcs,mshape,conv=NULL, exclude=NULL,out.rem=TRUE,
  show.consensus=FALSE, plot=TRUE,col="blue",names = TRUE)



data frame (or matrix) with the RW (or PC) scores of the group or species to be compared.


RW (or PC) vectors (eigenvectors of the covariance matrix) of all the samples.


the Consensus configuration.


a named character vector indicating convergent species as (indicated as "conv" in dataset) and not convergent species (indicated as "noconv").


integer: the index number of the RW (or PC) to be excluded from the comparison.


logical: if TRUE triangles with outlying area difference are removed.


logical: if TRUE, the Consensus configuration is included in the comparison.


logical: if TRUE, the pairwise comparisons are be plotted. For more than 5 pairwise comparisons, the plot is not shown.


character: the colour for the plot.


logical: if TRUE, the names of the groups or species are displayed in the 3d plot.

Details automatically builds a 3D mesh on the mean shape calculated from the Relative Warp Analysis (RWA) or Principal Component Analysis (PCA) (Schlager 2017) by applying the function vcgBallPivoting (Rvcg). further gives the opportunity to exclude some RW (or PC) axes from the analysis because, for example, in most cases the first axes are mainly related to high-order morphological differences driven by phylogeny and size variations. finds and plots the strength of convergence on 3D surfaces. An output of (if the dataset contains a number equal or lower then 5 items) is an interactive plot mapping the convergence on the 3D models. In the upper triangle of the 3D multiple layouts the rows representing the reference models and the columns the target models. On the contrary, on the lower triangle the rows correspond to the target models and the columns the reference models. In the calculation of the differences of areas we supply the possibility to find and remove outliers from the vectors of areas calculated on the reference and target surfaces. We suggest considering this possibility if the mesh may contain degenerate facets.


The function returns a list including:

  • $ data frame including the real angles between the given shape vectors, the angles conv computed between vectors of the selected RWs (or PCs), the angles between vectors of the non-selected RWs (or PCs), the difference conv, and its p values.

  • $selected.pcs RWs (or PCs) axes selected for convergence.

  • $average.dist symmetric matrix of pairwise distances between 3D surfaces.

  • $suface1 list of coloured surfaces, if two meshes are given, it represents convergence between mesh A and B charted on mesh A.

  • $suface2 list of coloured surfaces, if two meshes are given, it represents convergence between mesh A and B charted on mesh B.

  • $scale the value used to set the colour gradient, computed as the maximum of all differences between each surface and the mean shape.


Marina Melchionna, Antonio Profico, Silvia Castiglione, Carmela Serio, Gabriele Sansalone, Pasquale Raia


Schlager, S. (2017). Morpho and Rvcg–Shape Analysis in R: R-Packages for geometric morphometrics, shape analysis and surface manipulations. In: Statistical shape and deformation analysis. Academic Press. Melchionna, M., Profico, A., Castiglione, S., Serio, C., Mondanaro, A., Modafferi, M., Tamagnini, D., Maiorano, L. , Raia, P., Witmer, L.M., Wroe, S., & Sansalone, G. (2021). A method for mapping morphological convergence on three-dimensional digital models: the case of the mammalian sabre-tooth. Palaeontology, 64, 573–584. doi:10.1111/pala.12542

See Also

search.conv vignette ; relWarps ; procSym


  ## Not run: 

  ## Case 1. Convergent species only

     CM< = dato,
                 pcs = pca$PCs,
                 mshape = pca$mshape,
                 show.consensus = TRUE)

  ## Case 2. Convergent and non-convergent species

     CM< = dato,
                  pcs = pca$PCs,
                  mshape = pca$mshape,
                  conv = conv,
                  show.consensus = TRUE,
                  col = "orange")
## End(Not run)

RRphylo documentation built on May 9, 2022, 9:08 a.m.