class Pulo::Sphere

Attributes

diameter[R]
radius[R]

Public Class Methods

new(radius: nil, diameter: nil, volume: nil) click to toggle source
# File lib/pulo/figure/figure3d.rb, line 12
def initialize(radius: nil, diameter: nil, volume: nil)
  quantity_check [radius,Length] ,[diameter,Length], [volume, Volume]
  raise "Need more arguments for Sphere" unless volume || diameter || radius
  if volume
    @volume=volume
    @radius=(@volume*3/(Angle.pi*4)).rt(3)
    @diameter=@radius*2
  else
    if diameter
      @diameter=diameter
      @radius=@diameter/2
    else
      @radius=radius
      @diameter=@radius*2
    end
    @volume=(@radius**3)*(4.0/3.0)*Angle.pi
  end
  @surfacearea=@radius**2*(4*Angle.pi)
end