PhiRectangle

trait PhiRectangle extends Rectangle

Golden rectangle, a rectangle whose side lengths are in the golden ratio, 1 : 1 + 5 2 {\displaystyle 1:{\tfrac {1+{\sqrt {5 }}} {2 }}} 1:{\tfrac {1+{\sqrt {5 }}} {2}}, which is 1 : φ {\displaystyle 1:\varphi } 1:\varphi (the Greek letter phi), where φ {\displaystyle \varphi } \varphi is approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square are Golden rectangles as well. A method to construct a golden rectangle. Owing to the Pythagorean theorem,[a] the diagonal dividing one half of a square equals the radius of a circle whose outermost point is also the corner of a golden rectangle added to the square. {1+{\sqrt {5 }}} approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square are Golden rectangles as well. A method to construct a golden rectangle. Owing to the Pythagorean theorem,[a] the diagonal dividing one half of a square equals the radius of a circle whose outermost point is also the corner of a golden rectangle added to the square. {2 }}} {1+{\sqrt {5 }}} {2}}, which is 1 : φ {\displaystyle 1:\varphi } 1:\varphi (the Greek letter phi), where φ {\displaystyle \varphi } \varphi is approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square are Golden rectangles as well. A method to construct a golden rectangle. Owing to the Pythagorean theorem,[a] the diagonal dividing one half of a square equals the radius of a circle whose outermost point is also the corner of a golden rectangle added to the square. {1+{\sqrt {5 }}} approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square are Golden rectangles as well. A method to construct a golden rectangle. Owing to the Pythagorean theorem,[a] the diagonal dividing one half of a square equals the radius of a circle whose outermost point is also the corner of a golden rectangle added to the square. Golden rectangle, a rectangle whose side lengths are in the golden ratio, 1 : 1 + 5 2 {\displaystyle 1:{\tfrac {1+{\sqrt {5 }}} {1+{\sqrt {5 }}} {2}}, which is 1 : φ {\displaystyle 1:\varphi } 1:\varphi (the Greek letter phi), where φ {\displaystyle \varphi } \varphi is approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square are Golden rectangles as well. A method to construct a golden rectangle. Owing to the Pythagorean theorem,[a] the diagonal dividing one half of a square equals the radius of a circle whose outermost point is also the corner of a golden rectangle added to the square. {1+{\sqrt {5 }}} approximately 1.618. Golden rectangles exhibit a special form of self-similarity: All rectangles created by adding or removing a square are Golden rectangles as well. A method to construct a golden rectangle. Owing to the Pythagorean theorem,[a] the diagonal dividing one half of a square equals the radius of a circle whose outermost point is also the corner of a golden rectangle added to the square.

Companion:
object
trait Rectangle
trait Polygon
trait Approx[Double]
trait Equals
trait Shape
trait Fillable
trait Drawable
trait GeomElem
class Object
trait Matchable
class Any

Type members

Inherited types

override type SideT = LineSeg
Inherited from:
Polygon

Value members

Concrete methods

override def negX: PhiRectangle

Mirror, reflection transformation across the X axis on a PhiRectangle, returns a PhiRectangle.

Mirror, reflection transformation across the X axis on a PhiRectangle, returns a PhiRectangle.

Definition Classes
override def negY: PhiRectangle

Mirror, reflection transformation across the X axis on a PhiRectangle, returns a PhiRectangle.

Mirror, reflection transformation across the X axis on a PhiRectangle, returns a PhiRectangle.

Definition Classes
override def prolign(matrix: ProlignMatrix): PhiRectangle
Definition Classes
override def reflect(lineLike: LineLike): PhiRectangle
Definition Classes
override def rotate(angle: AngleVec): PhiRectangle
Definition Classes
override def scale(operand: Double): PhiRectangle

Uniform scaling transformation on a PhiRectangle returns a PhiRectangle.

Uniform scaling transformation on a PhiRectangle returns a PhiRectangle.

Definition Classes
override def slate(offset: Vec2Like): PhiRectangle

Translate geometric transformation on a PhiRectangle returns a PhiRectangle.

Translate geometric transformation on a PhiRectangle returns a PhiRectangle.

Definition Classes
override def slateXY(xDelta: Double, yDelta: Double): PhiRectangle

Translate geometric transformation on a PhiRectangle returns a PhiRectangle.

Translate geometric transformation on a PhiRectangle returns a PhiRectangle.

Definition Classes

Inherited methods

def active(id: AnyRef): PolygonActive
Inherited from:
Polygon
def activeChildren(id: AnyRef, children: GraphicElems): PolygonCompound
Inherited from:
Polygon
Inherited from:
Rectangle
override def approx(that: Any, precision: Double): Boolean
Definition Classes
Inherited from:
Polygon
override def attribs: Arr[XANumeric]
Definition Classes
Inherited from:
Rectangle
Inherited from:
BoundedElem
final def boundCen: Pt2

The centre of the bounding rectangle. consider also using cenDefault.

The centre of the bounding rectangle. consider also using cenDefault.

Inherited from:
BoundedElem
Inherited from:
BoundedElem

Currently throws, not sure if that is the correct behaviour. Creates a bounding rectangle for a collection of 2d points

Currently throws, not sure if that is the correct behaviour. Creates a bounding rectangle for a collection of 2d points

Definition Classes
Inherited from:
Polygon

The width of the BoundingRect of this object.

The width of the BoundingRect of this object.

Inherited from:
BoundedElem
Inherited from:
BoundedElem
def canEqual(that: Any): Boolean

This canEqual override allow the comparison of Shapes.

This canEqual override allow the comparison of Shapes.

Inherited from:
Shape
def cen: Pt2

The centre of this geometric / graphical element. The centre will not change if the object type is capable of being rotated and is rotated. The cenDefault on other bounded elements may move relative to points on the object when the object is rotated.

The centre of this geometric / graphical element. The centre will not change if the object type is capable of being rotated and is rotated. The cenDefault on other bounded elements may move relative to points on the object when the object is rotated.

Inherited from:
WithCentre
final override def cenDefault: Pt2

The default centre of this object is the centre. The centre will not change if the object type is capable of being rotated and is rotated.

The default centre of this object is the centre. The centre will not change if the object type is capable of being rotated and is rotated.

Definition Classes
Inherited from:
CentredElem
def cenPt: Pt2

The centre point of this Polygon. The default centre for Polygons is the centre of the bounding rectangle.

The centre point of this Polygon. The default centre for Polygons is the centre of the bounding rectangle.

Inherited from:
Polygon
Inherited from:
Polygon

The X component of the centre.

The X component of the centre.

Inherited from:
WithCentre

The Y component of the centre.

The Y component of the centre.

Inherited from:
WithCentre
Inherited from:
Rectangle
Inherited from:
Rectangle
Inherited from:
Rectangle
override def draw(lineColour: Colour, lineWidth: Double): RectangleDraw
Definition Classes
Inherited from:
Rectangle
def drawActive(lineColour: Colour, lineWidth: Double, pointerID: AnyRef): PolygonCompound
Inherited from:
Polygon
Inherited from:
Polygon
override def fill(fillColour: Colour): RectangleFill
Definition Classes
Inherited from:
Rectangle
def fillActive(fillColour: Colour, pointerID: AnyRef): PolygonCompound
Inherited from:
Polygon
def fillActiveDraw(fillColour: Colour, pointerID: AnyRef, lineColour: Colour, lineWidth: Double): PolygonCompound

Creates a PolygonCompound graphic that is active with a simple 1 colour fill and has a draw graphic for the Polygon. The default values for the draw area line width of 2 and a colour of Black.

Creates a PolygonCompound graphic that is active with a simple 1 colour fill and has a draw graphic for the Polygon. The default values for the draw area line width of 2 and a colour of Black.

Inherited from:
Polygon
override def fillDraw(fillColour: Colour, lineColour: Colour, lineWidth: Double): PolygonCompound
Definition Classes
Inherited from:
Polygon
def fillDrawActive(fillColour: Colour, pointerID: AnyRef, lineWidth: Double, lineColour: Colour): PolygonCompound
Inherited from:
Polygon
def fillDrawText(fillColour: Colour, str: String, fontSize: Int, lineColour: Colour, lineWidth: Double): PolygonCompound
Inherited from:
Polygon
def fillDrawTextActive(fillColour: Colour, pointerID: AnyRef, str: String, fontSize: Int, lineWidth: Double, lineColour: Colour, align: TextAlign): PolygonCompound
Inherited from:
Polygon
override def fillInt(intValue: Int): RectangleFill
Definition Classes
Inherited from:
Rectangle
def fillText(fillColour: Colour, str: String, fontSize: Int, textColour: Colour, layer: Int): PolygonCompound
Inherited from:
Polygon
def fillTextActive(fillColour: Colour, pointerEv: AnyRef, str: String, fontSize: Int, fontColour: Colour, align: TextAlign): PolygonCompound
Inherited from:
Polygon
override def foreachVertPairTail[U](f: (Double, Double) => U): Unit
Definition Classes
Inherited from:
Rectangle
final override def foreachVertTail[U](f: Pt2 => U): Unit
Definition Classes
Inherited from:
Rectangle
Inherited from:
Rectangle
def iForeachSide(initCount: Int)(f: (LineSeg, Int) => Unit): Unit

foreachs over the sides or edges of the Polygon These are of type LineSeg.

foreachs over the sides or edges of the Polygon These are of type LineSeg.

Inherited from:
Polygon
def insVert(insertionPoint: Int, newVec: Pt2): Polygon

Insert vertex.

Insert vertex.

Inherited from:
Polygon
def insVerts(insertionPoint: Int, newVecs: Pt2*): Polygon

Insert vertices before the specified insertion vertex.

Insert vertices before the specified insertion vertex.

Inherited from:
Polygon
def map[B <: ElemValueN, BB <: PolygonLike[B]](f: Pt2 => B)(implicit build: PolygonBuilder[B, BB]): BB

Map this collection of data elements to PolygonLike class of type BB.

Map this collection of data elements to PolygonLike class of type BB.

Inherited from:
PolygonLike
def parentFillText(pointerID: Any, fillColour: Colour, str: String, fontSize: Int, textColour: Colour, align: TextAlign): PolygonCompound
Inherited from:
Polygon
Inherited from:
Polygon
Inherited from:
Polygon
def ptInside(pt: Pt2): Boolean

Determines if the parameter point lies inside this Polygon.

Determines if the parameter point lies inside this Polygon.

Inherited from:
Polygon
override def rotate180: Rectangle
Definition Classes
Inherited from:
Rectangle
override def rotate270: Rectangle
Definition Classes
Inherited from:
Rectangle
override def rotate90: Rectangle
Definition Classes
Inherited from:
Rectangle
override def scaleXY(xOperand: Double, yOperand: Double): Rectangle
Definition Classes
Inherited from:
Rectangle
def sd0Cen: Pt2

The centre or half way point of side 0 of this polygon. Side 0 starts at the vertex v0 and ends at the vertex v1. This can be thought of as vertex 0.5.

The centre or half way point of side 0 of this polygon. Side 0 starts at the vertex v0 and ends at the vertex v1. This can be thought of as vertex 0.5.

Inherited from:
Polygon3Plus

The X component of the centre or half way point of side 0 of this polygon.

The X component of the centre or half way point of side 0 of this polygon.

Inherited from:
Polygon3Plus

The Y component of the centre or half way point of side 0 of this polygon.

The Y component of the centre or half way point of side 0 of this polygon.

Inherited from:
Polygon3Plus
def sd1Cen: Pt2

The centre or half way point of side 1 of this polygon. Side 1 starts at the v1 vertex and ends at the v2 vertex. This can be thought of as vertex 1.5

The centre or half way point of side 1 of this polygon. Side 1 starts at the v1 vertex and ends at the v2 vertex. This can be thought of as vertex 1.5

Inherited from:
Polygon3Plus

The X component of the centre or half way point of side 1 of this polygon.

The X component of the centre or half way point of side 1 of this polygon.

Inherited from:
Polygon3Plus

The Y component of the centre or half way point of side 1 of this polygon.

The Y component of the centre or half way point of side 1 of this polygon.

Inherited from:
Polygon3Plus
def sd2Cen: Pt2

The centre or half way point of side 2 of this polygon. Side 2 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

The centre or half way point of side 2 of this polygon. Side 2 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

Inherited from:
Polygon3Plus

The X component of the centre or half way point of side 2 of this polygon.

The X component of the centre or half way point of side 2 of this polygon.

Inherited from:
Polygon3Plus

The Y component of the centre or half way point of side 2 of this polygon.

The Y component of the centre or half way point of side 2 of this polygon.

Inherited from:
Polygon3Plus
def sd3Cen: Pt2

The centre or half way point of side 3 of this polygon.

The centre or half way point of side 3 of this polygon.

Inherited from:
Polygon4Plus

The X component of the centre or half way point of side 3 of this polygon.

The X component of the centre or half way point of side 3 of this polygon.

Inherited from:
Polygon4Plus

The Y component of the centre or half way point of side 3 of this polygon.

The Y component of the centre or half way point of side 3 of this polygon.

Inherited from:
Polygon4Plus
override def shearX(operand: Double): Polygon

Shear 2D geometric transformation along the X Axis on a Polygon, returns a Polygon. The return type will be narrowed in some but not all sub classes and traits.

Shear 2D geometric transformation along the X Axis on a Polygon, returns a Polygon. The return type will be narrowed in some but not all sub classes and traits.

Definition Classes
Inherited from:
Polygon
override def shearY(operand: Double): Polygon

Shear 2D geometric transformation along the Y Axis on a Polygon, returns a Polygon. The return type will be narrowed in sub classes and traits.

Shear 2D geometric transformation along the Y Axis on a Polygon, returns a Polygon. The return type will be narrowed in sub classes and traits.

Definition Classes
Inherited from:
Polygon
def side(index: Int): LineSeg
Inherited from:
Polygon

Polygon side 0 from vertex 0 to vertex 1.

Polygon side 0 from vertex 0 to vertex 1.

Inherited from:
Polygon3Plus

Polygon side 1 from vertex 1 to vertex 2.

Polygon side 1 from vertex 1 to vertex 2.

Inherited from:
Polygon3Plus

Polygon side 2 from vertex 2 to vertex 3.

Polygon side 2 from vertex 2 to vertex 3.

Inherited from:
Polygon3Plus
def sidesFold[A](init: A)(f: (A, LineSeg) => A): A
Inherited from:
Polygon
override def sidesForeach[U](f: LineSeg => U): Unit

foreachs over the sides or edges of the Polygon These are of type LineSeg.

foreachs over the sides or edges of the Polygon These are of type LineSeg.

Definition Classes
Inherited from:
Polygon
def sidesIFlatMap[AA <: SeqImut[_]](initCount: Int)(f: (LineSeg, Int) => AA)(implicit build: ArrFlatBuilder[AA]): AA

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

Inherited from:
Polygon
def sidesIMap[A, AA <: SeqImut[A]](initCount: Int)(f: (LineSeg, Int) => A)(implicit build: ArrBuilder[A, AA]): AA

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

Inherited from:
Polygon
def sidesMap[A, AA <: SeqImut[A]](f: LineSeg => A)(implicit build: ArrBuilder[A, AA]): AA

maps over the sides or edges of the Polygon These are of type LineSeg.

maps over the sides or edges of the Polygon These are of type LineSeg.

Inherited from:
Polygon
def sline(index: Int): LineSeg
Inherited from:
Polygon
Inherited from:
BoundedElem
Inherited from:
BoundedElem
final override def unsafeVert(index: Int): Pt2
Definition Classes
Inherited from:
Rectangle
def v0: Pt2

Vertex v0, will throw on a 0 vertices polygon.

Vertex v0, will throw on a 0 vertices polygon.

Inherited from:
Polygon
def v0x: Double

The X component of vertex v0, will throw on a 0 vertices polygon.

The X component of vertex v0, will throw on a 0 vertices polygon.

Inherited from:
Polygon
def v0y: Double

The Y component of vertex v1, will throw on a 0 vertices polygon.

The Y component of vertex v1, will throw on a 0 vertices polygon.

Inherited from:
Polygon
def v1: Pt2

The v1 Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

The v1 Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

Inherited from:
Polygon3Plus
def v1x: Double

The X component of the v1 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

The X component of the v1 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

Inherited from:
Polygon3Plus
def v1y: Double

The Y component of the v1 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

The Y component of the v1 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

Inherited from:
Polygon3Plus
def v2: Pt2

The v2 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

The v2 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

Inherited from:
Polygon3Plus
def v2x: Double

The X component of the v2 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

The X component of the v2 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

Inherited from:
Polygon3Plus
def v2y: Double

The Y component of the v2 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

The Y component of the v2 vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 0 vertex at or immediately clockwise from 12 o'clock.

Inherited from:
Polygon3Plus
def v3: Pt2

The 4th Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The 4th Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

Inherited from:
Polygon4Plus
def v3x: Double

The X component of vertex 3. The default convention is for the vertices to be numbered in a clockwise direction with the vertex 0 immediately clockwise from 12 o'clock.

The X component of vertex 3. The default convention is for the vertices to be numbered in a clockwise direction with the vertex 0 immediately clockwise from 12 o'clock.

Inherited from:
Polygon4Plus
def v3y: Double

The Y component of the 4th Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The Y component of the 4th Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

Inherited from:
Polygon4Plus
override def vLast: Pt2

The last vertex. The default convention places this just anti clockwise of 12 oclock.

The last vertex. The default convention places this just anti clockwise of 12 oclock.

Definition Classes
Inherited from:
Polygon3Plus
final def vert(index: Int): Pt2

Returns the vertex of the given index. If the index is out of range, it will just circle round the vertices, so for a triangle -1 gives v2, -2 gives v1, 3 gives v0, 4 gives v1 etc. It will not throw unlike the unsafeVert method.

Returns the vertex of the given index. If the index is out of range, it will just circle round the vertices, so for a triangle -1 gives v2, -2 gives v1, 3 gives v0, 4 gives v1 etc. It will not throw unlike the unsafeVert method.

Inherited from:
Polygon
override def vertsArray: Array[Double]
Definition Classes
Inherited from:
Rectangle
final override def vertsArrayX: Array[Double]
Definition Classes
Inherited from:
Rectangle
final override def vertsArrayY: Array[Double]
Definition Classes
Inherited from:
Rectangle
def vertsFlatMap[BB <: SeqImut[_]](f: Pt2 => BB)(implicit build: ArrFlatBuilder[BB]): BB

flatMap to an immutable Arr.

flatMap to an immutable Arr.

Inherited from:
Polygon
override def vertsFold[B](init: B)(f: (B, Pt2) => B): B
Definition Classes
Inherited from:
Polygon

This method should be overridden in final classes.

This method should be overridden in final classes.

Inherited from:
PolygonLike
final override def vertsForeach[U](f: Pt2 => U): Unit
Definition Classes
Inherited from:
Rectangle
def vertsIFlatMap[BB <: SeqImut[_]](iInit: Int)(f: (Pt2, Int) => BB)(implicit build: ArrFlatBuilder[BB]): BB

flatMap with index to an immutable Arr.

flatMap with index to an immutable Arr.

Inherited from:
Polygon
override def vertsIForeach[U](f: (Int, Pt2) => Any): Unit
Definition Classes
Inherited from:
Polygon
override def vertsMap[B, ArrB <: SeqImut[B]](f: Pt2 => B)(implicit build: ArrBuilder[B, ArrB]): ArrB
Definition Classes
Inherited from:
Polygon

Checks this polygon has at least 3 vertices.

Checks this polygon has at least 3 vertices.

Inherited from:
PolygonLike
final override def vertsNum: Int
Definition Classes
Inherited from:
Rectangle
override def vertsPrevForEach[U](f: (Pt2, Pt2) => U): Unit

This method does nothing if the vertNum < 2. Foreach vertex applies the side effecting function to the previous vertex with each vertex. The previous vertex to the first vertex is the last vertex of the PolygonLike. Note the function signature (previous, vertex) => U follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods'(accumulator, element) => B signature.

This method does nothing if the vertNum < 2. Foreach vertex applies the side effecting function to the previous vertex with each vertex. The previous vertex to the first vertex is the last vertex of the PolygonLike. Note the function signature (previous, vertex) => U follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods'(accumulator, element) => B signature.

Definition Classes
Inherited from:
Polygon

A function that takes a 2D geometric transformation on a Pt2 as a parameter and performs the transformation on all the vertices returning a new transformed Polygon

A function that takes a 2D geometric transformation on a Pt2 as a parameter and performs the transformation on all the vertices returning a new transformed Polygon

Inherited from:
Polygon

length from v2 to v3 and v03 to v1.

length from v2 to v3 and v03 to v1.

Inherited from:
Rectangle
Inherited from:
Rectangle
Inherited from:
Rectangle
override def xVert(index: Int): Double
Definition Classes
Inherited from:
Rectangle
Inherited from:
Rectangle
override def yVert(index: Int): Double
Definition Classes
Inherited from:
Rectangle