🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #205093

Re: Podpis cyfrowy większej ilości podmiotów

#205093
From: bartekltg
Date: Thu, 18 Apr 2013 12:35
73 lines
3771 bytes
W dniu 2013-04-18 10:28, M.M. pisze:
> On Thursday, April 18, 2013 9:44:56 AM UTC+2, firr kenobi wrote:
>> a czemu taka dziwna petla
> Nie wiem... znam akurat taką implementację rysowania
> tego fraktala. Co jest w niej dziwne? Jaka jest lepsza?

Była w wątku;)

>> czy dwa warunki na fabsa sa szybsze
>> niz jeden na x*x+y*y>4. ? moze
>> cztery x<-2, x>2 y<-2, y>2 bylyby szybsze
>
> Jak dwa warunki, jak cztery? Nie kumam :)

const double tmp = x*x - y*y + _x;
if( std::fabs(tmp) > 2.0 ) break;  //pierwszy
y = 2.0 * x * y + _y;
if( std::fabs(y) > 2.0 ) break;    //drugi
x = tmp;


Wersja, o której myśli fir wygląda tak:

double x=0, y=0, xx=0,yy=0;

for( i=0 ; i<inf ; i++ )
{
	y = 2.0 * x * y + _y;
	x = xx - yy + _x;
	xx = x*x;
	yy = y*y;
	if (xx+yy>4.0) break;
}

Idea jest taka, że skoro i tak kwadratujemy wspolrzedne
by obliczyć cześć rzeczywistą, to możemy je wykorzystać
do normy. Żadnych abs i tylko jeden warunek.
Trzeba tylko pamiętać, żeby przed pętlą inicjować
nie tylko x i y, ale też ich kwadraty, xx,yy.

To jest zresztą jedna z optymalizacji, przy której
nie wierzę, by komputer na nią wpadł na podstawie
kodu zapisanego elegancko na zmiennych zespolonych;)

BTW, jakiś kompilator wpada choćby na to, że
if ( liczba.abs()< stala )
to to samo co
if ( liczba.norm()< stala*stala )
?

A tego speca, co nazwał kwadrat normy normą to...


> Na takim obszarze przy większej wartości inf mam wszystko czarne:
> https://thumbs.rapidshare.com/thumbs/1024/F28/9A4A63B42170BFFB707E1970E39E1.jpg

Zrób lepszą paletę;)

To jakie masz to inf. Zmieniając je wyniki nie będą się
tak do końca liniowo skalować.


> Robię na takim:
> x1 = -1.40105941;
> y1 = -0.00005182;
> x2 = -1.40116832;
> y2 = 0.00004030;
> inf = 60000;

Łojej! 60 tysięcy? ładne obrazki na [-1,1]^2 to dla 30 wychodzą;)

pzdr
bartekltg
Technical Details
Message-ID: <kkop9u$t9b$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <kkdqot$5rl$1@node2.news.atman.pl> <kkdtr5$9n9$1@node1.news.atman.pl> <2795af88-99c6-4f35-8a9d-22bda8af2925@googlegroups.com> <kkec03$n4h$1@node2.news.atman.pl> <a9253e59-21f5-43b5-853a-c60cb43c1f15@googlegroups.com> <kkfd89$o9b$1@news.task.gda.pl> <0fff07bc-e341-49a0-810c-333536e2901a@googlegroups.com> <kkh42k$81t$1@news.task.gda.pl> <b177dfc7-88f3-4cd7-9075-2acdd76f9662@googlegroups.com> <kkhr56$a62$1@news.task.gda.pl> <30021d10-a471-4cae-8f17-61eb36cb775e@googlegroups.com> <kkkjpe$b54$1@news.task.gda.pl> <8b53662c-8c31-4fc3-b82b-8173d9cf4f6f@googlegroups.com> <47d7734e-680b-4e13-995e-c0a2407217c3@googlegroups.com> <cdced490-b579-41ee-a123-afb12010cc12@googlegroups.com> <kkmvfc$hu3$2@news.task.gda.pl> <d936ef81-4b63-4dcb-8771-cc2a1faab4e1@googlegroups.com> <d4359f15-51e4-438a-9057-b46d93bfc70c@googlegroups.com> <9f8703e3-4731-4da6-9e7a-0bf564f5896e@googlegroups.com> <6f0c375b-de78-4b03-a0b4-c9e59f6f5786@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: bartekltg <bartekltg@gmail.com>
Newsgroups: pl.comp.programming
Subject: Re: Podpis cyfrowy
 większej ilości podmiotów
Date: Thu, 18 Apr 2013 14:35:09 +0200
Organization: ATMAN - ATM S.A.
Lines: 74
Message-ID: <kkop9u$t9b$1@node2.news.atman.pl>
References: <kkdqot$5rl$1@node2.news.atman.pl> <kkdtr5$9n9$1@node1.news.atman.pl> <2795af88-99c6-4f35-8a9d-22bda8af2925@googlegroups.com> <kkec03$n4h$1@node2.news.atman.pl> <a9253e59-21f5-43b5-853a-c60cb43c1f15@googlegroups.com> <kkfd89$o9b$1@news.task.gda.pl> <0fff07bc-e341-49a0-810c-333536e2901a@googlegroups.com> <kkh42k$81t$1@news.task.gda.pl> <b177dfc7-88f3-4cd7-9075-2acdd76f9662@googlegroups.com> <kkhr56$a62$1@news.task.gda.pl> <30021d10-a471-4cae-8f17-61eb36cb775e@googlegroups.com> <kkkjpe$b54$1@news.task.gda.pl> <8b53662c-8c31-4fc3-b82b-8173d9cf4f6f@googlegroups.com> <47d7734e-680b-4e13-995e-c0a2407217c3@googlegroups.com> <cdced490-b579-41ee-a123-afb12010cc12@googlegroups.com> <kkmvfc$hu3$2@news.task.gda.pl> <d936ef81-4b63-4dcb-8771-cc2a1faab4e1@googlegroups.com> <d4359f15-51e4-438a-9057-b46d93bfc70c@googlegroups.com> <9f8703e3-4731-4da6-9e7a-0bf564f5896e@googlegroups.com> <6f0c375b-de78-4b03-a0b4-c9e59f6f5786@googlegroups.com>
NNTP-Posting-Host: 89-73-65-59.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1366288510 29995 89.73.65.59 (18 Apr 2013 12:35:10 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Thu, 18 Apr 2013 12:35:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
In-Reply-To: <6f0c375b-de78-4b03-a0b4-c9e59f6f5786@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit