Perfecte Rechthoek

Algemene discussies en vragen omtrent Liberty BASIC programma's. Stuur zoveel mogelijk delen van listings (snippets) in als je hulp wilt.

Moderators: anthonio, Abcott

Perfecte Rechthoek

Berichtdoor bluatigro » zo jan 15, 2012 11:19 am

ik vond het idee van n PR in n oud boek

een PR heeft de volgende eigenschappen :
- een PR is een rechthoek
- een PR bestaat uit vierkanten
- er is meer dan 1 vierkant in n PR
- alle vierkanten hebben n andere grootte
- een PR is helemaal gevuld

dit roept de volgede vragen op :
- kan ik n PR maken met code
- als ja : wat is de kleinste PR
- is er n vierkante PR
- als ja : wat is de kleinste vierkante PR

eerst het bewijs dat n PR bestaat
Code: Selecteer alles
WindowWidth = DisplayWidth
WindowHeight = DisplayHeight
nomainwin
global kl$
kl$ = "white yellow brown red green cyan blue darkblue black pink"
open "Perfect Rectangle" for graphics as #m
  #m "trapclose [quit]"
  while a$ <> "end"
    read a$
    for i = 1 to len( a$ )
      q = val(mid$(a$,i,1))mod 10 + 1
      #m "backcolor " ; word$( kl$ , q )
      #m "goto " ; i*20 ; " " ; y*20
      #m "down"
      #m "boxfilled ";i*20+20;" ";y*20+20
      #m "up"
    next i
    y = y + 1
  wend

data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111222222222222222"
data"111111111111111111333333344444444"
data"111111111111111111333333344444444"
data"111111111111111111333333344444444"
data"555555555555556666333333344444444"
data"555555555555556666333333344444444"
data"555555555555556666333333344444444"
data"555555555555556666333333344444444"
data"555555555555557777777777844444444"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"555555555555557777777777999999999"
data"end"
wait
[quit]
  close #m
end


dat lijkt veel op mondriaan niet ?
op deze manier kunnen we dus automatise kunst maken

nu is het wel de bedoeling dat alles automatis gaat
[ geen data dus ]

poging 1
Code: Selecteer alles
dim p( 32 , 32 )





end
function push$( a$ , item )
  push$ = a$ ; " " ; item
end function
function isPRarea( width , height )
  uit = false
  a = min( width , height )
  if width = height then a = a - 1
  for i = 1 to a
    set$ = push$( set$ , i )
  next i
  if area( set$ ) < width * height then
    uit = false
  else
    ''here comes a algoritm
    ''that calculates if there
    ''is ANY subset of squares
    ''whit exacly the same area
    ''as the rectangle
    uit = true
  end if
  isPRarea = uit
end function
function area( set$ )
  p = 1
  while word$( set$ , p ) <> ""
    no = val( word$( set$ , p)
    som = som + no * no
    p = p + 1
  wend
  area = som
end function
sub createPR set$ , w , h
''here comes the algoritm
''that places the squares of the set$
''if succes then
''  draw set$ of squares

  for x = 0 to 32
    for y = 0 to 32
      ''draw 1 'pixel'
    next y
  next x
end function



opmerkingen , help , sugesties etc.. zijn welkom
bluatigro
 
Berichten: 306
Geregistreerd: za sep 27, 2008 6:01 pm

Keer terug naar Liberty BASIC Code

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron