Genera numeri casuali con determinati picchi? [duplicare]

1

Sto provando a generare numeri casuali per simulare gli angoli e le velocità del volante di un'automobile. Quindi per i volanti i numeri casuali potrebbero andare come 1,2,4,6,4,3,40,0. Posso generare numeri casuali ma il problema è che non avrebbe senso avere numeri veramente casuali per i dati dell'angolo di sterzata. Quindi di solito un guidatore gira solo pochi gradi a meno che non ci sia un turno e non si muove e l'angolo di sterzata sarebbe solo zero. Qualcuno può darmi qualche consiglio su questo?

    
posta zzzzz 25.02.2015 - 15:35
fonte

3 risposte

3

Come hai notato, gli angoli di volante casuali non hanno senso.

Al contrario, prova invece a immettere casualmente o semi-casuali sul volante.

Ad esempio:

Supponiamo che la ruota sia diritta. È possibile applicare casualmente delta (forse nel range di +/- 2 gradi) alla posizione della ruota per simulare la guida del veicolo lungo una strada diritta.

Puoi introdurre un bias a quei delta (ad esempio, +/- 2 gradi, più un altro 0 - 5 gradi) per introdurre una curva nella strada.

Ti consigliamo di tenere traccia della posizione assoluta del volante, specialmente se aggiungi angoli acuti (non è possibile ruotare la ruota di +90 gradi 20 volte di seguito).

    
risposta data 25.02.2015 - 15:45
fonte
2

Potresti creare un elenco di comportamenti di guida discreti in cui ognuno ha una serie di angoli di ruota che vengono eseguiti in successione:

  • svolta a destra
  • Svolta a sinistra nitida
  • dritto con aggiustamenti minori
  • evitare buche o altri ostacoli
  • virare fuori strada (qualcuno stava scrivendo e guidando)
  • cambia corsia

Quindi puoi selezionare casualmente questo elenco. A ciascun articolo potrebbe essere attribuito un peso maggiore a seconda del tipo di guida che si desidera simulare: fuoristrada, autostrada, centro città, strada di campagna, ecc.

    
risposta data 25.02.2015 - 15:59
fonte
2

Puoi mappare i valori a una funzione che si alza bruscamente a un'estremità e quindi selezionare da questa.

Penso che questa funzione potrebbe funzionare bene:

y = 1/(1.1 - x)

Se x è il numero prodotto a caso e y è il valore che utilizzi per governare.

La maggior parte delle volte i tuoi valori saranno piuttosto piccoli, ma a volte l'output della funzione salirà a un valore molto alto dandoti i picchi che desideri.

I valori di regolazione di questa funzione ti permetteranno di ottenere risultati diversi come picchi più alti o picchi meno probabili.

    
risposta data 25.02.2015 - 17:06
fonte

Leggi altre domande sui tag