Your Oscilloscope has ExPloDEd ! Make a sine wave

Python 3, 128 \$\cdots\$ 107 103 bytes

Added a byte to fix and error kindly pointed out by blueteeth.
Saved 23 27 bytes thanks to Jonathan Allan!!!
Added a byte to fix a fudge kindly pointed out by Jonathan Allan.

lambda a,f:[[' .'[~j<=a*sin(f*i*pi/6)+.5<-j]for i in range(100)]for j in range(~a,a)]
from math import*

Try it online!

Inputs an integral amplitude and a float for frequency.
Uses a period of 12 characters for 1Hz.
Returns a list of lists of characters.

Jelly, 21? 23 bytes

21 bytes if we may use a non-space character for the background.


A full program accepting frequency (a float) and amplitude (an integer) which prints the result using 1 as the wave and as the background.
Note: Since there is no mention of phase I have assumed we may pick any (I also asked for clarification).

Try it online!