PE {biogeom} | R Documentation |
Calculation of the Abscissa, Ordinate and Distance From the Origin For an Arbitrary Point on the Preston Curve
Description
PE
is used to calculate the abscissa, ordinate and distance from the origin for an arbitrary point on
the Preston curve that was generated by the original Preston equation or one of its simplified versions at a given angle.
Usage
PE(P, zeta, simpver = NULL)
Arguments
P |
the parameters of the original Preston equation or one of its simplified versions. |
zeta |
the angle(s) used in the Preston equation. |
simpver |
an optional argument to use the simplified version of the original Preston equation. |
Details
When simpver = NULL
, the original Preston equation is selected:
y = a\ \mathrm{sin}\,\zeta,
x = b\ \mathrm{cos}\,\zeta\left(1+c_{1}\,\mathrm{sin}\,\zeta+c_{2}\,\mathrm{sin}^{2}\,\zeta+c_{3}\,\mathrm{sin}^{3}\,\zeta\right),
r = \sqrt{x^{2}+y^{2}},
where x
and y
represent the abscissa and ordinate of an arbitrary point on the Preston curve
corresponding to an angle \zeta
; r
represents the distance of the point from the origin; a
, b
, c_{1}
,
c_{2}
, and c_{3}
are parameters to be estimated.
\quad
When simpver = 1
, the simplified version 1 is selected:
y = a\ \mathrm{sin}\,\zeta,
x = b\ \mathrm{cos}\,\zeta\left(1+c_{1}\,\mathrm{sin}\,\zeta+c_{2}\,\mathrm{sin}^{2}\,\zeta\right),
r = \sqrt{x^{2}+y^{2}},
where x
and y
represent the abscissa and ordinate of an arbitrary point on the Preston curve
corresponding to an angle \zeta
; r
represents the distance of the point from the origin; a
, b
, c_{1}
,
and c_{2}
are parameters to be estimated.
\quad
When simpver = 2
, the simplified version 2 is selected:
y = a\ \mathrm{sin}\,\zeta,
x = b\ \mathrm{cos}\,\zeta\left(1+c_{1}\,\mathrm{sin}\,\zeta\right),
r = \sqrt{x^{2}+y^{2}},
where x
and y
represent the abscissa and ordinate of an arbitrary point on the Preston curve
corresponding to an angle \zeta
; r
represents the distance of the point from the origin; a
, b
, and c_{1}
are parameters to be estimated.
\quad
When simpver = 3
, the simplified version 3 is selected:
y = a\ \mathrm{sin}\,\zeta,
x = b\ \mathrm{cos}\,\zeta\left(1+c_{2}\,\mathrm{sin}^{2}\,\zeta\right),
r = \sqrt{x^{2}+y^{2}},
where x
and y
represent the abscissa and ordinate of an arbitrary point on the Preston curve
corresponding to an angle \zeta
; r
represents the distance of the point from the origin; a
, b
, and
c_{2}
are parameters to be estimated.
Value
x |
the abscissa(s) of the Preston curve corresponding to the given angle(s). |
y |
the ordinate(s) of the Preston curve corresponding to the given angle(s). |
r |
the distance(s) of the Preston curve corresponding to the given angle(s) from the origin. |
Note
\zeta
is NOT the polar angle corresponding to r
, i.e.,
y \neq r\,\mathrm{sin}\,\zeta,
x \neq r\,\mathrm{cos}\,\zeta.
Let \varphi
be the polar angle corresponding to r
. We have:
\zeta = \mathrm{arc\,sin}\frac{ r\ \mathrm{sin}\,\varphi }{a}.
Author(s)
Peijian Shi pjshi@njfu.edu.cn, Johan Gielis johan.gielis@uantwerpen.be, Brady K. Quinn Brady.Quinn@dfo-mpo.gc.ca.
References
Biggins, J.D., Montgomeries, R.M., Thompson, J.E., Birkhead, T.R. (2022) Preston's universal formula for avian egg shape. Ornithology 139, ukac028. doi:10.1093/ornithology/ukac028
Biggins, J.D., Thompson, J.E., Birkhead, T.R. (2018) Accurately quantifying
the shape of birds' eggs. Ecology and Evolution 8, 9728-
9738. doi:10.1002/ece3.4412
Preston, F.W. (1953) The shapes of birds' eggs. The Auk 70, 160-
182.
Shi, P., Wang, L., Quinn, B.K., Gielis, J. (2023) A new program to estimate the parameters of Preston's equation, a general formula for describing the egg shape of birds. Symmetry 15, 231. doi:10.3390/sym15010231
Todd, P.H., Smart, I.H.M. (1984) The shape of birds' eggs. Journal of Theoretical Biology
106, 239-
243. doi:10.1016/0022-5193(84)90021-3
See Also
Examples
zeta <- seq(0, 2*pi, len=2000)
Par1 <- c(10, 6, 0.325, -0.0415)
Res1 <- PE(P=Par1, zeta=zeta, simpver=1)
Par2 <- c(10, 6, -0.325, -0.0415)
Res2 <- PE(P=Par2, zeta=zeta, simpver=1)
dev.new()
plot(Res1$x, Res1$y, asp=1, type="l", col=4, cex.lab=1.5, cex.axis=1.5,
xlab=expression(italic(x)), ylab=expression(italic(y)))
lines(Res2$x, Res2$y, col=2)
dev.new()
plot(Res1$r, Res2$r, asp=1, cex.lab=1.5, cex.axis=1.5,
xlab=expression(paste(italic(r), ""[1], sep="")),
ylab=expression(paste(italic(r), ""[2], sep="")))
abline(0, 1, col=4)
graphics.off()