How to make a throwable and controllable camera?

Hello, I’m new to game development, starting my first project. In it I’d like to make camera a physical object, which has physics like a balloon (can be thrown anywhere, but will stop at some radius) and does not bounce of walls, just stops near them. Default target is player, but it can be directed as player wants.

  1. How to make a throw by pressing a key (then I’d assume there can start a synchronous function to count a delta between player and cam)
  2. Preferably a good fly animation is needed, not the insta-flight.

I’d like to learn more of gamedev, but I cant find someone to explain me the basics, I came here from programming on C and Assembly for AVR, sorry for being noob.