Pascal Help- SURNE!

Programovacie jazyky, rady, poradňa...
ranger.sk
Amateur
Amateur
Príspevky: 18
Registrovaný: 18 nov 2009, 11:06

hm

Príspevok od používateľa ranger.sk »

Cawte. Mam tento problem:

mam zadat x,y suradnice laveho horneho rohu a praveho dolneho rohu obdlznika
a bodu A. Zistit ci bod A lezi v obdlzniku, mimo alebo na hrane.

Neviem ani ako zacat, dakujem velmi pekne za vasu radu, ste skilly.

//autoeditácia príspevku ( 18 Nov 2009, 12:09 )
Tak asi nic ze? :(
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Re: Pascal Help- SURNE!

Príspevok od používateľa TGiJack »

ranger.sk napísal:Cawte. Mam tento problem:

mam zadat x,y suradnice laveho horneho rohu a praveho dolneho rohu obdlznika
a bodu A. Zistit ci bod A lezi v obdlzniku, mimo alebo na hrane.

Neviem ani ako zacat, dakujem velmi pekne za vasu radu, ste skilly.
a čo je natom zlozite ?? aj keby si nevedel vykreslit ten obdlžnik tak sa to dazistit matematicky ...predstav si ze plocha je ako siet a kazda bunka ma svoju suradnicu ...ta a teraz k prikladu

bod A ma suradnicu: 10,20
Objekt(obdlznik) : 1,2-30,15

a čista matika :)
1.krok: 10 > 1 A lezi vpravo od lavej strany objektu .... vrati TRUE
2.krok: 10 < 30 A lezi vlavo od pravej strany objektu .... vrati TRUE
3.krok: 20 > 2 A lezi pod hornou stranou objektu .... vrati TRUE
4.krok: 20 < 15 A lezi nad spodnou stranou objektu .... vrati FALSE

vysledok: A lezi pod Obdlznikom :D

ztoho ti je už asi aj jasne ako zistit ci bod lezi na strane objektu a na akej,a tiež to mozes spravit takto pre lubovolný objekt napr: kruh a elipsu atd...

PS: dufam že som sa nesekol v osiach kedze v pascali som nerobil už tak 2-3 roky :D
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Príspevok od používateľa c-ice »

tak poradim ti ako začat nakresli si to na papier a uvedomsi co všetko vieš a začni písat podmienku... if ( ax >X1) and (ay <Y1) and (ax <X2) ...
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Príspevok od používateľa TGiJack »

necakaj že ti tu niekto odpovie do minuty ako tu niečo napišeš :) a ešte teraz na obed ked všetci su v práci či v škole tomu musiš dat čas ,kým si to niekto všimne čo aspon ako tak tuší čo potrebuješ,vie odpovedat... a najde si čas ti odpovedat :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

TGiJack: s tým kruhom by som netvrdil že to tak isto môžeš spraviť, už len preto že kruh je zadaný jednou súradnicou a nie dvoma. Ak by si chcel vyrátavať či je na hrane (kružnici) daný bod, stačí si spraviť absolútnu hodnotu rozdielu stredu a bodu (pre x-ovú aj y-ovú os) a porovnať či je aspoň jedna z nich rovná polomeru. Teda to bude jedna podmienka s or, a nie 4. Ak to bude > tak je mimo kruhu a ak < tak je v kruhu. Vôbec to nebudú 4 podmienky ak v tomto prípade. S elipsou to bude zložitejšie, no tiež to bude inač ako pri obdlžniku/štvorci. To len tak na okraj.
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Príspevok od používateľa TGiJack »

audiotrack napísal:TGiJack: s tým kruhom by som netvrdil že to tak isto môžeš spraviť, už len preto že kruh je zadaný jednou súradnicou a nie dvoma. Ak by si chcel vyrátavať či je na hrane (kružnici) daný bod, stačí si spraviť absolútnu hodnotu rozdielu stredu a bodu (pre x-ovú aj y-ovú os) a porovnať či je aspoň jedna z nich rovná polomeru. Teda to bude jedna podmienka s or, a nie 4. Ak to bude > tak je mimo kruhu a ak < tak je v kruhu. Vôbec to nebudú 4 podmienky ak v tomto prípade. S elipsou to bude zložitejšie, no tiež to bude inač ako pri obdlžniku/štvorci. To len tak na okraj.
jasne jasne to mi je zrejme ale principialne je to iste :) ..no a ta elipsa hmm tak to by sa človek musel isto trochu pohrat :idea:
ranger.sk
Amateur
Amateur
Príspevky: 18
Registrovaný: 18 nov 2009, 11:06

aha

Príspevok od používateľa ranger.sk »

Lenze ja to nepotrebujem na papiery ale v pascali :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: aha

Príspevok od používateľa audiotrack »

ranger.sk napísal:Lenze ja to nepotrebujem na papiery ale v pascali :D
toto som sem daval niekedy asi pred rokom alebo dvoma. Tam potreboval chalan zistiť prienik dvoch 4-uholníkov, tak si to prerob na 4-uholník a bod (hint: obe súradnice 2. 4-uholníka budú rovnaké, takže jeho rozmery budú nulové -> 1 bod)

Kód: Vybrať všetko

program daco
type TPoint=record
      x:integer;
      y:integer;
      end;
var a,b:array[1..2] of TPoint;
    prekryva_x,prekryva_y:boolean;
    i:integer;
begin
writeln('Zadaj rozmery prveho stvoruholnika: ');
for I:=1 to 2 do begin
  writeln('Bod ',i,', suradnica x: ');
  readln(a[i].x);
  writeln('Bod ',i,', suradnica y: ');
  readln(a[i].y);
  end;
writeln('Zadaj rozmery druheho stvoruholnika: ');
for I:=1 to 2 do begin
  writeln('Bod ',i,', suradnica x: ');
  readln(b[i].x);
  writeln('Bod ',i,', suradnica y: ');
  readln(b[i].y);
  end;
prekryva_x:=false;
prekryva_y:=false;
if ((a[2].x>=b[2].x) and (a[1].x<=b[2].x)) or ((a[1].x<=b[1].x) and (a[2].x>=b[1].x))  then prekryva_x:=true;
if ((a[1].y<=b[1].y) and (a[2].y>=b[1].y)) or ((a[2].y>=b[2].y) and (a[1].y<=b[2].y))  then prekryva_y:=true;

if prekryva_x and prekryva_y then writeln('Tieto 4-uholniky sa prekryvaju') else writeln('Tieto 4-uholniky sa neprekryvaju')


end.
 
a tiež si tam dorob či leží na hrane (čiže trošku upraviť tie podmienky). Mne sa to nechce upravovať, ja to nepotrebujem a chcem nech aspoň minimálne pohneš rozumom :)
TGiJack
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 419
Registrovaný: 30 nov 2006, 19:37
Bydlisko: NO
Kontaktovať používateľa:

Re: aha

Príspevok od používateľa TGiJack »

ranger.sk napísal:Lenze ja to nepotrebujem na papiery ale v pascali :D
hmmm ??? tu tinik tvoje zadania kodid nebude :x

hod tu zdrojak ak ti niečo nefunguje a povedz čo treba.... a tento priklad ak to potrebujes lem pre obdlznik je uuplne primitívny a ak nepotrebujes to vykreslit tak myslim ze uz na 2hodine paskalu v škole by to hravo zvladol ktokolvek ..ved tam mas iba blbe Read, IF,Write... ako fakt nechapem čo je tažke natom ????
ranger.sk
Amateur
Amateur
Príspevky: 18
Registrovaný: 18 nov 2009, 11:06

Príspevok od používateľa ranger.sk »

parada toto je to co som potreboval! Dakujem moc. Proste som potreboval navod how-to :D
Napísať odpoveď