🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #92855

Re: rysowanie kółek w pascalu

#92855
From: webmajsterek
Date: Sat, 04 Apr 2009 22:20
39 lines
2654 bytes
> Witam
> Mam taki problem- chciałbym narysować w pascalu nieprzecinające się
> kółka umieszczone w prostokącie dla podanego n kółek o takiej samej
> wielkości . Następnie chcę zrobić funkcję która losowo będzie wybierać
> punkty, a jeszcze inna funkcja sprawdzi czy trafiło w jakieś kółko czy
> nie. Na końcu obliczę numerycznie przybliżoną średnicę kółeczka.
> Najbardziej zastanawia mnie jak zrobić aby koła nie przecinały się. Bo
> do obliczeń chcę wykorzystać metodę Monte Carlo, myślę że się
> sprawdzi, ale najpierw trzeb to wszystko narysowac

1. Po prostu zamalowujesz obszar jakim kolorem ( jak te kulka sa widoczne na
ekranie ) lub w tablity . gdy juz masz kilka kol  to po prostu sprawdzasz czy
dany punkt( piksel )  ma kolor tla czy kola .

wada rzowiazania to niska rozielczosc badan -- beddziesz musial definiowac
tablice po kikadziesiat Mb .

2. drugie rozwiazanie to zapamietywac srodek( x,y)  i promien ( r ) kazdego okragu .
gdy chesz dodac nowe kolo najpier musisz  spraawdzic czy sie zmiesci ( miedzy
inne kola ) .  

r1+r2=odleglosc_miedzy_srodkami 

porem liczysz odleglosc miedzy  (x1,y1) i ( x2,y2)  -- jezeli rowna sie sumie
obu promieni  to masz wymagana zgodnoc ze stykaja sie tylko krawedziami .

ten warunek musisz sprawdzic dla wszystkich kol ktore juz zostaly umieszczone  (
zawsze odleglosc musi byc wieksza lub rowna - jezeli miejsza to sie przetna ) .
Po umieszczeniu wszystkich kol  losujesz punkt i sprawdzasz czy nalezy do 
jakiegos kola .

http://pl.wikipedia.org/wiki/Ko%C5%82o_(geometria) 





-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Technical Details
Message-ID: <1562.000001c8.49d7dd3e@newsgate.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate1.onet.pl!niusy.onet.pl
References: <965c12ab-f22e-4c33-be78-3718696c62c7@r33g2000yqn.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate1.onet.pl!niusy.onet.pl
From: webmajsterek@poczta.onet.pl
Newsgroups: pl.comp.lang.pascal
Subject: Re: rysowanie kółek w pascalu
Date: Sun, 05 Apr 2009 00:20:46 +0200
Organization: Onet.pl
Lines: 39
Sender: korbka@newsgate1.test.onet.pl
Message-ID: <1562.000001c8.49d7dd3e@newsgate.onet.pl>
References: <965c12ab-f22e-4c33-be78-3718696c62c7@r33g2000yqn.googlegroups.com>
NNTP-Posting-Host: newsgate1.onet.pl
Mime-Version: 1.0
X-Trace: newsgate1.test.onet.pl 1238883646 2764 213.180.130.17 (4 Apr 2009 22:20:46 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sat, 4 Apr 2009 22:20:46 +0000 (UTC)
X-Mailer: http://niusy.onet.pl
X-Forwarded-For: 83.29.117.189, 192.168.243.153
X-User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.9.0.8)   Gecko/2009032608 Firefox/3.0.8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit