Poslao: 09 Sep 2012 18:30
|
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.
|
|
Poslao: 09 Sep 2012 18:50
|
offline
- taurine
- Građanin
- Pridružio: 06 Sep 2012
- Poruke: 49
|
Дешава се, ево исправио сам
mycity.rs/must-login.png
Сад сам приметио нешто и мало ми је чудно - кад унесем неке податке чисто ради тестирања и поставим да је вертикални угао осматрања нула степени, добијем неки резултат а кад користим исте податке и уместо вертикалног угла ставим НАД/ПОД да је нула метара, добијем други резултат. Зар резултати неби требали да буду исти?
|
|
|
|
Poslao: 09 Sep 2012 20:01
|
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.
|
|
|
|
Poslao: 09 Sep 2012 20:27
|
offline
- taurine
- Građanin
- Pridružio: 06 Sep 2012
- Poruke: 49
|
Аха, е па то са квадрирањем је решило проблем различитих резултата. И даље мислим да кад се користи нула било за НАД/ПОД или за вредност вертикалног угла резултати требају бити исти (јер померај од 0 степени горе/доле је исто што и померај од 0 метара горе/доле). Наравно, за вредности различите од нуле, то није случај и резултати су различити (јер померај од Х степени није исто што и померај од Х метара).
Још нешто, код тог одређивања квадранта: према твом алгоритму ја сам разумео да:
- ако је у питању први квадрант Кх постаје 1 а Ку исто 1,
- ако је у питању други квадрант Кх постаје -1 а Ку је 1,
- ако је у питању трећи квадрант Кх постаје -1 а Ку исто -1,
- ако је у питању четврти квадрант Кх постаје 1 а Ку је -1.
Тако и програм ради. Можда ја нисам добро разумео тај део алгоритма...
mycity.rs/must-login.png
|
|
|
|
Poslao: 09 Sep 2012 21:07
|
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 );
|
|
|
|
Poslao: 09 Sep 2012 21:30
|
offline
- taurine
- Građanin
- 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
|
|
|
|
Poslao: 09 Sep 2012 21:38
|
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
|
|
|
|
Poslao: 09 Sep 2012 21:48
|
offline
- taurine
- Građanin
- Pridružio: 06 Sep 2012
- Poruke: 49
|
Баш то сам био заборавио али и сад кад сам убацио резултати нису онакви како си рекао.
|
|
|
|
Poslao: 09 Sep 2012 22:04
|
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
|
|
|
|
|