Jump to content

Figūru zīmēšana


Recommended Posts

Sveicināti, varat lūdzu izskaidrot un izpalīdēt ar uzdevumu?

Uzrakstīt programmu, kas zīmē doto figūru. Katrs nākamā līmeņa kvadrāts ir 1/3 no iepriekšējā līmeņa kvadrāta izmēriem.

            Formas izmēri: 1000×1000

            Figūras izmērs: 600×600

            Figūras centrs atrodas formas centrā

Link to post
Share on other sites
itanium

Ko tieši tu nesaprati?

Uztaisi programmu, kas 1000x1000 ekrāna vidū zīmē kvadrātus:

  • 600x600
  • 200x200
  • ~67x~67
  • u.t.t.

 

Pieļauju, ka pie kvadrāta ar malu garumu <=1 px vari apstāties ;)

Edited by itanium
Link to post
Share on other sites
Mezavecis

AWT vai Swing? Vispār šajā forumā palīdzēšana  nozīmē esoša koda pielabošanu vai ideju pasviešanu, nevis koda uzrakstīšanu no nulles. Pirms uzdot jautājumus, ir jābūt skaidrībā, kā strādāt ar Javu. 

 

Te piemēri:

http://www.java2s.com/Tutorial/Java/0261__2D-Graphics/DrawRectangle.htm

http://stackoverflow.com/questions/9713432/drawing-simple-rectangles-on-a-jframe-in-java

Edited by Mezavecis
Link to post
Share on other sites
Mezavecis

Vai tad kvadrāts nav taisnstūris?

Link to post
Share on other sites
itanium

Mežaveci, netērē laiku - bezcerīgs gadījums.

Ne pats ko māk, ne pats ko meklē. Iedod uzdevumu un sagaida gatavu kodu...

Link to post
Share on other sites
Bonifacijs

nekas tā nestiprina draudzību kā kaste alus uz Jāņiem

Edited by Bonifacijs
  • Patīk 1
Link to post
Share on other sites
e = d

sākotnējā specifikācijā nav teikts, ka figūra jāzīmē uz ekrāna.

Link to post
Share on other sites

Tātad, kā redzu galdā ir jāliek

XX naudas/aliņi - Specifikācijas izstrāde

XX naudas/aliņi - Projektējuma izstrāde

XX naudas/aliņi - kodēšana/ testēšana

 

XX naudas/aliņi - telefon/skype konultācijas

 

 

Puika būs apmierināts un tauta nopelnīs :D

Link to post
Share on other sites

Bet tu čalīt izskaties galīgi bezcerīgs gadījums. Principā te tev visu jau uz paplātes pasniedza, pat man ir skaidrs kaut neesmu koderis. Te bez $ nezitiksi, vai paliksi bešā.

Link to post
Share on other sites
Kaspars12

Ir $, ir uzdevums, nav $ nav uzdevuma!

 

Visa problēma, ja būsi devīgs ar $, izskaidros arī būtību!

Edited by Kaspars12
Link to post
Share on other sites

Uzdevuma nosacījumi neatbilst bildei redzamajā. Kā no bildes redzams katrs kvadrāts sadalās trīs daļās, kur vidējai malai zīmējas klāt mazāki kvadrāti: https://i.imgur.com/UsH4Vqa.png

 

Katra no daļām sākotnējam kvadrātam ir 200px gara, jo 600/3=200. Kā arī redzams, ka kvadrātam ārpusē uz katru no četrām pusēm ir divi 200px gari segmenti.

Respektīvi vertikāli un horizontāli formas lielums ir 3*200 + 2*200 + 2*200 = 600 + 400 + 400 = 1400px. Bet uzdevumā prasīts 1400px liela forma. Ar 100px lielu formu visa tie zaļie kvadrāti neielīdīs formā!

 

Reku pierādījums ar JavaScript kodu:

Edited by bubu
  • Patīk 1
Link to post
Share on other sites
AndrisBB

Es saprotu ka kopējais figūras izmērs ir 600px. Sākam piemēram ar 300px platu vidējo kvadrātu, kuru dalam ar 3 utt. (300->100 ->33->11->3) un turpinam kamēr var kautko uzzīmēt.

Precīzi 600 jau dabūt izskatās ka nav iespējams jebkurā gadījumā. Apskatot to paraugu izskatās ka tas mazākais kvadrāts ir mazliet nobīdīts un nemaz nav pa vidu, ko varētu izskaidrot ar pāreju no 11 uz 3

Link to post
Share on other sites

Jā, pirmais kvadrāts ir 600px liels. Bet visa forma ir 1000px, ne?

Kas kur ir nobīdīts? Otrajā piemērā pelēkais kvadrāts = "forma". Tas ir 1000px liels. Zaļais kvadrāts ir 600px. No centra (500px) to zīmējot sanāk aizņemt (200,200)-(800,800) laukumu. Nākamā līmeņa kvadrāta izmērs ir 600px/3=200px.

Un 200px-200px = 0 un 800px+200px =1000. Tātad otrā līmeņa kvadrāts precīzi pieskarsies lielās pelēkās formas malām. Trešā līmeņa kvadrāts (un mazākie) jau ies pāri formas laukumam.

Link to post
Share on other sites
AndrisBB

Nekur nav teikts ka pirmais kvadrāts ir 600px.

 

  • Katrs nākamā līmeņa kvadrāts ir 1/3 no iepriekšējā līmeņa kvadrāta izmēriem. - katrs nākamais kvadrāts ir 1/3 no iepriekšējā, te viss skaidrs
  • Formas izmēri: 1000×1000 - Te ar viss skaidrs, pelēkais kvadrāts ir 1000x1000, piemēram kkāds JPanels
  • Figūras izmērs: 600×600 - Figūras(kopējais) izmērs ir 600x600 nevis pirmā (lielakā) kvadrāta izmērs, var teikt ka ja vidējais kvadrāts ir apmēram 1/2 puse no figūras izmēra, tad kopējais izmērs nekad nepārsniegs 600x600

 

Te var redzēt ka pēdējais kvadrāts nav precīzi pa vidu. Var jau būt ka kautkādas kompresijas, encodinga nobīdes, bet maz ticams

4hbin4.jpg

Edited by AndrisBB
Link to post
Share on other sites

Ah, nu ja visas figūras izmērs ir 600px, tad jā tas izklausās ticamāk.

Pēdējais pikselis nav pa vidu pieņemu tāpēc, ka 4/3 = 1, un 1 pikseli pa vidu 4x4 kvadrātam nevar nolikt :)

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...