Align a shape to its principal axes (major and minor axes) and recenter.
Value
If
xis a single matrix: returns the aligned matrixIf
xis a list: returns a list of aligned matricesIf
xis a tibble: returns the tibble with specified coo columns aligned
Details
Aligns to principal axes using SVD of the covariance matrix and recenters to the original centroid position.
See also
coo_align_minor() for swapped axes; coo_rotate() for arbitrary rotation
Examples
# Align to principal axes
coo_align(shapes$cat)
#> <xy [120 x 2]>
#> [,1] [,2]
#> [1,] 160.512 114.581
#> [2,] 153.635 112.412
#> [3,] 154.750 116.254
#> [4,] 154.502 122.573
#> [5,] 149.576 127.127
#> [6,] ... ...
#> [7,] 149.483 137.567
#> [8,] 149.731 131.247
#> [9,] 154.099 124.773
#> [10,] 158.746 119.259
#> [11,] 163.951 115.665
# Works on lists
coo_align(bot$coo)
#> $brahma
#> <xy [138 x 2]>
#> [,1] [,2]
#> [1,] 193.734 406.012
#> [2,] 172.702 408.777
#> [3,] 161.703 408.653
#> [4,] 140.670 411.418
#> [5,] 119.638 414.183
#> [6,] ... ...
#> [7,] 288.762 404.077
#> [8,] 277.774 402.954
#> [9,] 256.775 402.718
#> [10,] 235.765 403.483
#> [11,] 225.755 404.371
#>
#> $caney
#> <xy [168 x 2]>
#> [,1] [,2]
#> [1,] 209.208 377.893
#> [2,] 199.208 377.951
#> [3,] 179.214 379.066
#> [4,] 169.208 378.123
#> [5,] 159.214 379.180
#> [6,] ... ...
#> [7,] 290.338 400.428
#> [8,] 270.287 391.543
#> [9,] 259.258 386.606
#> [10,] 249.241 383.664
#> [11,] 229.219 379.779
#>
#> $chimay
#> <xy [189 x 2]>
#> [,1] [,2]
#> [1,] 190.092 195.273
#> [2,] 182.094 195.080
#> [3,] 175.096 194.911
#> [4,] 167.075 195.718
#> [5,] 159.077 195.524
#> [6,] ... ...
#> [7,] 235.837 206.380
#> [8,] 227.960 201.188
#> [9,] 221.035 198.020
#> [10,] 213.085 195.828
#> [11,] 205.112 194.635
#>
#> $corona
#> <xy [129 x 2]>
#> [,1] [,2]
#> [1,] 203.883 313.237
#> [2,] 193.883 313.226
#> [3,] 172.884 312.204
#> [4,] 162.883 313.193
#> [5,] 151.883 313.182
#> [6,] ... ...
#> [7,] 283.854 340.322
#> [8,] 263.863 332.301
#> [9,] 254.868 327.291
#> [10,] 243.872 323.280
#> [11,] 224.880 316.259
#>
#> $deusventrue
#> <xy [152 x 2]>
#> [,1] [,2]
#> [1,] 193.432 361.722
#> [2,] 184.437 357.710
#> [3,] 166.448 349.687
#> [4,] 157.452 346.675
#> [5,] 137.461 339.650
#> [6,] ... ...
#> [7,] 267.399 387.817
#> [8,] 257.402 384.804
#> [9,] 239.412 377.781
#> [10,] 230.415 374.769
#> [11,] 212.422 369.746
#>
#> $duvel
#> <xy [161 x 2]>
#> [,1] [,2]
#> [1,] 207.167 168.878
#> [2,] 196.167 168.875
#> [3,] 185.167 168.871
#> [4,] 185.167 168.871
#> [5,] 174.167 168.868
#> [6,] ... ...
#> [7,] 261.163 181.895
#> [8,] 250.164 176.891
#> [9,] 240.165 172.888
#> [10,] 240.165 172.888
#> [11,] 229.166 170.885
#>
#> $franziskaner
#> <xy [124 x 2]>
#> [,1] [,2]
#> [1,] 176.974 315.821
#> [2,] 155.974 315.856
#> [3,] 145.974 315.872
#> [4,] 126.974 315.904
#> [5,] 116.974 315.921
#> [6,] ... ...
#> [7,] 269.984 321.665
#> [8,] 248.982 320.700
#> [9,] 238.979 318.717
#> [10,] 217.974 315.752
#> [11,] 207.974 315.769
#>
#> $grimbergen
#> <xy [126 x 2]>
#> [,1] [,2]
#> [1,] 176.110 270.136
#> [2,] 166.114 268.118
#> [3,] 145.114 268.079
#> [4,] 134.114 268.059
#> [5,] 124.114 268.040
#> [6,] ... ...
#> [7,] 259.051 302.289
#> [8,] 239.077 288.252
#> [9,] 228.088 282.232
#> [10,] 218.096 278.213
#> [11,] 197.107 272.175
#>
#> $guiness
#> <xy [183 x 2]>
#> [,1] [,2]
#> [1,] 194.731 258.806
#> [2,] 186.731 258.835
#> [3,] 178.731 258.864
#> [4,] 169.731 258.898
#> [5,] 153.731 258.956
#> [6,] ... ...
#> [7,] 251.745 262.596
#> [8,] 242.738 260.629
#> [9,] 227.724 256.684
#> [10,] 219.727 257.714
#> [11,] 210.731 258.747
#>
#> $hoegardeen
#> <xy [193 x 2]>
#> [,1] [,2]
#> [1,] 190.804 395.737
#> [2,] 177.811 393.689
#> [3,] 165.811 393.646
#> [4,] 152.811 393.598
#> [5,] 139.811 393.551
#> [6,] ... ...
#> [7,] 265.745 412.009
#> [8,] 252.760 407.962
#> [9,] 240.771 404.918
#> [10,] 227.785 400.871
#> [11,] 214.789 399.824
#>
#> $jupiler
#> <xy [156 x 2]>
#> [,1] [,2]
#> [1,] 177.875 390.326
#> [2,] 163.862 389.530
#> [3,] 150.864 389.718
#> [4,] 136.865 389.922
#> [5,] 122.866 390.125
#> [6,] ... ...
#> [7,] 260.143 408.132
#> [8,] 246.071 403.336
#> [9,] 233.029 400.526
#> [10,] 218.973 396.729
#> [11,] 204.930 393.933
#>
#> $kingfisher
#> <xy [182 x 2]>
#> [,1] [,2]
#> [1,] 181.968 274.675
#> [2,] 171.969 274.526
#> [3,] 162.970 274.391
#> [4,] 152.971 274.242
#> [5,] 142.972 274.093
#> [6,] ... ...
#> [7,] 239.812 285.538
#> [8,] 230.858 282.404
#> [9,] 220.889 280.255
#> [10,] 210.934 277.107
#> [11,] 200.936 276.958
#>
#> $latrappe
#> <xy [136 x 2]>
#> [,1] [,2]
#> [1,] 221.775 194.206
#> [2,] 209.781 193.146
#> [3,] 196.781 193.080
#> [4,] 184.781 193.020
#> [5,] 171.781 192.955
#> [6,] ... ...
#> [7,] 296.764 196.583
#> [8,] 283.780 193.517
#> [9,] 271.775 194.457
#> [10,] 258.775 194.392
#> [11,] 246.775 194.332
#>
#> $lindemanskriek
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] 186.063 301.591
#> [2,] 178.063 301.549
#> [3,] 163.090 296.471
#> [4,] 154.095 295.425
#> [5,] 146.095 295.383
#> [6,] ... ...
#> [7,] 244.974 318.898
#> [8,] 236.985 316.856
#> [9,] 228.000 313.810
#> [10,] 220.011 311.768
#> [11,] 203.037 306.680
#>
#> $nicechouffe
#> <xy [146 x 2]>
#> [,1] [,2]
#> [1,] 193.883 249.686
#> [2,] 185.888 248.645
#> [3,] 168.908 244.559
#> [4,] 159.909 244.513
#> [5,] 151.914 243.472
#> [6,] ... ...
#> [7,] 250.811 263.977
#> [8,] 242.826 260.936
#> [9,] 233.836 258.890
#> [10,] 226.847 256.854
#> [11,] 210.867 252.773
#>
#> $pecheresse
#> <xy [129 x 2]>
#> [,1] [,2]
#> [1,] 179.129 377.157
#> [2,] 160.101 375.435
#> [3,] 151.102 375.567
#> [4,] 131.090 374.860
#> [5,] 112.063 373.139
#> [6,] ... ...
#> [7,] 264.457 398.908
#> [8,] 254.414 396.055
#> [9,] 236.342 391.320
#> [10,] 217.271 386.599
#> [11,] 208.243 384.731
#>
#> $sierranevada
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] 178.702 228.066
#> [2,] 166.702 227.987
#> [3,] 166.702 227.987
#> [4,] 153.703 227.902
#> [5,] 141.703 227.824
#> [6,] ... ...
#> [7,] 240.688 230.471
#> [8,] 227.701 228.386
#> [9,] 215.714 226.308
#> [10,] 203.701 228.229
#> [11,] 203.701 228.229
#>
#> $tanglefoot
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] 194.833 219.492
#> [2,] 186.833 219.529
#> [3,] 178.833 219.565
#> [4,] 162.833 219.639
#> [5,] 154.838 220.675
#> [6,] ... ...
#> [7,] 250.851 223.235
#> [8,] 242.837 220.272
#> [9,] 234.832 219.308
#> [10,] 218.828 218.382
#> [11,] 210.828 218.419
#>
#> $tauro
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] 176.786 392.204
#> [2,] 164.754 390.403
#> [3,] 152.756 390.601
#> [4,] 139.758 390.815
#> [5,] 127.759 391.013
#> [6,] ... ...
#> [7,] 249.023 406.014
#> [8,] 236.976 403.212
#> [9,] 224.895 398.411
#> [10,] 212.863 396.609
#> [11,] 199.832 394.824
#>
#> $westmalle
#> <xy [141 x 2]>
#> [,1] [,2]
#> [1,] 173.377 291.277
#> [2,] 165.377 291.227
#> [3,] 148.396 288.119
#> [4,] 140.397 288.068
#> [5,] 123.403 286.960
#> [6,] ... ...
#> [7,] 240.274 307.702
#> [8,] 231.293 304.645
#> [9,] 215.312 301.544
#> [10,] 206.338 297.487
#> [11,] 190.351 295.385
#>
#> $amrut
#> <xy [191 x 2]>
#> [,1] [,2]
#> [1,] 182.942 314.801
#> [2,] 172.942 314.822
#> [3,] 162.942 314.842
#> [4,] 152.942 314.863
#> [5,] 142.942 314.883
#> [6,] ... ...
#> [7,] 242.937 312.679
#> [8,] 232.941 314.700
#> [9,] 222.941 314.720
#> [10,] 212.941 314.740
#> [11,] 202.941 314.761
#>
#> $ballantines
#> <xy [146 x 2]>
#> [,1] [,2]
#> [1,] 202.781 193.491
#> [2,] 186.781 193.367
#> [3,] 178.781 193.305
#> [4,] 163.782 193.189
#> [5,] 155.782 193.127
#> [6,] ... ...
#> [7,] 273.778 194.041
#> [8,] 257.779 193.917
#> [9,] 249.779 193.855
#> [10,] 233.780 193.731
#> [11,] 226.780 193.677
#>
#> $bushmills
#> <xy [165 x 2]>
#> [,1] [,2]
#> [1,] 204.866 323.628
#> [2,] 189.866 323.572
#> [3,] 173.866 323.513
#> [4,] 173.866 323.513
#> [5,] 158.866 323.457
#> [6,] ... ...
#> [7,] 281.873 321.915
#> [8,] 266.873 321.859
#> [9,] 250.873 321.799
#> [10,] 250.873 321.799
#> [11,] 235.873 321.744
#>
#> $chivas
#> <xy [164 x 2]>
#> [,1] [,2]
#> [1,] 213.161 256.702
#> [2,] 205.160 254.708
#> [3,] 188.158 252.721
#> [4,] 180.158 252.727
#> [5,] 164.158 252.739
#> [6,] ... ...
#> [7,] 278.198 304.653
#> [8,] 271.192 296.658
#> [9,] 254.180 280.671
#> [10,] 246.175 274.677
#> [11,] 229.167 263.690
#>
#> $dalmore
#> <xy [155 x 2]>
#> [,1] [,2]
#> [1,] 219.523 203.668
#> [2,] 207.528 198.655
#> [3,] 194.532 195.640
#> [4,] 182.534 193.626
#> [5,] 170.534 193.613
#> [6,] ... ...
#> [7,] 278.466 253.736
#> [8,] 278.466 253.736
#> [9,] 267.480 240.723
#> [10,] 256.494 228.711
#> [11,] 244.505 218.697
#>
#> $famousgrouse
#> <xy [169 x 2]>
#> [,1] [,2]
#> [1,] 188.365 224.188
#> [2,] 178.365 224.126
#> [3,] 169.365 224.070
#> [4,] 159.365 224.008
#> [5,] 159.365 224.008
#> [6,] ... ...
#> [7,] 236.376 222.485
#> [8,] 226.376 222.423
#> [9,] 226.376 222.423
#> [10,] 217.376 222.367
#> [11,] 207.377 222.305
#>
#> $glendronach
#> <xy [197 x 2]>
#> [,1] [,2]
#> [1,] 199.128 309.231
#> [2,] 187.128 309.196
#> [3,] 175.125 310.162
#> [4,] 175.125 310.162
#> [5,] 163.125 310.128
#> [6,] ... ...
#> [7,] 259.131 308.401
#> [8,] 247.131 308.367
#> [9,] 235.128 309.333
#> [10,] 235.128 309.333
#> [11,] 223.128 309.299
#>
#> $glenmorangie
#> <xy [179 x 2]>
#> [,1] [,2]
#> [1,] 200.986 369.624
#> [2,] 183.989 370.669
#> [3,] 183.989 370.669
#> [4,] 167.989 370.711
#> [5,] 150.992 371.756
#> [6,] ... ...
#> [7,] 282.010 378.411
#> [8,] 266.999 374.451
#> [9,] 249.989 370.496
#> [10,] 232.986 369.540
#> [11,] 232.986 369.540
#>
#> $highlandpark
#> <xy [169 x 2]>
#> [,1] [,2]
#> [1,] 192.055 221.180
#> [2,] 178.055 221.158
#> [3,] 178.055 221.158
#> [4,] 164.055 221.136
#> [5,] 150.055 221.115
#> [6,] ... ...
#> [7,] 262.056 220.290
#> [8,] 248.055 221.268
#> [9,] 234.055 221.246
#> [10,] 220.055 221.224
#> [11,] 220.055 221.224
#>
#> $jackdaniels
#> <xy [150 x 2]>
#> [,1] [,2]
#> [1,] 208.938 267.832
#> [2,] 195.938 267.853
#> [3,] 182.938 267.873
#> [4,] 169.938 267.894
#> [5,] 156.938 267.914
#> [6,] ... ...
#> [7,] 287.949 274.708
#> [8,] 273.946 272.730
#> [9,] 260.941 269.750
#> [10,] 247.939 268.771
#> [11,] 234.941 269.791
#>
#> $jb
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] 194.830 379.429
#> [2,] 183.830 379.410
#> [3,] 173.832 378.393
#> [4,] 151.832 378.355
#> [5,] 140.831 379.336
#> [6,] ... ...
#> [7,] 269.832 378.557
#> [8,] 258.836 376.538
#> [9,] 248.832 378.521
#> [10,] 226.830 379.483
#> [11,] 215.830 379.464
#>
#> $johnniewalker
#> <xy [168 x 2]>
#> [,1] [,2]
#> [1,] 184.570 124.223
#> [2,] 180.571 124.161
#> [3,] 176.571 124.099
#> [4,] 172.571 124.037
#> [5,] 164.557 124.913
#> [6,] ... ...
#> [7,] 212.567 124.656
#> [8,] 208.567 124.594
#> [9,] 200.568 124.470
#> [10,] 196.569 124.408
#> [11,] 192.569 124.346
#>
#> $magallan
#> <xy [141 x 2]>
#> [,1] [,2]
#> [1,] 175.398 299.673
#> [2,] 160.398 299.662
#> [3,] 153.396 301.657
#> [4,] 139.396 301.647
#> [5,] 124.396 302.636
#> [6,] ... ...
#> [7,] 240.400 296.720
#> [8,] 233.400 296.714
#> [9,] 219.400 296.704
#> [10,] 204.399 298.693
#> [11,] 197.399 298.688
#>
#> $makersmark
#> <xy [177 x 2]>
#> [,1] [,2]
#> [1,] 205.352 257.203
#> [2,] 193.332 249.233
#> [3,] 181.314 242.264
#> [4,] 181.314 242.264
#> [5,] 167.306 239.300
#> [6,] ... ...
#> [7,] 260.474 305.062
#> [8,] 246.461 300.098
#> [9,] 237.444 293.121
#> [10,] 237.444 293.121
#> [11,] 227.408 279.147
#>
#> $oban
#> <xy [179 x 2]>
#> [,1] [,2]
#> [1,] 185.888 345.124
#> [2,] 176.888 345.123
#> [3,] 159.888 345.121
#> [4,] 151.888 345.120
#> [5,] 142.888 345.119
#> [6,] ... ...
#> [7,] 245.889 343.131
#> [8,] 236.889 344.130
#> [9,] 228.889 344.129
#> [10,] 219.889 344.128
#> [11,] 202.889 344.126
#>
#> $oldpotrero
#> <xy [131 x 2]>
#> [,1] [,2]
#> [1,] 188.385 201.910
#> [2,] 180.402 195.888
#> [3,] 172.419 189.865
#> [4,] 155.441 181.818
#> [5,] 146.450 178.792
#> [6,] ... ...
#> [7,] 247.284 238.075
#> [8,] 239.290 236.053
#> [9,] 230.304 231.028
#> [10,] 214.335 219.983
#> [11,] 205.351 213.958
#>
#> $redbreast
#> <xy [177 x 2]>
#> [,1] [,2]
#> [1,] 207.820 130.448
#> [2,] 202.825 128.435
#> [3,] 198.831 126.424
#> [4,] 188.839 123.398
#> [5,] 184.839 123.388
#> [6,] ... ...
#> [7,] 235.737 162.521
#> [8,] 231.750 157.510
#> [9,] 227.763 152.500
#> [10,] 220.786 143.482
#> [11,] 216.799 138.471
#>
#> $tamdhu
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] 196.153 405.929
#> [2,] 184.154 405.840
#> [3,] 171.154 405.744
#> [4,] 159.154 405.656
#> [5,] 147.155 405.567
#> [6,] ... ...
#> [7,] 269.174 403.467
#> [8,] 257.189 401.379
#> [9,] 245.182 402.290
#> [10,] 233.175 403.202
#> [11,] 221.167 404.113
#>
#> $wildturkey
#> <xy [185 x 2]>
#> [,1] [,2]
#> [1,] 205.587 381.846
#> [2,] 191.587 381.814
#> [3,] 177.587 381.781
#> [4,] 163.587 381.749
#> [5,] 149.587 381.717
#> [6,] ... ...
#> [7,] 287.582 384.036
#> [8,] 274.586 382.006
#> [9,] 261.593 378.976
#> [10,] 247.593 378.943
#> [11,] 233.594 378.911
#>
#> $yoichi
#> <xy [123 x 2]>
#> [,1] [,2]
#> [1,] 203.879 248.829
#> [2,] 188.879 248.861
#> [3,] 174.879 248.892
#> [4,] 159.879 248.924
#> [5,] 144.879 248.957
#> [6,] ... ...
#> [7,] 276.876 247.671
#> [8,] 269.876 247.686
#> [9,] 254.877 247.718
#> [10,] 240.877 247.749
#> [11,] 225.879 248.781
#>
#> attr(,"class")
#> [1] "out" "coo" "list"
