Preheat the oven to 350°F. Line a muffin tin with cupcake liners.
In a large mixing bowl, cream together the softened butter and granulated sugar until light and fluffy. Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
In a separate bowl, whisk together the flour, baking powder, and salt. Gradually add the dry ingredients to the wet mixture, alternating with the milk. Mix until just combined.
Divide the batter into three equal portions in separate bowls. Add red food coloring to one bowl, blue food coloring to another, and leave the third bowl plain (white). Stir until the colors are evenly mixed.
Spoon the red batter into the bottom of each cupcake liner, filling them about one-third full. Add a layer of the plain batter on top, filling the liners another third of the way. Finally, add the blue batter on top, filling each liner to about three-quarters full.
Bake in the preheated oven for 18-20 minutes, or until a toothpick inserted into the center comes out clean. Allow the cupcakes to cool in the pan for 5 minutes before transferring them to a wire rack to cool completely.
While the cupcakes are cooling, prepare the frosting. In a mixing bowl, whip the heavy cream until soft peaks form. Gradually add the powdered sugar and vanilla extract, continuing to whip until stiff peaks form.
Once the cupcakes are completely cool, frost them with the whipped cream and decorate with sprinkles if desired.