|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class CubicCurve2D extends Object implements Shape, Cloneable
CubicCurve2D class определяет кубический параметрический сегмент кривой в (x,y) координатное пространство. Этот class является только абстрактным суперклассом для всех объектов, которые хранят 2-D кубический сегмент кривой. Фактическое представление хранения координат оставляют подклассу.
| Модификатор и Тип | Класс и Описание |
|---|---|
static class |
CubicCurve2D.Double
Кубический параметрический сегмент кривой, определенный с
double координаты. |
static class |
CubicCurve2D.Float
Кубический параметрический сегмент кривой, определенный с
float координаты. |
| Модификатор | Конструктор и Описание |
|---|---|
protected |
CubicCurve2D()
Это - абстрактный class, который нельзя инстанцировать непосредственно.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
Объект |
clone()
Создает новый объект того же самого class как этот объект.
|
boolean |
contains(double x, double y)
Тесты, если указанные координаты в границе
Shape, как описано определением внутренних. |
boolean |
contains(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape полностью содержит указанную прямоугольную область. |
boolean |
contains(Point2D p)
|
boolean |
contains(Rectangle2D r)
Тесты, если внутренняя часть
Shape полностью содержит указанное Rectangle2D. |
Прямоугольник |
getBounds()
Возвращает целое число
Rectangle это полностью включает Shape. |
abstract Point2D |
getCtrlP1()
Возвращает первую контрольную точку.
|
abstract Point2D |
getCtrlP2()
Возвращает вторую контрольную точку.
|
abstract double |
getCtrlX1()
Возвращает X координат первой контрольной точки в двойной точности.
|
abstract double |
getCtrlX2()
Возвращает X координат второй контрольной точки в двойной точности.
|
abstract double |
getCtrlY1()
Возвращает координату Y первой контрольной точки в двойной точности.
|
abstract double |
getCtrlY2()
Возвращает координату Y второй контрольной точки в двойной точности.
|
double |
getFlatness()
Возвращает плоскость этой кривой.
|
static double |
getFlatness(double[] coords, int offset)
Возвращается плоскость кубической кривой, определенной контрольными точками, сохраненными в обозначенном массиве в обозначенном, индексируют.
|
static double |
getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Возвращает плоскость кубической кривой, определенной обозначенными контрольными точками.
|
double |
getFlatnessSq()
Возвращает квадрат плоскости этой кривой.
|
static double |
getFlatnessSq(double[] coords, int offset)
Возвращается квадрат плоскости кубической кривой, определенной контрольными точками, сохраненными в обозначенном массиве в обозначенном, индексируют.
|
static double |
getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Возвращает квадрат плоскости кубической кривой, определенной обозначенными контрольными точками.
|
abstract Point2D |
getP1()
Возвращает стартовую точку.
|
abstract Point2D |
getP2()
Возвращает конечную точку.
|
PathIterator |
getPathIterator(AffineTransform at)
Возвращает итеративный объект, который определяет границу формы.
|
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Возвратите итеративный объект, который определяет границу сглаженной формы.
|
abstract double |
getX1()
Возвращает X координат стартовой точки в двойной точности.
|
abstract double |
getX2()
Возвращает X координат конечной точки в двойной точности.
|
abstract double |
getY1()
Возвращает координату Y стартовой точки в двойной точности.
|
abstract double |
getY2()
Возвращает координату Y конечной точки в двойной точности.
|
boolean |
intersects(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанной прямоугольной области. |
boolean |
intersects(Rectangle2D r)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанного Rectangle2D. |
void |
setCurve(CubicCurve2D c)
Устанавливает расположение конечных точек и контрольные точки этой кривой к тому же самому как те в указанном
CubicCurve2D. |
void |
setCurve(double[] coords, int offset)
Устанавливает расположение конечных точек и контрольные точки этой кривой к двойным координатам при указанном смещении в указанном массиве.
|
abstract void |
setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Устанавливает расположение конечных точек и контрольные точки этой кривой к указанным двойным координатам.
|
void |
setCurve(Point2D[] pts, int offset)
Устанавливает расположение конечных точек и контрольные точки этой кривой к координатам
Point2D объекты при указанном смещении в указанном массиве. |
void |
setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)
Устанавливает расположение конечных точек и контрольные точки этой кривой к указанному
Point2D координаты. |
static int |
solveCubic(double[] eqn)
Решает кубическое, коэффициенты которого находятся в
eqn массив и места некомплекс базируются назад в тот же самый массив, возвращая число корней. |
static int |
solveCubic(double[] eqn, double[] res)
Решите кубическое, коэффициенты которого находятся в
eqn выстройте и поместите несложные корни в res массив, возвращая число корней. |
void |
subdivide(CubicCurve2D left, CubicCurve2D right)
Подразделяет эту кубическую кривую и хранит получающиеся две подразделенных кривые в левые и правые параметры кривой.
|
static void |
subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D right)
Подразделяет кубическую кривую, определенную
src параметр и хранилища получающиеся две подразделенных кривые в left и right параметры кривой. |
static void |
subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
Подразделяет кубическую кривую, определенную координатами, сохраненными в
src массив в индексах srcoff через (srcoff + 7) и хранилища получающиеся две подразделенных кривые в два массива результата в соответствующих индексах. |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBounds2Dprotected CubicCurve2D()
CubicCurve2D.Float, CubicCurve2D.Doublepublic abstract double getX1()
CubicCurve2D.public abstract double getY1()
CubicCurve2D.public abstract Point2D getP1()
Point2D это - стартовая точка CubicCurve2D.public abstract double getCtrlX1()
CubicCurve2D.public abstract double getCtrlY1()
CubicCurve2D.public abstract Point2D getCtrlP1()
Point2D это - первая контрольная точка CubicCurve2D.public abstract double getCtrlX2()
CubicCurve2D.public abstract double getCtrlY2()
CubicCurve2D.public abstract Point2D getCtrlP2()
Point2D это - вторая контрольная точка CubicCurve2D.public abstract double getX2()
CubicCurve2D.public abstract double getY2()
CubicCurve2D.public abstract Point2D getP2()
Point2D это - конечная точка CubicCurve2D.public abstract void setCurve(double x1,
double y1,
double ctrlx1,
double ctrly1,
double ctrlx2,
double ctrly2,
double x2,
double y2)
x1 - X координат, используемых, чтобы установить стартовую точку этого CubicCurve2Dy1 - координата Y, используемая, чтобы установить стартовую точку этого CubicCurve2Dctrlx1 - X координат, используемых, чтобы установить первую контрольную точку этого CubicCurve2Dctrly1 - координата Y, используемая, чтобы установить первую контрольную точку этого CubicCurve2Dctrlx2 - X координат, используемых, чтобы установить вторую контрольную точку этого CubicCurve2Dctrly2 - координата Y, используемая, чтобы установить вторую контрольную точку этого CubicCurve2Dx2 - X координат, используемых, чтобы установить конечную точку этого CubicCurve2Dy2 - координата Y, используемая, чтобы установить конечную точку этого CubicCurve2Dpublic void setCurve(double[] coords,
int offset)
coords - двойной массив, содержащий координатыoffset - индексирование coords от которого можно начать устанавливать конечные точки и контрольные точки этой кривой к координатам, содержавшимся в coordspublic void setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)
Point2D координаты.p1 - определенное первое Point2D используемый, чтобы установить стартовую точку этой кривойcp1 - определенное второе Point2D используемый, чтобы установить первую контрольную точку этой кривойcp2 - определенное третье Point2D используемый, чтобы установить вторую контрольную точку этой кривойp2 - определенное четвертое Point2D используемый, чтобы установить конечную точку этой кривойpublic void setCurve(Point2D[] pts, int offset)
Point2D объекты при указанном смещении в указанном массиве.pts - массив Point2D объектыoffset - индексирование pts от которого можно начать устанавливать конечные точки и контрольные точки этой кривой к точкам, содержавшимся в ptspublic void setCurve(CubicCurve2D c)
CubicCurve2D.c - указанное CubicCurve2Dpublic static double getFlatnessSq(double x1,
double y1,
double ctrlx1,
double ctrly1,
double ctrlx2,
double ctrly2,
double x2,
double y2)
x1 - эти X координат, которые определяют стартовую точку a CubicCurve2Dy1 - координата Y, которая определяет стартовую точку a CubicCurve2Dctrlx1 - эти X координат, которые определяют первую контрольную точку a CubicCurve2Dctrly1 - координата Y, которая определяет первую контрольную точку a CubicCurve2Dctrlx2 - эти X координат, которые определяют вторую контрольную точку a CubicCurve2Dctrly2 - координата Y, которая определяет вторую контрольную точку a CubicCurve2Dx2 - эти X координат, которые определяют конечную точку a CubicCurve2Dy2 - координата Y, которая определяет конечную точку a CubicCurve2DCubicCurve2D представленный указанными координатами.public static double getFlatness(double x1,
double y1,
double ctrlx1,
double ctrly1,
double ctrlx2,
double ctrly2,
double x2,
double y2)
x1 - эти X координат, которые определяют стартовую точку a CubicCurve2Dy1 - координата Y, которая определяет стартовую точку a CubicCurve2Dctrlx1 - эти X координат, которые определяют первую контрольную точку a CubicCurve2Dctrly1 - координата Y, которая определяет первую контрольную точку a CubicCurve2Dctrlx2 - эти X координат, которые определяют вторую контрольную точку a CubicCurve2Dctrly2 - координата Y, которая определяет вторую контрольную точку a CubicCurve2Dx2 - эти X координат, которые определяют конечную точку a CubicCurve2Dy2 - координата Y, которая определяет конечную точку a CubicCurve2DCubicCurve2D представленный указанными координатами.public static double getFlatnessSq(double[] coords,
int offset)
coords - массив, содержащий координатыoffset - индексирование coords от которого можно начать получать конечные точки и контрольные точки кривойCubicCurve2D определенный координатами в coords при указанном смещении.public static double getFlatness(double[] coords,
int offset)
coords - массив, содержащий координатыoffset - индексирование coords от которого можно начать получать конечные точки и контрольные точки кривойCubicCurve2D определенный координатами в coords при указанном смещении.public double getFlatnessSq()
public double getFlatness()
public void subdivide(CubicCurve2D left, CubicCurve2D right)
left - кубическая кривая возражает для того, чтобы сохранить для покинутых или первой половины подразделенной кривойright - кубическая кривая возражает для того, чтобы сохранить для правильной или второй половины подразделенной кривойpublic static void subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D right)
src параметр и хранилища получающиеся две подразделенных кривые в left и right параметры кривой. Или или оба из left и right объекты могут быть тем же самым как src объект или null.src - кубическая кривая, которая будет подразделенаleft - кубическая кривая возражает для того, чтобы сохранить покинутых или первую половину подразделенной кривойright - кубическая кривая возражает для того, чтобы сохранить правильную или вторую половину подразделенной кривойpublic static void subdivide(double[] src,
int srcoff,
double[] left,
int leftoff,
double[] right,
int rightoff)
src массив в индексах srcoff через (srcoff + 7) и хранилища получающиеся две подразделенных кривые в два массива результата в соответствующих индексах. Или или оба из left и right массивы могут быть null или ссылка на тот же самый массив как src массив. Отметьте, что последняя точка в первой подразделенной кривой является тем же самым как первой точкой во второй подразделенной кривой. Таким образом возможно передать тот же самый массив для left и right и использовать смещения, такой как rightoff равняется (leftoff + 6), чтобы избежать выделять дополнительное хранение для этой общей точки.src - массив, содержащий координаты для исходной кривойsrcoff - смещение в массив начала 6 исходных координатleft - массив для того, чтобы сохранить координаты для первой половины подразделенной кривойleftoff - смещение в массив начала 6 левых координатright - массив для того, чтобы сохранить координаты для второй половины подразделенной кривойrightoff - смещение в массив начала 6 правильных координатpublic static int solveCubic(double[] eqn)
eqn массив и места некомплекс базируются назад в тот же самый массив, возвращая число корней. Решенное кубическое представляется уравнением:
eqn = {c, b, a, d}
dx^3 + ax^2 + bx + c = 0
Возвращаемое значение-1 используется, чтобы отличить постоянное уравнение, которое могло бы всегда быть 0 или никогда 0 от уравнения, которое имеет, не обнуляет.eqn - массив, содержащий коэффициенты для кубическогоpublic static int solveCubic(double[] eqn,
double[] res)
eqn выстройте и поместите несложные корни в res массив, возвращая число корней. Решенное кубическое представляется уравнением: eqn = {c, b, a, d} dx^3 + ax^2 + основной обмен + c = 0 возвращаемое значение-1 используется, чтобы отличить постоянное уравнение, которое может всегда быть 0 или никогда 0 от уравнения, которое имеет, не обнуляет.eqn - указанный массив коэффициентов, чтобы использовать, чтобы решить кубическое уравнениеres - массив, который содержит несложные корни, следующие из решения кубического уравненияpublic boolean contains(double x,
double y)
Shape, как описано определением внутренних.public boolean contains(Point2D p)
public boolean intersects(double x,
double y,
double w,
double h)
Shape пересекает внутреннюю часть указанной прямоугольной области. Прямоугольная область, как полагают, пересекается Shape если какая-либо точка содержится в обоих внутренняя часть Shape и указанная прямоугольная область. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда:
Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что прямоугольная область не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.intersects в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Areapublic boolean intersects(Rectangle2D r)
Shape пересекает внутреннюю часть указанного Rectangle2D. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда: Rectangle2D и Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что Rectangle2D не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.intersects в интерфейсе Shaper - указанное Rectangle2Dtrue если внутренняя часть Shape и внутренняя часть указанного Rectangle2D пересекитесь, или, и, очень вероятно, пересекутся и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Shape.intersects(double, double, double, double)public boolean contains(double x,
double y,
double w,
double h)
Shape полностью содержит указанную прямоугольную область. Все координаты, которые лежат в прямоугольной области, должны лечь в пределах Shape для всей rectanglar области, которую рассмотрят содержавший в пределах Shape. Shape.contains() метод позволяет a Shape реализация, чтобы консервативно возвратиться false когда:
intersect возвраты метода true и Shape полностью содержит прямоугольную область, предельно дороги. Shapes этот метод мог бы возвратиться false даже при том, что Shape содержит прямоугольную область. Area class выполняет более точные геометрические вычисления чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.contains в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape полностью содержит указанную прямоугольную область; false иначе или, если Shape содержит прямоугольную область и intersects возвраты метода true и вычисления включения были бы слишком дороги, чтобы выполнить.Area, Shape.intersects(double, double, double, double)public boolean contains(Rectangle2D r)
Shape полностью содержит указанное Rectangle2D. Shape.contains() метод позволяет a Shape реализация, чтобы консервативно возвратиться false когда: intersect возвраты метода true и Shape полностью содержит Rectangle2D предельно дороги. Shapes этот метод мог бы возвратиться false даже при том, что Shape содержит Rectangle2D. Area class выполняет более точные геометрические вычисления чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.contains в интерфейсе Shaper - Указанное Rectangle2Dtrue если внутренняя часть Shape полностью содержит Rectangle2D; false иначе или, если Shape содержит Rectangle2D и intersects возвраты метода true и вычисления включения были бы слишком дороги, чтобы выполнить.Shape.contains(double, double, double, double)public Rectangle getBounds()
Rectangle это полностью включает Shape. Отметьте, что нет никакой гарантии что возвращенный Rectangle самый маленький ограничивающий прямоугольник, который включает Shape, только то, что Shape находится полностью в пределах обозначенного Rectangle. Возвращенный Rectangle мог бы также быть не в состоянии полностью включить Shape если Shape переполняет ограниченного диапазона целочисленного типа данных. getBounds2D метод обычно возвращает более трудный ограничивающий прямоугольник из-за его большей гибкости в представлении. Отметьте, что определение внутренних может привести к ситуациям где точки на схеме определения shape возможно, не считается содержавшимся в возвращенном bounds объект, но только в случаях, где те вопросы также не рассматриваются содержавшиеся в оригинале shape.
Если a point в shape согласно contains(point) метод, тогда это должно быть в возвращенном Rectangle границы возражают согласно contains(point) метод bounds. Определенно:
shape.contains(x,y) требует bounds.contains(x,y)
Если a point не в shape, тогда это могло бы все еще содержаться в bounds объект:
bounds.contains(x,y) не подразумевает shape.contains(x,y)
getBounds в интерфейсе ShapeRectangle это полностью включает Shape.Shape.getBounds2D()public PathIterator getPathIterator(AffineTransform at)
CubicCurve2D class не гарантирует что модификации геометрии этого CubicCurve2D объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator в интерфейсе Shapeat - дополнительное AffineTransform быть примененным к координатам, поскольку они возвращаются в итерации, или null если непреобразованные координаты требуютсяPathIterator возразите, что возвращает геометрию схемы этого CubicCurve2D, один сегмент за один раз.public PathIterator getPathIterator(AffineTransform at, double flatness)
CubicCurve2D class не гарантирует что модификации геометрии этого CubicCurve2D объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator в интерфейсе Shapeat - дополнительное AffineTransform быть примененным к координатам, поскольку они возвращаются в итерации, или null если непреобразованные координаты требуютсяflatness - максимальное количество, которое контрольные точки для данной кривой могут изменить от colinear перед подразделенной кривой, заменяется прямой линией, соединяющей конечные точкиPathIterator возразите, что возвращает геометрию схемы этого CubicCurve2D, один сегмент за один раз.public Object clone()
clone в class ObjectOutOfMemoryError - если есть недостаточно памяти.Cloneable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92