🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
4 messages
4 total messages Started by chriske911 Sat, 06 Nov 2004 16:12
vb6
#1937
Author: chriske911
Date: Sat, 06 Nov 2004 16:12
11 lines
1423 bytes
weet er iemand een slimme manier om een aantal shapes in een cirkelvorm 
te positioneren en dat natuurlijk gelijkmatig verdeeld?
liefst dynamisch vanwege een resize mogelijheid van de form
ik kom er niet zo direct uit

thnx

-- 
for OE users:
http://home.in.tum.de/~jain/software/oe-quotefix/
just a suggestion ;-)
Re: vb6
#1939
Author: Joris Janssens
Date: Sat, 06 Nov 2004 17:04
27 lines
2097 bytes
chriske911 formuleerde op zaterdag :
> weet er iemand een slimme manier om een aantal shapes in een cirkelvorm te 
> positioneren en dat natuurlijk gelijkmatig verdeeld?
> liefst dynamisch vanwege een resize mogelijheid van de form
> ik kom er niet zo direct uit

in pseudo-code:

for i = 0 to n-1
  shapes[i].y=sin(2*PI*i/n)*cirkelvorm.r+cirkelvorm.y;
  shapes[i].x=cos(2*PI*i/n)*cirkelvorm.r+cirkelvorm.x;
next i

shapes = een array van n shapes
cirkelvorm = het middelpunt van de cirkel van shapes, met als straal r


en bij een resize van je form pas je dan de eigenschappen van 
cirkelvorm aan (straal en x en y-co�rdinaten) aan de nieuwe afmetingen 
van het form


zoiets...

-- 
Joris "flotspe" Janssens *** http://inferno.xhtml.be/
gecontroleerd op virussen door m'n huisdokter
Re: vb6
#1968
Author: chriske911
Date: Wed, 10 Nov 2004 11:16
46 lines
2472 bytes
Joris Janssens interrumpeerde het poetertje met volgende input:
> chriske911 formuleerde op zaterdag :
>> weet er iemand een slimme manier om een aantal shapes in een cirkelvorm te 
>> positioneren en dat natuurlijk gelijkmatig verdeeld?
>> liefst dynamisch vanwege een resize mogelijheid van de form
>> ik kom er niet zo direct uit
>
> in pseudo-code:
>
> for i = 0 to n-1
>   shapes[i].y=sin(2*PI*i/n)*cirkelvorm.r+cirkelvorm.y;
>   shapes[i].x=cos(2*PI*i/n)*cirkelvorm.r+cirkelvorm.x;
> next i
>
> shapes = een array van n shapes
> cirkelvorm = het middelpunt van de cirkel van shapes, met als straal r
>
> en bij een resize van je form pas je dan de eigenschappen van cirkelvorm aan 
> (straal en x en y-co�rdinaten) aan de nieuwe afmetingen van het form
>
> zoiets...

het lijkt te werken zoals ik het verwachtte
de shapes staan dus wel netjes in een cirkel maar niet perfect 
gecentreerd staan rond het middelpunt

dit is hetgeen ik ervan gemaakt heb:

Const Pi = 3.14159265358979
n = nrshapes + 1

For i = 0 To nrshapes
    shpSim(i).Top = Sin(2 * Pi * i / n) * shpCenter.Width + 
shpCenter.Top
    shpSim(i).Left = Cos(2 * Pi * i / n) * shpCenter.Width + 
shpCenter.Left
Next i

wat is er hier aan verkeerd?

thnx

-- 
for OE users:
http://home.in.tum.de/~jain/software/oe-quotefix/
just a suggestion ;-)
Re: vb6
#1969
Author: Joris Janssens
Date: Wed, 10 Nov 2004 16:56
53 lines
3362 bytes
chriske911 schreef op 10/11/2004 :
> Joris Janssens interrumpeerde het poetertje met volgende input:
>> chriske911 formuleerde op zaterdag :
>>> weet er iemand een slimme manier om een aantal shapes in een cirkelvorm te 
>>> positioneren en dat natuurlijk gelijkmatig verdeeld?
>>> liefst dynamisch vanwege een resize mogelijheid van de form
>>> ik kom er niet zo direct uit
>>
>> in pseudo-code:
>>
>> for i = 0 to n-1
>>   shapes[i].y=sin(2*PI*i/n)*cirkelvorm.r+cirkelvorm.y;
>>   shapes[i].x=cos(2*PI*i/n)*cirkelvorm.r+cirkelvorm.x;
>> next i
>>
>> shapes = een array van n shapes
>> cirkelvorm = het middelpunt van de cirkel van shapes, met als straal r
>>
>> en bij een resize van je form pas je dan de eigenschappen van cirkelvorm 
>> aan (straal en x en y-co�rdinaten) aan de nieuwe afmetingen van het form
>>
>> zoiets...
>
> het lijkt te werken zoals ik het verwachtte
> de shapes staan dus wel netjes in een cirkel maar niet perfect gecentreerd 
> staan rond het middelpunt
>
> dit is hetgeen ik ervan gemaakt heb:
>
> Const Pi = 3.14159265358979
> n = nrshapes + 1
>
> For i = 0 To nrshapes
>     shpSim(i).Top = Sin(2 * Pi * i / n) * shpCenter.Width + shpCenter.Top
>     shpSim(i).Left = Cos(2 * Pi * i / n) * shpCenter.Width + shpCenter.Left
> Next i
>
> wat is er hier aan verkeerd?

Je positioneert je vormen aan de hand van de linkerbovenhoek van elk 
vorm. Dus het middelpunt van elke vorm zal shpSim(i).Width/2 teveel 
naar rechts en shpSim(i).Height/2 teveel naar boven staan

For i = 0 To nrshapes
     shpSim(i).Top = Sin(2 * Pi * i / n) * shpCenter.Width + 
shpCenter.Top - shpSim(i).Width/2
     shpSim(i).Left = Cos(2 * Pi * i / n) * shpCenter.Width + 
shpCenter.Left - shpSim(i).Height/2
Next i

-- 
Joris "flotspe" Janssens *** http://inferno.xhtml.be/
m(28,23,Kempen) zkt v(20<=age<=35,20<=bmi<=25,Kempen)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads