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, wait
getBounds2D
protected CubicCurve2D()
CubicCurve2D.Float
, CubicCurve2D.Double
public 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 координат, используемых, чтобы установить стартовую точку этого CubicCurve2D
y1
- координата Y, используемая, чтобы установить стартовую точку этого CubicCurve2D
ctrlx1
- X координат, используемых, чтобы установить первую контрольную точку этого CubicCurve2D
ctrly1
- координата Y, используемая, чтобы установить первую контрольную точку этого CubicCurve2D
ctrlx2
- X координат, используемых, чтобы установить вторую контрольную точку этого CubicCurve2D
ctrly2
- координата Y, используемая, чтобы установить вторую контрольную точку этого CubicCurve2D
x2
- X координат, используемых, чтобы установить конечную точку этого CubicCurve2D
y2
- координата Y, используемая, чтобы установить конечную точку этого CubicCurve2D
public void setCurve(double[] coords, int offset)
coords
- двойной массив, содержащий координатыoffset
- индексирование coords
от которого можно начать устанавливать конечные точки и контрольные точки этой кривой к координатам, содержавшимся в coords
public 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
от которого можно начать устанавливать конечные точки и контрольные точки этой кривой к точкам, содержавшимся в pts
public void setCurve(CubicCurve2D c)
CubicCurve2D
.c
- указанное CubicCurve2D
public static double getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
x1
- эти X координат, которые определяют стартовую точку a CubicCurve2D
y1
- координата Y, которая определяет стартовую точку a CubicCurve2D
ctrlx1
- эти X координат, которые определяют первую контрольную точку a CubicCurve2D
ctrly1
- координата Y, которая определяет первую контрольную точку a CubicCurve2D
ctrlx2
- эти X координат, которые определяют вторую контрольную точку a CubicCurve2D
ctrly2
- координата Y, которая определяет вторую контрольную точку a CubicCurve2D
x2
- эти X координат, которые определяют конечную точку a CubicCurve2D
y2
- координата Y, которая определяет конечную точку a CubicCurve2D
CubicCurve2D
представленный указанными координатами.public static double getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
x1
- эти X координат, которые определяют стартовую точку a CubicCurve2D
y1
- координата Y, которая определяет стартовую точку a CubicCurve2D
ctrlx1
- эти X координат, которые определяют первую контрольную точку a CubicCurve2D
ctrly1
- координата Y, которая определяет первую контрольную точку a CubicCurve2D
ctrlx2
- эти X координат, которые определяют вторую контрольную точку a CubicCurve2D
ctrly2
- координата Y, которая определяет вторую контрольную точку a CubicCurve2D
x2
- эти X координат, которые определяют конечную точку a CubicCurve2D
y2
- координата Y, которая определяет конечную точку a CubicCurve2D
CubicCurve2D
представленный указанными координатами.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
в интерфейсе Shape
x
- X координат верхнего левого угла указанной прямоугольной областиy
- координата Y верхнего левого угла указанной прямоугольной областиw
- width указанной прямоугольной областиh
- height указанной прямоугольной областиtrue
если внутренняя часть Shape
и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false
иначе.Area
public boolean intersects(Rectangle2D r)
Shape
пересекает внутреннюю часть указанного Rectangle2D
. Shape.intersects()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться true
когда: Rectangle2D
и Shape
пересекитесь, но Shapes
этот метод мог бы возвратиться true
даже при том, что Rectangle2D
не пересекается Shape
. Area
class выполняет более точные вычисления геометрического пересечения чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.intersects
в интерфейсе Shape
r
- указанное Rectangle2D
true
если внутренняя часть 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
в интерфейсе Shape
x
- 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
в интерфейсе Shape
r
- Указанное Rectangle2D
true
если внутренняя часть 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
в интерфейсе Shape
Rectangle
это полностью включает Shape
.Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
CubicCurve2D
class не гарантирует что модификации геометрии этого CubicCurve2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
at
- дополнительное AffineTransform
быть примененным к координатам, поскольку они возвращаются в итерации, или null
если непреобразованные координаты требуютсяPathIterator
возразите, что возвращает геометрию схемы этого CubicCurve2D
, один сегмент за один раз.public PathIterator getPathIterator(AffineTransform at, double flatness)
CubicCurve2D
class не гарантирует что модификации геометрии этого CubicCurve2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
at
- дополнительное AffineTransform
быть примененным к координатам, поскольку они возвращаются в итерации, или null
если непреобразованные координаты требуютсяflatness
- максимальное количество, которое контрольные точки для данной кривой могут изменить от colinear перед подразделенной кривой, заменяется прямой линией, соединяющей конечные точкиPathIterator
возразите, что возвращает геометрию схемы этого CubicCurve2D
, один сегмент за один раз.public Object clone()
clone
в class Object
OutOfMemoryError
- если есть недостаточно памяти.Cloneable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92