Article View: be.comp.programming
Article #1969Re: vb6
From: Joris Janssens
Date: Wed, 10 Nov 2004 16:56
Date: Wed, 10 Nov 2004 16:56
53 lines
3362 bytes
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)
Technical Details
Message-ID:
<mn.54347d4bf5ecd215.14768@xhtml.invalid>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!lightspeed.eweka.nl!217.19.16.136.MISMATCH!217.19.16.137.MISMATCH!news.cambrium.nl!217.73.144.44.MISMATCH!ecngs!feeder.ecngs.de!feed1.news.be.easynet.net!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mailReferences:
<mn.34087d4b83932672.19335@yahoo.com> <mn.343c7d4b6b573037.14768@xhtml.invalid> <mn.52e07d4b5462d810.19335@yahoo.com>Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,480cab119cff5106
X-Google-Attributes: gidfcea4,public
X-Google-Language: DUTCH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!lightspeed.eweka.nl!217.19.16.136.MISMATCH!217.19.16.137.MISMATCH!news.cambrium.nl!217.73.144.44.MISMATCH!ecngs!feeder.ecngs.de!feed1.news.be.easynet.net!ossa.telenet-ops.be!phobos.telenet-ops.be.POSTED!not-for-mail
Subject: Re: vb6
From: Joris Janssens <spam@xhtml.invalid>
References: <mn.34087d4b83932672.19335@yahoo.com> <mn.343c7d4b6b573037.14768@xhtml.invalid> <mn.52e07d4b5462d810.19335@yahoo.com>
Newsgroups: be.comp.programming
Message-ID: <mn.54347d4bf5ecd215.14768@xhtml.invalid>
Organization: xhtml.be
X-Newsreader: MesNews/1.02.00.00-nl
MIME-Version: 1.0
X-Face: 6}8V+h6Nm.>R&kg>m[fW/3_xh#')R1qmLJq00i\oElD(&1,8~vxM$?-p\#WW_?Wh|3f7Qkf ,:/J3BA53&vhqyS.bn_#pknb/JlH3bK%MxfBy=YwppQhLu`kG>)H9[eKYMnybm7F,svr4?=mO#=!hP PRi{,b3]3f#54`sy&#i78@9*m4QTZJkech=A[mk>q3F?+U1V7+&nu3f\c)%k'hA
Reply-To: usenet@xhtml.be
Content-Type: text/plain; charset="iso-8859-15"; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 54
Date: Wed, 10 Nov 2004 16:56:56 GMT
NNTP-Posting-Host: 213.118.5.187
X-Complaints-To: abuse@telenet.be
X-Trace: phobos.telenet-ops.be 1100105816 213.118.5.187 (Wed, 10 Nov 2004 17:56:56 MET)
NNTP-Posting-Date: Wed, 10 Nov 2004 17:56:56 MET