Rotate a shape by a specified angle around a given center point.
Arguments
- x
A matrix (nx2), list of matrices, or tibble with coo columns.
- ...
Additional arguments (reserved for future use).
- .cols
Column name(s) to process when
xis a tibble. IfNULL, automatically detects columns containing coo objects.- theta
Numeric. Rotation angle in radians. Default is 0.
- center
Numeric vector of length 2 (x, y). Center point for rotation. Default is the centroid.
Value
If
xis a single matrix: returns the rotated matrixIf
xis a list: returns a list of rotated matricesIf
xis a tibble: returns the tibble with specified coo columns rotated
See also
coo_rotate() for rotation around origin
Examples
# Rotate around centroid
coo_rotate_around(shapes$cat, theta = pi/4)
#> <xy [120 x 2]>
#> [,1] [,2]
#> [1,] 219.291 79.828
#> [2,] 220.705 72.757
#> [3,] 223.533 75.585
#> [4,] 229.190 78.414
#> [5,] 235.554 76.293
#> [6,] ... ...
#> [7,] 244.747 81.242
#> [8,] 239.090 78.414
#> [9,] 231.312 79.121
#> [10,] 224.240 80.535
#> [11,] 218.584 83.364
# Rotate around custom point
coo_rotate_around(bot$coo, theta = pi/6, center = c(100, 100))
#> $brahma
#> <xy [138 x 2]>
#> [,1] [,2]
#> [1,] -185.060 467.738
#> [2,] -171.962 451.051
#> [3,] -166.462 441.525
#> [4,] -153.363 424.838
#> [5,] -140.265 408.152
#> [6,] ... ...
#> [7,] -235.158 548.510
#> [8,] -230.524 538.484
#> [9,] -220.024 520.297
#> [10,] -208.658 502.611
#> [11,] -202.792 494.451
#>
#> $caney
#> <xy [168 x 2]>
#> [,1] [,2]
#> [1,] -158.203 453.221
#> [2,] -153.203 444.561
#> [3,] -142.337 427.740
#> [4,] -138.203 418.580
#> [5,] -132.337 410.420
#> [6,] ... ...
#> [7,] -178.785 534.869
#> [8,] -176.579 513.049
#> [9,] -175.409 501.022
#> [10,] -173.007 490.862
#> [11,] -166.471 471.542
#>
#> $chimay
#> <xy [189 x 2]>
#> [,1] [,2]
#> [1,] -60.667 276.284
#> [2,] -56.667 269.356
#> [3,] -53.167 263.294
#> [4,] -48.301 256.865
#> [5,] -44.301 249.937
#> [6,] ... ...
#> [7,] -75.007 321.121
#> [8,] -75.337 311.693
#> [9,] -74.435 304.131
#> [10,] -72.167 296.203
#> [11,] -69.033 288.774
#>
#> $corona
#> <xy [129 x 2]>
#> [,1] [,2]
#> [1,] -70.794 377.824
#> [2,] -65.794 369.164
#> [3,] -56.160 350.477
#> [4,] -50.294 342.317
#> [5,] -44.794 332.791
#> [6,] ... ...
#> [7,] -87.412 460.606
#> [8,] -84.340 439.286
#> [9,] -84.170 428.992
#> [10,] -82.134 417.465
#> [11,] -78.696 397.511
#>
#> $deusventrue
#> <xy [152 x 2]>
#> [,1] [,2]
#> [1,] -113.017 416.956
#> [2,] -111.981 407.161
#> [3,] -109.909 387.573
#> [4,] -108.007 378.279
#> [5,] -104.069 357.458
#> [6,] ... ...
#> [7,] -127.500 494.042
#> [8,] -125.098 483.881
#> [9,] -122.160 464.793
#> [10,] -120.258 455.499
#> [11,] -115.588 437.410
#>
#> $duvel
#> <xy [161 x 2]>
#> [,1] [,2]
#> [1,] -41.275 266.695
#> [2,] -35.775 257.169
#> [3,] -30.275 247.643
#> [4,] -30.275 247.643
#> [5,] -24.775 238.117
#> [6,] ... ...
#> [7,] -57.017 319.961
#> [8,] -55.847 307.935
#> [9,] -54.311 297.274
#> [10,] -54.311 297.274
#> [11,] -50.543 286.748
#>
#> $franziskaner
#> <xy [124 x 2]>
#> [,1] [,2]
#> [1,] -109.337 370.583
#> [2,] -98.837 352.396
#> [3,] -93.837 343.736
#> [4,] -84.337 327.281
#> [5,] -79.337 318.621
#> [6,] ... ...
#> [7,] -150.641 454.123
#> [8,] -141.007 435.436
#> [9,] -137.739 425.776
#> [10,] -129.837 406.090
#> [11,] -124.837 397.429
#>
#> $grimbergen
#> <xy [126 x 2]>
#> [,1] [,2]
#> [1,] -102.229 334.272
#> [2,] -98.962 324.611
#> [3,] -88.462 306.425
#> [4,] -82.962 296.899
#> [5,] -77.962 288.238
#> [6,] ... ...
#> [7,] -116.017 422.152
#> [8,] -118.141 397.831
#> [9,] -117.837 385.305
#> [10,] -116.301 374.645
#> [11,] -110.997 353.458
#>
#> $guiness
#> <xy [183 x 2]>
#> [,1] [,2]
#> [1,] -69.347 331.317
#> [2,] -65.347 324.389
#> [3,] -61.347 317.461
#> [4,] -56.847 309.667
#> [5,] -48.847 295.810
#> [6,] ... ...
#> [7,] -94.383 382.681
#> [8,] -91.615 373.886
#> [9,] -87.579 358.896
#> [10,] -82.713 352.468
#> [11,] -77.347 345.174
#>
#> $hoegardeen
#> <xy [193 x 2]>
#> [,1] [,2]
#> [1,] -172.229 455.515
#> [2,] -167.462 443.257
#> [3,] -161.462 432.865
#> [4,] -154.962 421.606
#> [5,] -148.462 410.348
#> [6,] ... ...
#> [7,] -195.873 528.467
#> [8,] -192.837 515.209
#> [9,] -189.435 503.317
#> [10,] -186.399 490.058
#> [11,] -180.765 478.300
#>
#> $jupiler
#> <xy [156 x 2]>
#> [,1] [,2]
#> [1,] -146.471 436.901
#> [2,] -140.337 424.276
#> [3,] -133.837 413.018
#> [4,] -126.837 400.894
#> [5,] -119.837 388.769
#> [6,] ... ...
#> [7,] -171.017 517.415
#> [8,] -168.347 502.790
#> [9,] -164.445 490.032
#> [10,] -160.909 475.908
#> [11,] -156.507 462.283
#>
#> $kingfisher
#> <xy [182 x 2]>
#> [,1] [,2]
#> [1,] -67.115 331.451
#> [2,] -62.115 322.791
#> [3,] -57.615 314.997
#> [4,] -52.615 306.336
#> [5,] -47.615 297.676
#> [6,] ... ...
#> [7,] -87.454 386.681
#> [8,] -85.553 377.386
#> [9,] -82.285 367.726
#> [10,] -79.883 357.566
#> [11,] -74.883 348.906
#>
#> $latrappe
#> <xy [136 x 2]>
#> [,1] [,2]
#> [1,] -108.586 313.281
#> [2,] -103.452 302.389
#> [3,] -96.952 291.131
#> [4,] -90.952 280.738
#> [5,] -84.452 269.480
#> [6,] ... ...
#> [7,] -144.354 379.233
#> [8,] -140.452 366.475
#> [9,] -133.586 356.583
#> [10,] -127.086 345.324
#> [11,] -121.086 334.932
#>
#> $lindemanskriek
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] -98.141 363.190
#> [2,] -94.141 356.262
#> [3,] -90.971 340.772
#> [4,] -87.337 332.477
#> [5,] -83.337 325.549
#> [6,] ... ...
#> [7,] -112.919 422.786
#> [8,] -110.651 414.858
#> [9,] -108.749 405.563
#> [10,] -106.481 397.635
#> [11,] -102.311 380.413
#>
#> $nicechouffe
#> <xy [146 x 2]>
#> [,1] [,2]
#> [1,] -46.088 317.033
#> [2,] -42.954 309.604
#> [3,] -37.919 292.882
#> [4,] -33.419 285.088
#> [5,] -30.285 277.660
#> [6,] ... ...
#> [7,] -62.464 373.396
#> [8,] -61.062 364.968
#> [9,] -58.294 356.174
#> [10,] -56.526 349.111
#> [11,] -51.990 333.255
#>
#> $pecheresse
#> <xy [129 x 2]>
#> [,1] [,2]
#> [1,] -129.543 423.580
#> [2,] -121.775 406.126
#> [3,] -117.275 398.331
#> [4,] -108.141 380.511
#> [5,] -100.373 363.056
#> [6,] ... ...
#> [7,] -152.124 508.692
#> [8,] -149.722 498.532
#> [9,] -145.053 480.443
#> [10,] -139.883 461.489
#> [11,] -137.115 452.695
#>
#> $sierranevada
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] -56.275 292.676
#> [2,] -50.275 282.284
#> [3,] -50.275 282.284
#> [4,] -43.775 271.026
#> [5,] -37.775 260.633
#> [6,] ... ...
#> [7,] -85.543 347.370
#> [8,] -80.775 335.111
#> [9,] -76.507 323.719
#> [10,] -68.775 314.327
#> [11,] -68.775 314.327
#>
#> $tanglefoot
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] -78.533 305.229
#> [2,] -74.533 298.301
#> [3,] -70.533 291.372
#> [4,] -62.533 277.516
#> [5,] -57.667 271.088
#> [6,] ... ...
#> [7,] -103.069 355.726
#> [8,] -101.667 347.298
#> [9,] -98.533 339.870
#> [10,] -91.399 325.513
#> [11,] -87.399 318.585
#>
#> $tauro
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] -145.605 437.401
#> [2,] -141.337 426.008
#> [3,] -135.337 415.616
#> [4,] -128.837 404.358
#> [5,] -122.837 393.965
#> [6,] ... ...
#> [7,] -168.615 507.254
#> [8,] -165.213 495.362
#> [9,] -163.543 482.470
#> [10,] -159.275 471.077
#> [11,] -154.507 458.819
#>
#> $westmalle
#> <xy [141 x 2]>
#> [,1] [,2]
#> [1,] -72.981 339.611
#> [2,] -68.981 332.683
#> [3,] -63.079 316.461
#> [4,] -59.079 309.533
#> [5,] -51.445 294.310
#> [6,] ... ...
#> [7,] -92.624 405.635
#> [8,] -90.722 396.341
#> [9,] -85.321 380.985
#> [10,] -84.285 371.190
#> [11,] -78.017 356.334
#>
#> $amrut
#> <xy [191 x 2]>
#> [,1] [,2]
#> [1,] -107.739 373.815
#> [2,] -102.739 365.154
#> [3,] -97.739 356.494
#> [4,] -92.739 347.834
#> [5,] -87.739 339.174
#> [6,] ... ...
#> [7,] -139.471 424.776
#> [8,] -132.739 417.116
#> [9,] -127.739 408.456
#> [10,] -122.739 399.795
#> [11,] -117.739 391.135
#>
#> $ballantines
#> <xy [146 x 2]>
#> [,1] [,2]
#> [1,] -82.194 291.569
#> [2,] -74.194 277.712
#> [3,] -70.194 270.784
#> [4,] -62.694 257.794
#> [5,] -58.694 250.865
#> [6,] ... ...
#> [7,] -117.694 353.056
#> [8,] -109.694 339.200
#> [9,] -105.694 332.272
#> [10,] -97.694 318.415
#> [11,] -94.194 312.353
#>
#> $bushmills
#> <xy [165 x 2]>
#> [,1] [,2]
#> [1,] -102.249 394.305
#> [2,] -94.749 381.315
#> [3,] -86.749 367.458
#> [4,] -86.749 367.458
#> [5,] -79.249 354.468
#> [6,] ... ...
#> [7,] -142.481 459.989
#> [8,] -134.981 446.999
#> [9,] -126.981 433.142
#> [10,] -126.981 433.142
#> [11,] -119.481 420.152
#>
#> $chivas
#> <xy [164 x 2]>
#> [,1] [,2]
#> [1,] -126.524 358.351
#> [2,] -124.256 350.422
#> [3,] -117.488 334.700
#> [4,] -113.488 327.772
#> [5,] -105.488 313.915
#> [6,] ... ...
#> [7,] -117.454 438.642
#> [8,] -120.883 428.580
#> [9,] -126.239 405.858
#> [10,] -127.435 395.929
#> [11,] -128.462 375.707
#>
#> $dalmore
#> <xy [155 x 2]>
#> [,1] [,2]
#> [1,] -77.069 310.693
#> [2,] -75.399 297.801
#> [3,] -71.497 285.042
#> [4,] -67.229 273.650
#> [5,] -61.229 263.258
#> [6,] ... ...
#> [7,] -63.268 386.788
#> [8,] -63.268 386.788
#> [9,] -69.026 370.762
#> [10,] -73.919 355.236
#> [11,] -76.579 339.844
#>
#> $famousgrouse
#> <xy [169 x 2]>
#> [,1] [,2]
#> [1,] -7.366 283.963
#> [2,] -2.366 275.303
#> [3,] 2.134 267.509
#> [4,] 7.134 258.849
#> [5,] 7.134 258.849
#> [6,] ... ...
#> [7,] -33.098 324.533
#> [8,] -28.098 315.872
#> [9,] -28.098 315.872
#> [10,] -23.598 308.078
#> [11,] -18.598 299.418
#>
#> $glendronach
#> <xy [197 x 2]>
#> [,1] [,2]
#> [1,] -90.883 376.619
#> [2,] -84.883 366.226
#> [3,] -78.017 356.334
#> [4,] -78.017 356.334
#> [5,] -72.017 345.942
#> [6,] ... ...
#> [7,] -121.749 428.080
#> [8,] -115.749 417.688
#> [9,] -108.883 407.795
#> [10,] -108.883 407.795
#> [11,] -102.883 397.403
#>
#> $glenmorangie
#> <xy [179 x 2]>
#> [,1] [,2]
#> [1,] -149.703 438.499
#> [2,] -140.337 424.276
#> [3,] -140.337 424.276
#> [4,] -132.337 410.420
#> [5,] -122.971 396.197
#> [6,] ... ...
#> [7,] -182.409 513.147
#> [8,] -178.373 498.156
#> [9,] -173.337 481.434
#> [10,] -165.703 466.211
#> [11,] -165.703 466.211
#>
#> $highlandpark
#> <xy [169 x 2]>
#> [,1] [,2]
#> [1,] -85.729 305.693
#> [2,] -78.729 293.569
#> [3,] -78.729 293.569
#> [4,] -71.729 281.444
#> [5,] -64.729 269.320
#> [6,] ... ...
#> [7,] -121.595 365.815
#> [8,] -113.729 354.190
#> [9,] -106.729 342.066
#> [10,] -99.729 329.942
#> [11,] -99.729 329.942
#>
#> $jackdaniels
#> <xy [150 x 2]>
#> [,1] [,2]
#> [1,] -89.043 353.432
#> [2,] -82.543 342.174
#> [3,] -76.043 330.915
#> [4,] -69.543 319.657
#> [5,] -63.043 308.399
#> [6,] ... ...
#> [7,] -122.481 425.348
#> [8,] -117.213 412.224
#> [9,] -113.311 399.465
#> [10,] -107.677 387.707
#> [11,] -100.311 376.949
#>
#> $jb
#> <xy [174 x 2]>
#> [,1] [,2]
#> [1,] -164.863 444.757
#> [2,] -159.363 435.231
#> [3,] -155.229 426.070
#> [4,] -144.229 407.018
#> [5,] -137.863 397.992
#> [6,] ... ...
#> [7,] -203.229 509.209
#> [8,] -199.462 498.683
#> [9,] -192.729 491.022
#> [10,] -180.863 472.470
#> [11,] -175.363 462.943
#>
#> $johnniewalker
#> <xy [168 x 2]>
#> [,1] [,2]
#> [1,] 91.079 181.452
#> [2,] 93.079 177.988
#> [3,] 95.079 174.524
#> [4,] 97.079 171.060
#> [5,] 101.945 164.631
#> [6,] ... ...
#> [7,] 77.079 205.701
#> [8,] 79.079 202.237
#> [9,] 83.079 195.308
#> [10,] 85.079 191.844
#> [11,] 87.079 188.380
#>
#> $magallan
#> <xy [141 x 2]>
#> [,1] [,2]
#> [1,] -67.553 346.210
#> [2,] -60.053 333.219
#> [3,] -54.821 328.157
#> [4,] -47.821 316.033
#> [5,] -39.454 303.542
#> [6,] ... ...
#> [7,] -102.651 401.001
#> [8,] -99.151 394.939
#> [9,] -92.151 382.815
#> [10,] -82.919 370.824
#> [11,] -79.419 364.762
#>
#> $makersmark
#> <xy [177 x 2]>
#> [,1] [,2]
#> [1,] -125.756 353.020
#> [2,] -126.684 338.628
#> [3,] -126.746 324.736
#> [4,] -126.746 324.736
#> [5,] -122.344 311.111
#> [6,] ... ...
#> [7,] -111.687 424.652
#> [8,] -109.017 410.027
#> [9,] -110.579 398.733
#> [10,] -110.579 398.733
#> [11,] -117.703 383.073
#>
#> $oban
#> <xy [179 x 2]>
#> [,1] [,2]
#> [1,] -101.017 396.171
#> [2,] -96.517 388.377
#> [3,] -88.017 373.654
#> [4,] -84.017 366.726
#> [5,] -79.517 358.932
#> [6,] ... ...
#> [7,] -132.749 447.133
#> [8,] -127.383 439.838
#> [9,] -123.383 432.910
#> [10,] -118.883 425.116
#> [11,] -110.383 410.394
#>
#> $oldpotrero
#> <xy [131 x 2]>
#> [,1] [,2]
#> [1,] -18.222 270.767
#> [2,] -19.419 260.839
#> [3,] -20.615 250.911
#> [4,] -19.043 232.188
#> [5,] -17.141 222.894
#> [6,] ... ...
#> [7,] -16.546 339.863
#> [8,] -14.278 331.935
#> [9,] -14.108 321.640
#> [10,] -15.634 302.284
#> [11,] -16.330 291.490
#>
#> $redbreast
#> <xy [177 x 2]>
#> [,1] [,2]
#> [1,] 37.830 217.681
#> [2,] 38.598 212.351
#> [3,] 38.866 207.887
#> [4,] 41.268 197.727
#> [5,] 43.268 194.263
#> [6,] ... ...
#> [7,] 51.543 257.930
#> [8,] 49.213 251.966
#> [9,] 46.883 246.002
#> [10,] 42.588 235.440
#> [11,] 40.258 229.476
#>
#> $tamdhu
#> <xy [176 x 2]>
#> [,1] [,2]
#> [1,] -170.167 465.943
#> [2,] -164.167 455.551
#> [3,] -157.667 444.293
#> [4,] -151.667 433.901
#> [5,] -145.667 423.508
#> [6,] ... ...
#> [7,] -209.265 527.663
#> [8,] -204.997 516.271
#> [9,] -198.131 506.379
#> [10,] -191.265 496.486
#> [11,] -184.399 486.594
#>
#> $wildturkey
#> <xy [185 x 2]>
#> [,1] [,2]
#> [1,] -205.514 465.166
#> [2,] -198.514 453.042
#> [3,] -191.514 440.917
#> [4,] -184.514 428.793
#> [5,] -177.514 416.668
#> [6,] ... ...
#> [7,] -244.782 537.180
#> [8,] -240.014 524.922
#> [9,] -236.112 512.163
#> [10,] -229.112 500.039
#> [11,] -222.112 487.915
#>
#> $yoichi
#> <xy [123 x 2]>
#> [,1] [,2]
#> [1,] -68.847 330.451
#> [2,] -61.347 317.461
#> [3,] -54.347 305.336
#> [4,] -46.847 292.346
#> [5,] -39.347 279.356
#> [6,] ... ...
#> [7,] -106.213 393.171
#> [8,] -102.713 387.109
#> [9,] -95.213 374.119
#> [10,] -88.213 361.994
#> [11,] -79.847 349.504
#>
#> attr(,"class")
#> [1] "out" "coo" "list"
