API Reference > geometry-core > CartesianGeometry > Plane3dByOriginAndVectors Plane3dByOriginAndVectors Class A Point3dVector3dVector3d is an origin and a pair of vectors. This defines a plane with a (possibly skewed) uv coordinate grid The grid directions (vectorU and vectorV) are NOT required to be unit vectors. are NOT required to be perpendicular vectors. Implements BeJSONFunctions Methods Name Description clone(): Plane3dByOriginAndVectors clone to a new plane. fractionToPoint(u: number, v: number, result?: Point3d): Point3d Evaluate a point a grid coordinates on the plane. fractionToVector(u: number, v: number, result?: Vector3d): Vector3d Return the vector from the plane origin to parametric coordinate (u.v) isAlmostEqual(other: Plane3dByOriginAndVectors): boolean Test origin and vectors for isAlmostEqual with other normalizeInPlace(): boolean Normalize both vectorU and vectorV in place. setFromJSON(json?: any): void Set coordinates from a json object such as {origin: [1,2,3], vectorU:[4,5,6], vectorV[3,2,1]} setOriginAndVectors(origin: Point3d, vectorU: Vector3d, vectorV: Vector3d): Plane3dByOriginAndVectors Set all origin and both vectors from coordinates in given origin and vectors. setOriginAndVectorsXYZ(x0: number, y0: number, z0: number, ux: number, uy: number, uz: number, vx: number, vy: number, vz: number): Plane3dByOriginAndVectors Set all origin and both vectors from direct numeric parameters toJSON(): any Convert an Angle to a JSON object. toRigidFrame(result?: Transform): undefined | Transform Create a rigid frame (i.e. transformInPlace(transform: Transform): void Apply the transform to the origin and vectors in place. unitNormal(result?: Vector3d): undefined | Vector3d Return (if possible) a unit normal to the plane. unitNormalRay(result?: Ray3d): undefined | Ray3d Return (if possible) a ray with origin at plane origin, direction as unit normal to the plane. createCapture(origin: Point3d, vectorU: Vector3d, vectorV: Vector3d, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Capture origin and directions in a new plane. createFromTransformColumnsXYAndLengths(transform: Transform, xLength: undefined | number, yLength: undefined | number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Return a Plane3dByOriginAndVectors, with createOriginAndTargets(origin: Point3d, targetU: Point3d, targetV: Point3d, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Define a plane by three points in the plane. createOriginAndVectors(origin: Point3d, vectorU: Vector3d, vectorV: Vector3d, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static create a new plane from origin and vectors. createOriginAndVectorsArrays(origin: Float64Array, vectorU: Float64Array, vectorV: Float64Array, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static create a plane from data presented as Float64Arrays. createOriginAndVectorsWeightedArrays(originW: Float64Array, vectorUw: Float64Array, vectorVw: Float64Array, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static create a plane from data presented as Float64Array with weights createOriginAndVectorsXYZ(x0: number, y0: number, z0: number, ux: number, uy: number, uz: number, vx: number, vy: number, vz: number, result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Create a new plane from direct numeric parameters createXYPlane(result?: Plane3dByOriginAndVectors): Plane3dByOriginAndVectors Static Create a plane with origin at 000, unit vectorU in x direction, and unit vectorV in the y direction. fromJSON(json?: any): Plane3dByOriginAndVectors Static create a new plane. Properties Name Type Description origin Point3d origin of plane grid vectorU Vector3d u direction in plane grid vectorV Vector3d v direction in plane grid Defined in geometry3d/Plane3dByOriginAndVectors.ts Line 22 Last Updated: 12 June, 2024