Shapes
Global shapes
- class geometries.hyp.shapes.ball.BallShape.BallShape(location, radius)
Shape of a hyperbolic ball
Construction
- Arguments:
location (Isometry|Point|Vector) – data for the center of the ball - If the input in an Isometry, then the center is the image of the origin by this isometry. - If the input in a Point, then the center is that point. - If the input is a Vector, then the center is the image of this vector by the exponential map at the origin.
radius (number) – the radius od the ball
- geometries.hyp.shapes.ball.BallShape.BallShape.BallShape
Construction
- geometries.hyp.shapes.ball.BallShape.BallShape.center
type: Point
Center of the ball
- geometries.hyp.shapes.ball.BallShape.BallShape.isBallShape
type: boolean
Says that the object inherits from Ball
- geometries.hyp.shapes.ball.BallShape.BallShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- class geometries.hyp.shapes.cylinder.CylinderShape.CylinderShape(radius, isom)
Constructor
- Arguments:
radius (number) – the radius of the cylinder
isom (Isometry) – the isometry defining the position of the cylinder. The cylinder is the image by isom of the cylinder going through the origin and directed by the vector (0,0,1)
- geometries.hyp.shapes.cylinder.CylinderShape.CylinderShape.CylinderShape
Constructor
- geometries.hyp.shapes.cylinder.CylinderShape.CylinderShape.vector
Return the vector (point + direction) orienting the geodesic Mainly used to pass data to the shader
- class geometries.hyp.shapes.halfSpace.HalfSpaceShape.HalfSpaceShape(isom)
Half space in hyperbolic space
Constructor. The half space is the image by isom of the half space - going through the origin - whose normal vector is ez = [0,0,1,0]
- Arguments:
isom (Isometry) – the isometry defining the position and orientation of the half space
- geometries.hyp.shapes.halfSpace.HalfSpaceShape.HalfSpaceShape.HalfSpaceShape
Constructor. The half space is the image by isom of the half space - going through the origin - whose normal vector is ez = [0,0,1,0]
- geometries.hyp.shapes.halfSpace.HalfSpaceShape.HalfSpaceShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.halfSpace.HalfSpaceShape.HalfSpaceShape.normal
Compute the normal vector to the half space, so that it can be passed to the shader. The normal vector consists of the underlying point and the direction.
- class geometries.hyp.shapes.horoball.HoroballShape.HoroballShape(location, offset)
Shape of a hyperbolic horoball
Construction
- Arguments:
location (Isometry|Vector3) – the location of the horoball. - if location is an Isometry, then the horoball is the image by this isometry of the horoball centered at the point [0,0,1,1] - if location is a Vector3, then the horoball is centered at [u_x, u_y,u_z, 1], where u = (u_x,u_y_u_z) is unit vector in the same direction. (seen as a point in the boundary at infinity of H3 in the hyperboloid model)
offset (number) – the radius od the ball
- geometries.hyp.shapes.horoball.HoroballShape.HoroballShape.HoroballShape
Construction
- geometries.hyp.shapes.horoball.HoroballShape.HoroballShape.center
Center of the ball (at infinity)
- geometries.hyp.shapes.horoball.HoroballShape.HoroballShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.horoball.HoroballShape.HoroballShape.isHoroballShape
type: boolean
Says that the object inherits from HoroballShape
- geometries.hyp.shapes.horoball.HoroballShape.HoroballShape.offset
type: number
Offset. The offset correspond to the image of the origin, by the SDF of the horoball. If the offset is positive, the origin is outside of the horoball
- class geometries.hyp.shapes.semiLocalSlab.SemiLocalSlabShape.SemiLocalSlabShape(isom, thickness)
Slab around the horizontal hyperbolic plane {z = 0}
Only works with the augmentedCube teleportations set The object is a “local” object associated to a finite index subgroup of the cube group, say G, namely the kernel, say K, of the projection onto the dihedral group D6 implemented in augmentedCube
Constructor. The slab is the image by isom of the slab - going through the origin - whose normal vector is ez = [0,0,1,0] - with the given thickness
- Arguments:
isom (Isometry) – the isometry defining the position and orientation of the half space
thickness (number) – the thickness of the slab
- geometries.hyp.shapes.semiLocalSlab.SemiLocalSlabShape.SemiLocalSlabShape.SemiLocalSlabShape
Constructor. The slab is the image by isom of the slab - going through the origin - whose normal vector is ez = [0,0,1,0] - with the given thickness
- geometries.hyp.shapes.semiLocalSlab.SemiLocalSlabShape.SemiLocalSlabShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.semiLocalSlab.SemiLocalSlabShape.SemiLocalSlabShape.normal
Compute the normal vector to the half space, so that it can be passed to the shader. The normal vector consists of the underlying point and the direction.
- class geometries.hyp.shapes.slab.SlabShape.SlabShape(isom, thickness)
Slab around the horizontal hyperbolic plane {z = 0} Frankenstein Shape : - the SDF is the one of a global object, - but it is declared as a local object,
so that the ray-marching keep track of the cell boost
Constructor. The slab is the image by isom of the slab - going through the origin - whose normal vector is ez = [0,0,1,0] - with the given thickness
- Arguments:
isom (Isometry) – the isometry defining the position and orientation of the half space
thickness (number) – the thickness of the slab
- geometries.hyp.shapes.slab.SlabShape.SlabShape.SlabShape
Constructor. The slab is the image by isom of the slab - going through the origin - whose normal vector is ez = [0,0,1,0] - with the given thickness
- geometries.hyp.shapes.slab.SlabShape.SlabShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.slab.SlabShape.SlabShape.normal
Compute the normal vector to the half space, so that it can be passed to the shader. The normal vector consists of the underlying point and the direction.
Local shapes
- class geometries.hyp.shapes.localBall.LocalBallShape.LocalBallShape(location, radius)
Shape of a hyperbolic local ball
Construction
- Arguments:
location (Isometry|Point|Vector) – data for the center of the ball - If the input in an Isometry, then the center is the image of the origin by this isometry. - If the input in a Point, then the center is that point. - If the input is a Vector, then the center is the image of this vector by the exponential map at the origin.
radius (number) – the radius od the ball
- geometries.hyp.shapes.localBall.LocalBallShape.LocalBallShape.LocalBallShape
Construction
- geometries.hyp.shapes.localBall.LocalBallShape.LocalBallShape.center
type: Point
Center of the ball
- geometries.hyp.shapes.localBall.LocalBallShape.LocalBallShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.localBall.LocalBallShape.LocalBallShape.isLocalBallShape
type: boolean
Says that the object inherits from Ball
- class geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape(radius, isom, height, smoothness)
Local cylinder in hyperbolic geometry
Constructor
- Arguments:
radius (number|Vector2) – the radii of the cone (if a single value is passed, the top and bottom radii are the same)
isom (Isometry) – the isometry defining the position of the cylinder.
height (number) – height of the cylinder
smoothness (number) – smoothness of the edge (polynomial smooth max) The cylinder is the image by isom of the cylinder going through the origin and directed by the vector (0,0,1)
- geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape.LocalCappedConeShape
Constructor
- geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape.capBtm
type: Vector4
Coordinates of the normal vector at the bottom cap of the cylinder (before applying isom)
- geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape.capTop
type: Vector4
Coordinates of the normal vector at the top cap of the cylinder (before applying isom)
- geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape.direction
Return the vector (point + direction) orienting the geodesic Mainly used to pass data to the shader
- geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape.testCapBtm
Coordinated of the normal vector on the bottom cap of the cylinder Used to compute the SDF
- geometries.hyp.shapes.localCappedCone.LocalCappedConeShape.LocalCappedConeShape.testCapTop
Coordinated of the normal vector on the top cap of the cylinder Used to compute the SDF
- class geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape(radius, isom, height, smoothness)
Local capped cylinder in hyperbolic geometry
Constructor
- Arguments:
radius (number) – the radii of the cone (if a single value is passed, the top and bottom radii are the same)
isom (Isometry) – the isometry defining the position of the cylinder.
height (number) – height of the cylinder
smoothness (number) – smoothness of the edge (polynomial smooth max) The cylinder is the image by isom of the cylinder going through the origin and directed by the vector (0,0,1)
- geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape.LocalCappedCylinderShape
Constructor
- geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape.capBtm
type: Vector4
Coordinates of the normal vector at the bottom cap of the cylinder (before applying isom)
- geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape.capTop
type: Vector4
Coordinates of the normal vector at the top cap of the cylinder (before applying isom)
- geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape.direction
Return the vector (point + direction) orienting the geodesic Mainly used to pass data to the shader
- geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape.testCapBtm
Coordinated of the normal vector on the bottom cap of the cylinder Used to compute the SDF
- geometries.hyp.shapes.localCappedCylinder.LocalCappedCylinderShape.LocalCappedCylinderShape.testCapTop
Coordinated of the normal vector on the top cap of the cylinder Used to compute the SDF
- class geometries.hyp.shapes.localCylinder.LocalCylinderShape.LocalCylinderShape(radius, isom)
Local cylinder in hyperbolic geometry
Constructor
- Arguments:
radius (number) – the radius of the cylinder
isom (Isometry) – the isometry defining the position of the cylinder. The cylinder is the image by isom of the cylinder going through the origin and directed by the vector (0,0,1)
- geometries.hyp.shapes.localCylinder.LocalCylinderShape.LocalCylinderShape.LocalCylinderShape
Constructor
- geometries.hyp.shapes.localCylinder.LocalCylinderShape.LocalCylinderShape.direction
Return the vector (point + direction) orienting the geodesic Mainly used to pass data to the shader
- class geometries.hyp.shapes.localDirectedHoroball.LocalDirectedHoroballShape.LocalDirectedHoroballShape(location, offset)
Shape of a hyperbolic local horoball The SDF is a directed SDF when the point is inside the horoball. Does not seem to make a huge difference, when rendering cusps as the complement of a horoball (assuming that the creeping is off !)
Construction
- Arguments:
location (Isometry|Vector3) – the location of the horoball. - if location is an Isometry, then the horoball is the image by this isometry of the horoball centered at the point [0,0,1,1] - if location is a Vector3, then the horoball is centered at [u_x, u_y,u_z, 1], where u = (u_x,u_y_u_z) is unit vector in the same direction. (seen as a point in the boundary at infinity of H3 in the hyperboloid model)
offset (number) – the radius od the ball
- geometries.hyp.shapes.localDirectedHoroball.LocalDirectedHoroballShape.LocalDirectedHoroballShape.LocalDirectedHoroballShape
Construction
- geometries.hyp.shapes.localDirectedHoroball.LocalDirectedHoroballShape.LocalDirectedHoroballShape.center
Center of the ball (at infinity)
- geometries.hyp.shapes.localDirectedHoroball.LocalDirectedHoroballShape.LocalDirectedHoroballShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.localDirectedHoroball.LocalDirectedHoroballShape.LocalDirectedHoroballShape.isLocalHoroballShape
type: boolean
Says that the object inherits from Ball
- geometries.hyp.shapes.localDirectedHoroball.LocalDirectedHoroballShape.LocalDirectedHoroballShape.offset
type: number
Offset. The offset correspond to the image of the origin, by the SDF of the horoball. If the offset is positive, the origin is outside of the horoball
- class geometries.hyp.shapes.localHoroball.LocalHoroballShape.LocalHoroballShape(location, offset)
Shape of a hyperbolic local horoball
Construction
- Arguments:
location (Isometry|Vector3) – the location of the horoball. - if location is an Isometry, then the horoball is the image by this isometry of the horoball centered at the point [0,0,1,1] - if location is a Vector3, then the horoball is centered at [u_x, u_y,u_z, 1], where u = (u_x,u_y_u_z) is unit vector in the same direction. (seen as a point in the boundary at infinity of H3 in the hyperboloid model)
offset (number) – the radius od the ball
- geometries.hyp.shapes.localHoroball.LocalHoroballShape.LocalHoroballShape.LocalHoroballShape
Construction
- geometries.hyp.shapes.localHoroball.LocalHoroballShape.LocalHoroballShape.center
Center of the ball (at infinity)
- geometries.hyp.shapes.localHoroball.LocalHoroballShape.LocalHoroballShape.isGlobal
type: boolean
Says whether the shape is global. True if global, false otherwise.
- geometries.hyp.shapes.localHoroball.LocalHoroballShape.LocalHoroballShape.isLocalHoroballShape
type: boolean
Says that the object inherits from Ball
- geometries.hyp.shapes.localHoroball.LocalHoroballShape.LocalHoroballShape.offset
type: number
Offset. The offset correspond to the image of the origin, by the SDF of the horoball. If the offset is positive, the origin is outside of the horoball
- class geometries.hyp.shapes.localRoundCone.LocalRoundConeShape.LocalRoundConeShape(radius, isom, height)
Local cone with a half ball at the bottom
Constructor The origin is at the center of the half ball (i.e. at the base of the cone)
- Arguments:
radius (number) – the radius of the base of the cone
isom (Isometry) – the isometry defining the position of the cylinder.
height (number) – height of the cylinder The cylinder is the image by isom of the cylinder going through the origin and directed by the vector (0,0,1)
- geometries.hyp.shapes.localRoundCone.LocalRoundConeShape.LocalRoundConeShape.LocalRoundConeShape
Constructor The origin is at the center of the half ball (i.e. at the base of the cone)
- geometries.hyp.shapes.localRoundCone.LocalRoundConeShape.LocalRoundConeShape.direction
Return the vector (point + direction) orienting the geodesic Mainly used to pass data to the shader
- geometries.hyp.shapes.localRoundCone.LocalRoundConeShape.LocalRoundConeShape.nApex
type: Vector4
Coordinates of the “normal” vector at the apex of the cone (before applying isom)
- geometries.hyp.shapes.localRoundCone.LocalRoundConeShape.LocalRoundConeShape.testApex
Coordinated of the normal vector on the top cap of the cylinder Used to compute the SDF
- geometries.hyp.shapes.localRoundCone.LocalRoundConeShape.LocalRoundConeShape.testCapBtm
Coordinated of the normal vector on the bottom cap of the cylinder Used to compute the SDF