math
¶This module extends Asymptote
’s mathematical capabilities with
useful functions such as
void drawline(picture pic=currentpicture, pair P, pair Q, pen p=currentpen);
¶draw the visible portion of the (infinite) line going through
P
and Q
, without altering the size of picture pic
,
using pen p
.
real intersect(triple P, triple Q, triple n, triple Z);
¶returns the intersection time of the extension of the line segment PQ
with the plane perpendicular to n
and passing through Z
.
triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);
¶Return any point on the intersection of the two planes with normals
n0
and n1
passing through points P0
and P1
,
respectively. If the planes are parallel, return
(infinity,infinity,infinity)
.
pair[] quarticroots(real a, real b, real c, real d, real e);
¶returns the four complex roots of the quartic equation ax^4+bx^3+cx^2+dx+e=0.
real time(path g, real x, int n=0, real fuzz=-1)
¶returns the n
th intersection time of path g
with the vertical
line through x.
real time(path g, explicit pair z, int n=0, real fuzz=-1)
¶returns the n
th intersection time of path g
with the horizontal
line through (0,z.y)
.
real value(path g, real x, int n=0, real fuzz=-1)
¶returns the n
th y
value of g
at x
.
real value(path g, explicit pair z, int n=0, real fuzz=-1)
¶returns the n
th x
value of g
at y=z.y
.
real slope(path g, real x, int n=0, real fuzz=-1)
¶returns the n
th slope of g
at x
.
real slope(path g, explicit pair z, int n=0, real fuzz=-1)
¶returns the n
th slope of g
at y=z.y
.
int[][] segment(bool[] b)
returns the indices of consecutive true-element segments of bool[] b
.
real[] partialsum(real[] a)
¶returns the partial sums of a real array a
.
real[] partialsum(real[] a, real[] dx)
¶returns the partial dx
-weighted sums of a real array a
.
bool increasing(real[] a, bool strict=false)
¶returns, if strict=false
, whether i > j
implies
a[i] >= a[j]
, or if strict=true
, whether i > j
implies
implies a[i] > a[j]
.
int unique(real[] a, real x)
¶if the sorted array a
does not contain x
, insert it
sequentially, returning the index of x
in the resulting array.
bool lexorder(pair a, pair b)
¶returns the strict lexicographical partial order of a
and b
.
bool lexorder(triple a, triple b)
¶returns the strict lexicographical partial order of a
and b
.