Ho preparato uno script di base..
Lo script crea un box in cui viene poi disegnato il grafico secondo i valori indicati.

Dovrai giusto mettere due campi di testo sullo stage e nominarli rispettivamente: 'freq' e 'volt'

Ovviamente potrebbe essere perfezionato.
Infatti tieni conto che l'andamento dell'onda non l'ho calcolato con un tempo reale ma è rallentato ed in oltre è relativo alla frequenza dei fotogrammi impostata nel filmato perché ho adoperato una semplice variabile che viene incrementata in un evento onEnterFrame, quindi senza ricalcolare il tempo.
Ti consiglio comunque di impostare la frequenza fotogrammi almeno a 30..

Inoltre.. l'andamento della linea perde di definizione per valori della frequenza maggiori di 30, perché i punti dell'interpolazione sono calcolati singolarmente per ogni ricorrenza dell'enterFrame.
Per avere una maggiore definizione bisognerebbe calcolare, attraverso un ciclo, delle serie di punti per ogni enterFrame anziché singoli punti.

Comunque sia è già qualcosa se ancora non hai trovato nient'altro:
Codice PHP:
// valori iniziali
var f:Number 1;
var 
v:Number 40;
var 
t:Number 0;
freq.text f;
volt.text v;
// dimensioni grafico
var gw:Number 450;
var 
gh:Number 200;
// posizione grafico
var gx:Number 50;
var 
gy:Number 100;
// aggiornamento valori
var aggiorna = function () {
    
freq.text;
    
volt.text;
};
var 
key:Object = new Object();
key.onKeyDown = function() {
    if (
Key.getCode() == 13) {
        
aggiorna();
    }
};
Key.addListener(key);
freq.onKillFocus volt.onKillFocus=aggiorna;
// creo contenitore per il grafico
_root.createEmptyMovieClip('grafico'0);
grafico.createEmptyMovieClip('monitor'100);
with (grafico) {
    
beginFill(0xeeeeee);
    
lineStyle(00xaaaaaa);
    
moveTo(00);
    
lineTo(1000);
    
lineTo(100100);
    
lineTo(0100);
    
lineTo(00);
    
endFill();
    
moveTo(050);
    
lineTo(10050);
    
_x gx;
    
_y gy;
    
_width gw;
    
_height gh;
    
monitor._y 50;
}
// reset del grafico
var reset = function () {
    
with (grafico.monitor) {
        
clear();
        
lineStyle(00xff000070);
        
moveTo(00);
    }
};
reset();
// aggiorno il grafico
_root.onEnterFrame = function() {
    var 
p:Number Math.sin(t/100*(f*2)*Math.PI)*(v/2);
    
grafico.monitor.lineTo(tp);
    
+= .5;
    (
t>(%= 100)) && reset();
};