Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 17.09.2009, 16:28   #1 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard Denkanstösse für Artilleriestreuung

Ich bin gerade daran eine Streuung für meine Artillerie einzubauen.Damit die Arti um den Zielpunkt herum das Feuer Streut.Mein Problem ich hätte das gerne in einem Kreis um dem Ziel Punkt.Vielleicht hat einer hier ne Idee mit welcher Mathematik Formel kann das machen könnte.

zur Zeit sieht das so aus, das schlagen die Arti aber mehr in einer Linie ein als gestreut

Zitat:

_typ=_muniname select _ix;
_st=_i mod 2;
if (_st == 1) then {_m=-1;};
if (_st == 0) then {_m=1;};
_artst=(random(_sy*_m));
_spos = [(_pos select 0)-((_gz+_artst)*sin(_hz+180)),(_pos select 1)-((_gz+_artst)*cos(_hz+180)),100];
_Granate = _typ CreateVehicle _spos;

_i ist die Schussanzahl
_sy ist Streuung in m (10-100)
_gz ist Entfernung zum Ziel von Spieler aus
_hz ist Winkel zum Ziel von Spieler aus
_artst damit erzeuge ich die Zufallswert für Abweichung
_spos ist der Einschlagpunkt dann der Arti.

alle Angabe kann per Menü Einstellung dann feuert die Arti dahin.
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 17.09.2009, 17:44   #2 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 06.06.2008
Beiträge: 209
Standard

Du berechnest die Position des Zieles, danach verschiebst du diese um einen zufälligen Winkel mit einem zufälligen Radius.


//Ja, ich kann nicht zeichnen...

Also erst den Zielpunkt berechnen, dann für jedes Geschoss:
Code:
_winkel = random 360;
_radius = random 30; //Maximaler Streuradius
_x = (sin _winkel) * _radius;
_y = (cos _winkel) * _radius;
_pos = [_zielpunkt select 0 + _x, _zielpunkt select 1 + _y]
__________________
#include "signatur.h"
"I'm not slacking of. My addon is 'pboing'!"
i0n0s ist offline   Mit Zitat antworten
Alt 17.09.2009, 18:18   #3 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard

jo klar,hätte eich auch gleich darauf kommen könne das die den Zielpunkt nur verschieben muss dafür.
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 17.09.2009, 18:54   #4 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

Das BIS Artillerie-Modul bietet sowas auch an ...

... und läßt sich ganz einfach einbinden!

Artillery Module - Bohemia Interactive Community

Code:
// Force shells to randomly hit in a 200 meter circle.
[_battery, 200] call BIS_ARTY_F_SetDispersion;
Vocoder ist offline   Mit Zitat antworten
Alt 17.09.2009, 21:56   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Hemingway
 
Registriert seit: 31.05.2009
Beiträge: 321
Standard

ich habs bei meinem random-feuer script nicht mit nem kreis sondern mit einem quadrat gelöst...

den unterschied merkt man eh nur minimal, und von der rechnerei her ist das deutlich einfacher

http://hx3.de/265548-beitrag10.html
__________________
Kickstart fighter launch
Throttle set to full
Speed king race to win
Afterburners roaring
Ghostlike counterstrike
Takes them by surprise
Hemingway ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116