Learn R Programming

biogeom (version 1.4.3)

GE: Calculation of the Polar Radius of the Gielis Curve

Description

GE is used to calculate polar radii of the original Gielis equation or one of its simplified versions at given polar angles.

Usage

GE(P, phi, m = 1, simpver = NULL, nval = 1)

Value

The polar radii predicted by the original Gielis equation or one of its simplified versions.

Arguments

P

the parameters of the original Gielis equation or one of its simplified versions.

phi

the polar angle(s).

m

the given \(m\) value that determines the number of angles of the Gielis curve within \([0, 2\pi)\).

simpver

an optional argument to use the simplified version of the original Gielis equation.

nval

the specified value for \(n_{1}\) or \(n_{2}\) or \(n_{3}\) in the simplified versions.

Author

Peijian Shi pjshi@njfu.edu.cn, Johan Gielis johan.gielis@uantwerpen.be, Brady K. Quinn Brady.Quinn@dfo-mpo.gc.ca.

Details

When simpver = NULL, the original Gielis equation is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}+ \left|\frac{1}{k}\,\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{3}}\right)^{-\frac{1}{n_{1}}},$$ where \(r\) represents the polar radius at the polar angle \(\varphi\); \(m\) determines the number of angles within \([0, 2\pi)\); and \(a\), \(k\), \(n_{1}\), \(n_{2}\), and \(n_{3}\) need to be provided in P.

\(\quad\) When simpver = 1, the simplified version 1 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}+ \left|\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}\right)^{-\frac{1}{n_{1}}},$$ where \(a\), \(n_{1}\), and \(n_{2}\) need to be provided in P.

\(\quad\) When simpver = 2, the simplified version 2 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}+ \left|\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}\right)^{-\frac{1}{n_{1}}}, $$ where \(a\) and \(n_{1}\) need to be provided in P, and \(n_{2}\) should be specified in nval.

\(\quad\) When simpver = 3, the simplified version 3 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}+ \left|\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}\right)^{-\frac{1}{n_{1}}}, $$ where \(a\) needs to be provided in P, and \(n_{1}\) should be specified in nval.

\(\quad\) When simpver = 4, the simplified version 4 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}+ \left|\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}\right)^{-\frac{1}{n_{1}}}, $$ where \(a\) and \(n_{1}\) need to be provided in P.

\(\quad\) When simpver = 5, the simplified version 5 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}+ \left|\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{3}}\right)^{-\frac{1}{n_{1}}},$$ where \(a\), \(n_{1}\), \(n_{2}\), and \(n_{3}\) need to be provided in P.

\(\quad\) When simpver = 6, the simplified version 6 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}+ \left|\frac{1}{k}\,\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}\right)^{-\frac{1}{n_{1}}},$$ where \(a\), \(k\), \(n_{1}\), and \(n_{2}\) need to be provided in P.

\(\quad\) When simpver = 7, the simplified version 7 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}+ \left|\frac{1}{k}\,\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{2}}\right)^{-\frac{1}{n_{1}}},$$ where \(a\), \(k\), and \(n_{1}\) need to be provided in P, and \(n_{2}\) should be specified in nval.

\(\quad\) When simpver = 8, the simplified version 8 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}+ \left|\frac{1}{k}\,\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}\right)^{-\frac{1}{n_{1}}},$$ where \(a\) and \(k\) are parameters that need to be provided in P, and \(n_{1}\) should be specified in nval.

\(\quad\) When simpver = 9, the simplified version 9 is selected: $$r\left(\varphi\right) = a\left(\left|\mathrm{cos}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}+ \left|\frac{1}{k}\,\mathrm{sin}\left(\frac{m}{4}\varphi\right)\right|^{n_{1}}\right)^{-\frac{1}{n_{1}}},$$ where \(a\), \(k\), and \(n_{1}\) need to be provided in P.

References

Gielis, J. (2003) A generic geometric transformation that unifies a wide range of natural and abstract shapes. American Journal of Botany 90, 333\(-\)338. tools:::Rd_expr_doi("10.3732/ajb.90.3.333")

Li, Y., Quinn, B.K., Gielis, J., Li, Y., Shi, P. (2022) Evidence that supertriangles exist in nature from the vertical projections of Koelreuteria paniculata fruit. Symmetry 14, 23. tools:::Rd_expr_doi("10.3390/sym14010023")

Shi, P., Gielis, J., Quinn, B.K., Niklas, K.J., Ratkowsky, D.A., Schrader, J., Ruan, H., Wang, L., Niinemets, Ü. (2022) 'biogeom': An R package for simulating and fitting natural shapes. Annals of the New York Academy of Sciences 1516, 123\(-\)134. tools:::Rd_expr_doi("10.1111/nyas.14862")

Shi, P., Ratkowsky, D.A., Gielis, J. (2020) The generalized Gielis geometric equation and its application. Symmetry 12, 645. tools:::Rd_expr_doi("10.3390/sym12040645")

Shi, P., Xu, Q., Sandhu, H.S., Gielis, J., Ding, Y., Li, H., Dong, X. (2015) Comparison of dwarf bamboos (Indocalamus sp.) leaf parameters to determine relationship between spatial density of plants and total leaf area per plant. Ecology and Evolution 5, 4578\(-\)4589. tools:::Rd_expr_doi("10.1002/ece3.1728")

See Also

areaGE, curveGE, DSGE, fitGE, SurfaceAreaSGE, TGE, VolumeSGE

Examples

Run this code
GE.par  <- c(2, 1, 4, 6, 3)
varphi.vec <- seq(0, 2*pi, len=2000)
r.theor <- GE(P=GE.par, phi=varphi.vec, m=5)

dev.new()
plot( varphi.vec, r.theor, cex.lab=1.5, cex.axis=1.5, 
      xlab=expression(italic(varphi)), ylab=expression(italic("r")),
      type="l", col=4 ) 

graphics.off()

Run the code above in your browser using DataLab