Artiljerija za rezerviste

1

Artiljerija za rezerviste

offline
  • vrabac 
  • Legendarni građanin
  • Pridružio: 30 Dec 2010
  • Poruke: 4986

Napisano: 06 Sep 2012 20:16

Za one koji su još uvek u tripu da su artiljerijskoj rezervi odnosno one koji će se u slučaju izbijanja rata ili sukoba odazvati nekom pozivu ili se sami priključiti nekoj artiljerijskoj jedinici ovde imam nameru da izlažem po meni vrlo korisne predloge, savete pa i rešenja.

Lekcija 1 Normalni geodetski zadatak

Svi ste vi 90-tih ovo radilli ručno ilii na nekim starim računalima džepnog tipa ili programabilnim kalkulatorima. Noramlni geodetski zadatak je ono što po pravilu radi topograf ali je obavezan deo znanja i za izviđača mernika pa i računača u artiljeriji.

U JNA je bio obrađeno UPUTSTVOM za topografsko-geodetsko obezbeđenje artiljerije
izdanje iz 1981. god. strana 115. ne zam gde je to u novom uputstvu ako novog uputsva uopšte ima.

Šta je Normalni geodetski zadatak?
Vrlo prosto, imate koordinate jedne tačke, izmeren azimut do druge tačke, izmerenu kosu daljinu do druge tačke i izmeren kosi ugao od horizontale do te tačke, ili umesto izmerenog kosog ugla po karti ili od oka ili od dvogleda ocenjeno nadvišavanje ili podvišenje druge tačke.
Namerno ne izlažem doslovce prateći uputstvo jer ima znatnih razlika u postupku istina u finesama a ne u značajnijim radnjama. Na primer originalno se ne tretira vertikalni ugao odnosno nadvišenje usled malog uticaj na proces gađanja po normama polovine prošlog veka.
Nastavak večeras...

Dopuna: 06 Sep 2012 23:03

Misloio sam da uvedem neki mali broj formula ovde kao uvod ali mislim da je bolje daodahidemo po edukativnom algoritmu.
Dakel ne tzaboravite :
POznate veličine :
Xos, Yos, Zos tačke A na kojoj se mi kao izviđači nalazimo
AzO azimut osmatranja na tačku B koja je cilj
VuOs vertikalni ugao od horizontale do tačke B ili NAD, POD u metrima koliko je tačka B niža ili višlja od nas

Šta imamo, imamo artiljerijsku busolu i laserski merač daljine.
Sad ide algoritam pa ćemo po njemu sutra, korak po korak.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 22 Jul 2012
  • Poruke: 90

Kad si već dao algoritam , mogao bi da se napiše i manji računarski programčić Mr. Green ... Npr u Javi za mobilne telefone , to sad ionako svi imaju i nose po terenu .



offline
  • Pridružio: 06 Sep 2012
  • Poruke: 49

Ево С++ верзије ако неком може да послужи:
#include <iostream>

using namespace std;

int main( )
{
   long Xos, Yos, Zos, J = 0, Kx = 0, Ky = 0, Xc, Yc, Zc;
   int Dos, AzO, A, C;
   float VuOs, Sos, Dosr, AzOs, R;
   char in;

   cout << "Unesite varijantu rada sa uglovima:" << endl << "1. svi uglovi se mere u ruskoj podeli" << endl << "2. svi uglovi se mere u zapadnoj podeli" << endl << "3. horizontalni uglovi se mere u ruskoj a vertikalni u zapadnoj" << endl << "4. horizontalni se mere u zapadnoj a vertikalni u ruskoj" << endl;
   cin >> A;

   cout << "Unesite sopstvene koordinate:" << endl;
   cin >> Xos >> Yos >> Zos;

   while( 1 )
   {
      cout << "Unesite daljinu osmatranja:" << endl;
      cin >> Dos;

      if( Dos > 6000 )
         Dos = 6000;
      else if( Dos < 1 )
         Dos = 1;

      cout << "Da li zelite da unesete vertikalni ugao osmatranja cilja (u suprotnom komandujete NAD ili POD)?" << endl;
      cin >> in;

      if( in == 'd' || in == 'D' )
      {
         cout << "Unesite vertikalni ugao osmatranja cilja +/- VuOs u hiljaditim:" << endl;
         cin >> VuOs;

_60ili64:
         cout << "Unesite podelu za vertikalne uglove 60 ili 64:" << endl;
         int tmp;
         cin >> tmp;

         if( tmp == 60 )
            Sos = VuOs * 0.006f;
         else if( tmp == 64 )
            Sos = VuOs * 0.005625f;
         else
         {
            cout << "Pogresno uneta vrednost." << endl;
            goto _60ili64;
         }

         Dosr = Dos * cos( Sos );

         if( abs( Sos ) >= 45.0f )
            cout << "Osmatracnica je nepravilno postavljena po vertikali i dalje nastavljate samo na svoju odgovornost cak i ako vasi uredjai uopste podrzavaju." << endl;
      }
      else
      {
         cout << "Unesite vrednost NAD ili POD u +/- metrima:" << endl;
         cin >> C;

         Dosr = sqrt( (float)( Dos * 2 - C * 2 ) );

         if( asin( (float)( C / Dos ) ) >= 45.0f )
            cout << "Osmatracnica je nepravilno postavljena po vertikali i dalje nastavljate samo na svoju odgovornost cak i ako vasi uredjai uopste podrzavaju." << endl;

         J = 1;
      }

_UnosAzimuta:
      cout << "Unesite vrednost azimuta osmatranja AzO:" << endl;
      cin >> AzO;

      bool RU = ( A == 1 || A == 3 );

      if( RU )
      {
         cout << "Azimut je u ruskoj podeli." << endl;
         AzOs = AzO * 0.006f;
      }
      else
      {
         cout << "Azimut je u zapadnoj podeli." << endl;
         AzOs = AzO * 0.005625f;
      }

      if( AzO >=0 && ( ( RU && AzO <= 6000 ) || ( !RU && AzO <= 6400 ) ) )
      {
         if( ( RU && AzO <= 1500 ) || ( !RU && AzO <= 1600 ) )
         {
            cout << "Radite u I kvadrantu." << endl;
            R = AzOs;
            ++Kx;
            ++Ky;
         }
         else if( ( RU && AzO <= 4500 ) || ( !RU && AzO <= 4800 ) )
         {
            cout << "Radite u III kvadrantu." << endl;
            R = 180.0f - AzOs;
            --Kx;
            Ky = 1;
         }
         else if( ( RU && AzO <= 3000 ) || ( !RU && AzO <= 3200 ) )
         {
            R = AzOs - 180.0f;
            --Kx;
            --Ky;
         }
         else
         {
            cout << "Radite u IV kvadrantu." << endl;
            R = 360.0f - AzOs;
            ++Kx;
            --Ky;
         }
      }
      else
      {
         cout << "Pogresno uneta vrednost azimuta." << endl;
         goto _UnosAzimuta;
      }

      Zc = ( J == 1 ) ? Zos + C : Zos + (long)( Dosr * sin( Sos ) );

      Xc = Xos + Kx * (long)( Dosr * cos( R ) );
      Yc = Yos + Ky * (long)( Dosr * sin( R ) );

      cout << "Xc: " << Xc << endl << "Yc: " << Yc << endl << "Zc: " << Zc << endl;

      cout << "Novi cilj D da ili N ne:" << endl;
      cin >> in;

      if( in == 'n' || in == 'N' )
         break;
   }

   return 0;
}

Нисам артиљерац тако да га не могу испитати Mr. Green Мислим да сам приметио малу грешку у писању алгоритма - у доњем делу слике при додељивању вредности координата циља:
Xc = Xos + Kx * Del X
Xc = Yos + Ky * Del Y

У другој линији би на почетку требало писати Yc = уместо Xc =.

offline
  • vrabac 
  • Legendarni građanin
  • Pridružio: 30 Dec 2010
  • Poruke: 4986

Napisano: 07 Sep 2012 15:38

E pa ljubitelju guarane i red bula (taurine zar ne) potpuno si u pravu TO JE GREŠKA. GREŠKAAAA!!!
Za kaznu ću da se lupam javorovom tablom po glavi (al isključivo javorovom U NEDOSTATKU LIPOVE).

BRAVO MAJSTORE , BRAVOOO !!!! Lično ću da ga ispitam čim sitignem.
A za ostale :
1. Ne znam da programiram u JAVA paketu
2. Ideja mije bila da ovo bude početak a da završimo jako daleko a to je kako da ubacite BALISTIČKE tablice na najednostavniji i najbrzži način i da direknto vučete sve podatke iz uređaja a ne da čitate u tblicama.
E sad zana mda su ovi novi Ipodi iAjfoni čudo ali da subaš tolikočudo neznam mad averovatno jesu
3. Na žalost pri porgramiranju za mogbilen javlaju se siten razlike u szavisostiod prizvođača odnsono da li jeoperacioni sitem Opera ili itd...video sm kod Rusa d azbog toga m oraju da prilagošavjau jedan isti program a ja bato to ne znam da vam uradim nikako.
4. C++ je najpogodniji jer može da radi na svakom božjem laptopu od pentijuma I pa nadalje (a možda i pre ako još ima takvih lapova)
5. U stvari ako neko radi u VižualFortranu i on može pouzdano da radi od Pentijuma II pa nadalje sigurno asiguran sma da bi i VižualBejzik bio dobar i radio nasvakom računaru skoro jednako kao i C++
6. Probaću da nađem nekog da odradi u JAVA skriptu al TEK kad dovšimo ceo kurs u UMOTAMO to u po mogućstvu JEDAN paket. Probaćiui parcijlano ako uspem da navatam nekoga.
7. Ako nekom treba u fotranu imam ja prijtelja koji tomože u dogledono vreme da odradi paket VižualFortran
8. Glavni problem je vidi tačku jedan :-)

A EL IMA NEKI TELEFON KOJI JE NAĆEŠČI KOD VAS PODOFICIRA I OFICIRA KOJI OBAVLAJATE DUŽNOSTI KOJE SU OVIM OBUHVAĆENE PA DA AKO NAVATAM NEKOGA PRILAGODIMO TOM MODELU ILI GRUPI MODELA?

Dopuna: 07 Sep 2012 15:45

k VRAGU NAŠAO SAM JOŠ JEDNU I TO NE SINTAKSNU NEGO SEMNATIČU GREŠKU.
Popraviču algoritam a taurine ti isprati ispravku ako ti nije teško
jer ja ne radim C++već taj moj drugar i kolega koga moram da navatam a to je teško jer je vrlo zauzet nelegalnim poslovima usled toga što u ovoj državi ne može da nađe nikakav drugi (za razliku od mene neradnika) Odo ja odma da popravim algoritam.

offline
  • Pridružio: 06 Sep 2012
  • Poruke: 49

Нисам љубитељ енергетских пића - баш напротив Very Happy taurine сам узео јер сам бик у хороскопу (taurus је бик на грчком ал' ми се некако више свидело taurine). Исправи ти алгоритам па ћу ја програм, имам тренутно времена. Е да, још нешто: ова линија у алгоритму ми није скроз јасна Dosr = SQR(Dos**2 - C**2)
јер нисам сигуран шта означавају две звездице (обично множење са 2 или квадрирање). Ја сам у програму то одрадио као:
Dosr = sqrt( Dos * 2 - C * 2 );

offline
  • Pridružio: 12 Feb 2007
  • Poruke: 7930

Ako hoćeš da radi na svemu onda je bolje da je napisan u Javi, programi pisani u javi ne zavise od operativnog sistema uređaja, Opera i Opera mini za mobilne uređaje su samo browseri.

offline
  • Pridružio: 30 Dec 2011
  • Poruke: 62

pozdrav svima Wink
Mene je ova tema zainteresovala, pa cu se ukljuciti aktivno u nju i pokusati dati svoj skromni doprinos.
Kolega Vrabac mala ispravka... mozda je to bio i samo vas lapsus u pisanju, ali da podsjetim da su najcesci operativni sistemi na mob telefonima OS Android i OS Symbian raznih verzija, a Opera je samo aplikacija na sta je podsjetio i kolega Wisdomseeker.
On je dobro konstatovao da bi bilo bolje napisati ovaj program u Javi i ako imate nekog kolegu da zna Java sintaksu, mozete mu pokazati ovaj kod u C++ od Taurine-a, pa mu nece biti tesko prepisati isto samo u Javi...
Sto se tice samog koda, ja bih mozda modifikovao jedan mali dio :

cout << "Unesite daljinu osmatranja:" << endl;
cin >> Dos;
if( Dos > 6000 )
Dos = 6000;
else if( Dos < 1 )
Dos = 1;
Mislim da bi zbog potencijalnih korisnika, mozda bilo dobro napisati neku informativnu poruku, ako korisnik greskom predje zadane granice pri unosu daljine osmatranja, pa ako se to desi, da ga program obavjesti, da bi korisnik mogao popraviti gresku, a ne da automatski dodjeli sam sebi neku vrijednost...
pa bih ja ovaj dio napisao ovako :

cout << "Unesite daljinu osmatranja:" << endl;
do
cout<< "Vrijednost unosa daljine izlazi van definisanih granica";

while ( Dos>6000 && Dos<1);
cin >> Dos;

offline
  • vrabac 
  • Legendarni građanin
  • Pridružio: 30 Dec 2010
  • Poruke: 4986

Napisano: 07 Sep 2012 23:42

E hvala svima na učešću idemo dalje, osvajanje slobode.
Iz izloženog je očigledno da se ništa ne razumem u mobilne pa će morati na sebe da preuzmete taj deo posla.
Amonsrb pogledaj na algorimu, ima pitalica da li je daljina osmatranja (u ovm slučaju merenja lasserom, pantljikomili merničkomletvom...) imeđu 1 i 6000 m pa ako je odgovor NIJE ide komentar VREDNOST DALJINE JE LIMITIRANA NA 6000 m i vraća te na unos daljine.
De malo mi to pojasni, jer on ne može po algoritmu da prođe petlju pitanja a da ne dodeli vrednost između 1 i 6000.
ALI BI STVARNO BILO BOLJE DA VRATI NA PORUKU UNESITE DALJINU OSMATRANJA.
-evo opet isparavka idem da poravim algoritam 3 put. Ako izguramo dobro do jedno 15 puta znači da smo dobro uradili.
JEDINO AKO HOĆEŠ DA UNESEM PROCEDURU POTVRDI. Ta procedura je na starim art. računarima bila posle uvođenja svakog novog podatka, uneseš, izađe broj, pa PRITISNEŠ DUGME POTVRDI.
Ovde ima dosta pitalica koje sprečavaju grešku a program se danas može lako i brzo restartovati iz početka.
Međutim vredi razmisliti da uvedemo malte ne rutinu posle svakog unosa potvrdi. PAZITE ovo već USPORAVA rad ali stvarno vredi razmisliti.
AJDE ŠTA MISLITE da uvedmo rutinu POTVRDI ili ne?

Ako neko misli da može da radi neki posao i navećoj daljini od 6000 m moraće to da promeni u programu.
Istina ako nije korektura ili određivanje cilja samog ili repera, već je rad unutar čiste topografije zaista vrlo retko ali mogu da se pojave objekti koji su na večim daljinama.
AKO SE SLAŽETE DA POVEĆAMO TU VREDNOST NA 10 000 m.

Uzgred radi olakšanja ono što je dodavano će biti crvenom bojom a ono što je pomerano ili manje modifikovano plavom.

Dopuna: 08 Sep 2012 3:25

Ah moja greška, ja gledam u algoritam a ne u komande koje si napisao, u pravu si ne treba da uzem te vrednosti 1 illi 6000 nego treba da padne u stalno vraćanje dok se ne unese daljina koja prolazi pitalicu,
kao što si ti napisao...Sorry rekoh ne znam Javu ne znam C++.
Nova verzija radnog algoritma...


Dopuna: 08 Sep 2012 3:31

Vidim još jednu promenu na algoritmu, unosim sutra.
Nije moralo kod vertikalnog ugla da unosi podela 60 ili 64 moglo je da se reši prema varijanti
izbora rada na početku 1,2,3 ili 4 kao što je to urađeno i kod azimuta.
O.K. menjam sutra, ovo ostalo bi ostalo isto (dok ne nađemo sledeću grešku do 15 ima vremena)

offline
  • Pridružio: 23 Maj 2012
  • Poruke: 102

Sa ogromnim poštovanjem za trud kolega,
da dodam samo jednu bitnu činjenicu koju ste možda ispustili.

Korišćenje mobilnih telefona u slučaju rata je ekstremno opasno.
Recimo imate ovakav program u javi na telefonu - još pre rata
neprijatelj će znati sa kim ima posla. Da ne govorimo kako će
vrlo lako saznati lokaciju cele jedinice preko takvog telefona.

Zato, što reče uvažni Vrabac - laptopi i to stare generacije i
sci kalkulatori.

Samo napred.

offline
  • jazbar 
  • Legendarni građanin
  • Pridružio: 28 Dec 2009
  • Poruke: 15055
  • Gde živiš: Lublana

Pa može se telefon isključiti iz mreže i upotrebljavati kao mali računar ako je to problem. Osim toga kako će znati neprijatelj čiji telefon treba pratiti. Mnogo mu je lakše radarom pronači izvor artilerijske vatre.

Ko je trenutno na forumu
 

Ukupno su 574 korisnika na forumu :: 3 registrovanih, 1 sakriven i 570 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 2918 - dana 22 Nov 2019 07:48

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: renoje2, S-lash, zlaya011