Add calculate_dot functionality.
Change sphere to be generated by rotated half circle.