| zonogon-section | R Documentation |
Generically, a line intersects the boundary of a zonogon in 2 points.
Computing those 2 points is the chief goal of this function.
For a supporting line, the intersection is a face of the zonogon,
but in this function only one point of intersection is computed and returned.
## S3 method for class 'zonogon'
section( x, normal, beta, tol=1.e-10, plot=FALSE, ... )
x |
a zonogon object as returned by the constructor |
normal |
a non-zero numeric 2-vector - the normal of all the lines |
beta |
a numeric M-vector of line-constants.
The equation of the k'th line k is: |
tol |
a small positive number, used as the tolerance for the line being considered a supporting line |
plot |
if |
... |
not used |
section.zonogon() returns a data.frame with M rows and these columns:
normal |
the given normal vector - this is the same in every row |
beta |
the given line constant |
boundary1 |
the 1st intersection point - a 2-vector |
boundary2 |
the 2nd intersection point - a 2-vector |
Regarding orientation, if normal is considered "north" then
boundary1 is on the "west" and boundary2 is on the "east".
If a line is a supporting line of the zonogon,
then boundary1 is some point in the boundary face (vertex or edge),
and boundary2 is NA.
If a line does not intersect the zonogon,
both boundary1 and boundary2 are NA.
If the names of beta are unique,
they are copied to the row names of the output.
In case of error, the function returns NULL.
zonogon(),
plot.zonogon(),
section.zonohedron()
# make a zonogon with 5 generators
pz20 = polarzonogon( 20, 5 )
section( pz20, normal=c(1,1), beta=-1:5 )
# normal.1 normal.2 beta boundary1.1 boundary1.2 boundary2.1 boundary2.2
# 1 1 1 -1 NA NA NA NA
# 2 1 1 0 -2.220446e-16 0.000000e+00 NA NA
# 3 1 1 1 2.452373e-01 7.547627e-01 1.0000000 0.0000000
# 4 1 1 2 6.203838e-01 1.379616e+00 1.7547627 0.2452373
# 5 1 1 3 1.095537e+00 1.904463e+00 2.3796162 0.6203838
# 6 1 1 4 1.674729e+00 2.325271e+00 2.9044629 1.0955371
# 7 1 1 5 2.420068e+00 2.579932e+00 3.3252706 1.6747294
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.