Artiljerija za rezerviste

3

Artiljerija za rezerviste

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

Napisano: 09 Sep 2012 18:21

Taurine car si odlično izgleda to je doduše bez onoga sa potvrđivanjem,
jedino što ne radi trenutno ispravno kao što uvek i biva.
Prvo MORAŠ da mu omogućiš da unete vrednosti bar za Z koordinatu budu 0 vrednosti kao i za vertikalni ugao da može da bude 0 vrednost imam utisak da mi na vrednost 0 odmah dojavi da nisu sva polja popunjena.
Drugo nešto nije u redu oko azimuta idem prvo da pogledm algoritam pa ću posle ako mogu da se snađem u komandama i program.

Dopuna: 09 Sep 2012 18:30

MEA CULPA.
Najgore se greši kada smatraš da nešto zanš bespogovorno i napamet i rutinski onda su greške KOLOSALNO IDIOTSKE. SORRRY.

TAURINE SVE VREDNOSTI ZA KOJE STOJI 0.006 I 0.005625 IMAJU JEDNU NULU MANJE ODNOSNO TREBA DA STOJI
0.06 I 0.05625
IZVINJAVAM SE JOŠ JEDNOM.



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

Дешава се, ево исправио сам Smile
mycity.rs/must-login.png

Сад сам приметио нешто и мало ми је чудно - кад унесем неке податке чисто ради тестирања и поставим да је вертикални угао осматрања нула степени, добијем неки резултат а кад користим исте податке и уместо вертикалног угла ставим НАД/ПОД да је нула метара, добијем други резултат. Зар резултати неби требали да буду исти?



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

Napisano: 09 Sep 2012 19:19

Da trebalo bi mora da sam nešto zabrljao idem da pregledam ali prvo ću da testiram ovu tvoju novu izvedbu.
Ja inače ne mogu da ispravim sam u resours fajlu jer nemam nikakv paket C na računaru čak i kad bih umeo da ispravim.
idem prvo na testiranje novog pa na tog NAD POD vampira.

Dopuna: 09 Sep 2012 19:31

Opet isto, a plus što u NAD POD ne radi kako treba. Odoh nalagoritam.

Dopuna: 09 Sep 2012 19:50

if( ( RU && AzO <= 1500 ) || ( !RU && AzO <= 1600 ) )
{
//cout << "Radite u I kvadrantu." << endl;
R = AzOs;
++Kx;
++Ky;
}
else if( ( RU && AzO <= 3000 ) || ( !RU && AzO <= 3200 ) )
{
//cout << "Radite u II kvadrantu." << endl;
R = 180.0f - AzOs;
--Kx;
Ky = 1; MOŽDA JE OVO GREŠKA možda treba ++Ky
}
else if( ( RU && AzO <= 4500 ) || ( !RU && AzO <= 4800 ) )
{
//cout << "Radite u III kvadrantu." << endl;
R = AzOs - 180.0f;
--Kx;
--Ky;

No svejedno ne radi mi ni u prvom kvadrantu ajd ispravi ako je greška pa da probam opet
a jas evraćam da vidim šta je sa NAD i POD

Dopuna: 09 Sep 2012 20:01

Za NAD POD se ne sekiraj (bar trenutno) NIJE isto kada je vrednost NAD i vrednost vertikalnog ugla ista.
NEGO TAMO GDE SAM STAVLJAO DVE ZVEZDICE ZNAČI DA JE NEŠTO NA KVADRAT.

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

Аха, е па то са квадрирањем је решило проблем различитих резултата. И даље мислим да кад се користи нула било за НАД/ПОД или за вредност вертикалног угла резултати требају бити исти (јер померај од 0 степени горе/доле је исто што и померај од 0 метара горе/доле). Наравно, за вредности различите од нуле, то није случај и резултати су различити (јер померај од Х степени није исто што и померај од Х метара).
Још нешто, код тог одређивања квадранта: према твом алгоритму ја сам разумео да:
- ако је у питању први квадрант Кх постаје 1 а Ку исто 1,
- ако је у питању други квадрант Кх постаје -1 а Ку је 1,
- ако је у питању трећи квадрант Кх постаје -1 а Ку исто -1,
- ако је у питању четврти квадрант Кх постаје 1 а Ку је -1.
Тако и програм ради. Можда ја нисам добро разумео тај део алгоритма...

mycity.rs/must-login.png

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

Napisano: 09 Sep 2012 20:59

Šta god da ubacim za vrednost azimuta Y izađe 1 a X daljina osmatranja +1
a trebalo bi u prvom kvadrantu kada ubaciš daljinu osmatranja1409 i azimut 750 (ugao 45 stepeni) da se dobiju iste vrednosti Xc i Yc ako ubaciš na mesto Xos i Yos vrednosti 1.
Idem da pogledam algoritam još jednom i da prođem vrednostima kroz prvikvadrant.
Ulaz:
X= 1
Y = 1
Z = 0
Azimut osmatranja 750
Daljina osmatranja 1413
vertikalni ugao osmatranja 0
ruska podela
treba da
Izlaz
radite u I kvadrantu
X=1000(1001)
Y= 1000(1001)
Z = 0
A umesto toga koji god azimut da ubacim (u prvom kvadrantu 100, 200, 500, 750 ) uvek
sve ode na sabiranjeu X koordinatu a Y ostane stalno 1.
Ako ništa ne pirmetim onda je postupak da se ubace kontrolni izlazi
odnosno da ubacimo kućice po algoritmu da vidimo gde se koja vrednost kreće
i da time lociramozonu greške...

Dopuna: 09 Sep 2012 21:07

}
else
{
//cout << "Radite u IV kvadrantu." << endl;
R = 360.0f - AzOs;
++Kx;
--Ky;
}
NEMA DRUGE ŠTAMPAJ OVDE VREDNOST PROMENLJIVE R ONA NIJE UREDU IZGLEDA za ulazno 750 u ruskoj podeli treba da bude R = 45
Xc = Xos + Kx * (long)( Dosr * cos( R ) );
Yc = Yos + Ky * (long)( Dosr * sin( R ) );
Zc = ( J == 1 ) ? Zos + C : Zos + (long)( Dosr * sin( Sos ) );

ltoa( Xc, tmp, 10 );
SetWindowText( GetDlgItem( hDialog, IDC_XC ), tmp );
ltoa( Yc, tmp, 10 );
SetWindowText( GetDlgItem( hDialog, IDC_YC ), tmp );
ltoa( Zc, tmp, 10 );
SetWindowText( GetDlgItem( hDialog, IDC_ZC ), tmp );

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

Е јесам теле...заборавио сам да доделим вредност AzOs пре коришћења па је увек био 0 а због тога је и R увек било 0. Сад сам то исправио али опет не добијам резултате као што си рекао да треба. Сада за улазно X = 1, Y = 1, Z = 0, азимут = 750, даљина = 1409, руска подела добијам излазно X = 741, Y = 1199, Z = 0 (а R је 45 степени).
mycity.rs/must-login.png

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

El je to ovo što sam ti označio na algoritmu ili ekvivalentno tome

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

Баш то сам био заборавио али и сад кад сам убацио резултати нису онакви како си рекао.

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

Za 750 (hiljaditih) odnosno 45 stepeni SIN i COS su jednaki pa onada posledično tome
Del X i Del Y moraju biti jednaki jer je Dosr ISTO a sabiraju se sa 1 i 1 (početnim X i Y)
i tako treba da daju dva ista broja.

Proveri da li Dosr ulazi isto u formulu
Del X= Dosr*SIN(R)
Del Y = Dosr*COS(R)

Dosr u oba slučaja mora da bude ista vrednost i to 1409 (stavi 1413 ako te ne mrzi tačnije je)
R u oba slučaj mora da bude 45 stepeni što znači da če dobijeni rezultati
Del X i Del Y biti isti
Pošto je prvi kvadrant i Kx i Ky su +1 i onda na kraju dakle kada se saberu sa onim ulaznim jedinicama
Xc i Yc treba da budu približno jednaki sa vrednošću 1000

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

То је све уреду али сам заборавио да тригонометријске функције узимају вредност у радијанима а не у степенима GUZ - Glavom U Zid
Исправљено и коначно ради: mycity.rs/must-login.png

Ko je trenutno na forumu
 

Ukupno su 838 korisnika na forumu :: 10 registrovanih, 0 sakrivenih i 828 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3195 - dana 09 Nov 2023 14:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: DonRumataEstorski, Frunze, gomago, Koridor, Malahit, Marko Marković, marsovac 2, SR-3m, Tas011, wolverined4