ladybug_geometry.geometry3d.sphere module¶
Sphere
- class ladybug_geometry.geometry3d.sphere.Sphere(center, radius)[source]¶
Bases:
object
Sphere object.
- Parameters:
center – A Point3D representing the center of the arc.
radius – A number representing the radius of the sphere.
- Properties:
center
radius
min
max
diameter
circumference
area
volume
- classmethod from_dict(data)[source]¶
Create a Sphere from a dictionary.
- Parameters:
data – A python dictionary in the following format
{ "type": "Sphere" "center": (10, 0, 0), "radius": 5 }
- intersect_line_ray(line_ray)[source]¶
Get the intersection between this Sphere object and a Ray2D/LineSegment2D.
- Parameters:
line_ray – A LineSegment3D or Ray3D that will be extended infinitely for intersection.
- Returns:
A LineSegment3D object if a full intersection exists. A Point if a tangent intersection exists. None if no full intersection exists.
- intersect_plane(plane)[source]¶
Get the intersection of a plane with this Sphere object
- Parameters:
plane – A Plane object.
- Returns:
Arc3D representing a full circle if it exists. None if no full intersection exists.
- move(moving_vec)[source]¶
Get a sphere that has been moved along a vector.
- Parameters:
moving_vec – A Vector3D with the direction and distance to move the sphere.
- reflect(normal, origin)[source]¶
Get a sphere reflected across a plane with the input normal vector and origin.
- Parameters:
normal – A Vector3D representing the normal vector for the plane across which the arc will be reflected. THIS VECTOR MUST BE NORMALIZED.
origin – A Point3D representing the origin from which to reflect.
- rotate(axis, angle, origin)[source]¶
Rotate this sphere by a certain angle around an axis and origin.
Right hand rule applies: If axis has a positive orientation, rotation will be clockwise. If axis has a negative orientation, rotation will be counterclockwise.
- Parameters:
axis – A Vector3D axis representing the axis of rotation.
angle – An angle for rotation in radians.
origin – A Point3D for the origin around which the sphere will be rotated.
- rotate_xy(angle, origin)[source]¶
Get a sphere that is rotated counterclockwise in the world XY plane by an angle.
- Parameters:
angle – An angle for rotation in radians.
origin – A Point3D for the origin around which the sphere will be rotated.
- scale(factor, origin=None)[source]¶
Scale a sphere by a factor from an origin point.
- Parameters:
factor – A number representing how much the sphere should be scaled.
origin – A Point3D representing the origin from which to scale. If None, it will be scaled from the World origin (0, 0, 0).
- property area¶
Surface area of sphere
- property center¶
Center of sphere.
- property circumference¶
Circumference of sphere
- property diameter¶
Diameter of sphere
- property max¶
A Point3D for the maximum bounding box vertex around this geometry.
- property min¶
A Point3D for the minimum bounding box vertex around this geometry.
- property radius¶
Radius of sphere.
- property volume¶
Volume of sphere