לדלג לתוכן

קובץ:Herman-ring-1.png

תוכן הדף אינו נתמך בשפות אחרות.
מתוך ויקיפדיה, האנציקלופדיה החופשית

לקובץ המקורי(4,000 × 2,000 פיקסלים, גודל הקובץ: 512 ק"ב, סוג MIME‏: image/png)

ויקישיתוף זהו קובץ שמקורו במיזם ויקישיתוף. תיאורו בדף תיאור הקובץ המקורי (בעברית) מוצג למטה.

תקציר

תיאור
English: Julia set for rational map with Herman rings.
Русский: Множество Жюлиа для рационального отображения, обладающее кольцами Эрмана
תאריך יצירה
מקור נוצר על־ידי מעלה היצירה
יוצר Ilya Voyager


רישיון

אני, בעל זכויות היוצרים על היצירה הזאת, מפרסם אותה בזאת תחת הרישיונות הבאים:
w:he:Creative Commons
ייחוס שיתוף זהה
הקובץ הזה מתפרסם לפי תנאי רישיונות קריאייטיב קומונז ייחוס-שיתוף זהה 3.0 לא מותאם, 2.5 כללי, 2.0 כללי ו־1.0 כללי.
הנכם רשאים:
  • לשתף – להעתיק, להפיץ ולהעביר את העבודה
  • לערבב בין עבודות – להתאים את העבודה
תחת התנאים הבאים:
  • ייחוס – יש לתת ייחוס הולם, לתת קישור לרישיון, ולציין אם נעשו שינויים. אפשר לעשות את זה בכל צורה סבירה, אבל לא בשום צורה שמשתמע ממנה שמעניק הרישיון תומך בך או בשימוש שלך.
  • שיתוף זהה – אם תיצרו רמיקס, תשנו, או תבנו על החומר, חובה עליכם להפיץ את התרומות שלך לפי תנאי רישיון זהה או תואם למקור.
GNU head מוענקת בכך הרשות להעתיק, להפיץ או לשנות את המסמך הזה, לפי תנאי הרישיון לשימוש חופשי במסמכים של גנו, גרסה 1.2 או כל גרסה מאוחרת יותר שתפורסם על־ידי המוסד לתוכנה חופשית; ללא פרקים קבועים, ללא טקסט עטיפה קדמית וללא טקסט עטיפה אחורית. עותק של הרישיון כלול בפרק שכותרתו הרישיון לשימוש חופשי במסמכים של גנו.
הנכם מוזמנים לבחור את הרישיון הרצוי בעיניכם.

Compare with :

Source code

This is a Julia set of the following rational map:

where t=0.6151732.

We used rather straightforward boundary scanning method (see e.g. D. Saupe, Efficient computation of Julia sets and their fractal dimension, Physica D, v.28 n.3, p.358-370, Oct. 1987 [1]). C++ source code follows. It's available under CC BY-SA, GFDL and GPLv2+.

See also discussion for some notes about compiling and running the program.

#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <iostream>
#include <complex>

inline double max(double a,double b)
{
	return a>b?a:b;
}

using namespace std;

const double t=0.6151732;
const complex<double> rot=exp(2*M_PI*complex<double>(0,1)*t);//e^{2 \pi i t}

complex<double> f(complex<double> z)
{
//    f(z) = e^{2 \pi i t}\cdot \frac{z^2(z - 4)}{1 - 4z}, 
	return rot*(z*z*(z-4.))/(complex<double>(1,0)-4.*z);
}

int main()
{
	//z=x+iy;
	double xmin=-4.0,xmax=8.0,deltax,ymin=-3,ymax=3,deltay;
	int precx=400, precy=200;
	deltax=(xmax-xmin)/precx;
	deltay=(ymax-ymin)/precy;
	int iterations=4000;
	double threshold=iterations/30*sqrt(deltax*deltax+deltay*deltay);
	double x,y;

	complex<double> zlt,zlb,zrt,zrb;
	int i,k,l;
	double maxdistance;
	int color, MaxColor=15;
	double infty=1.E4;
	bool inf_zlt,inf_zlb,inf_zrt,inf_zrb;


	cout << "P2" << endl << precx << " " << precy << endl << MaxColor << endl;
	for(k=0;k<precy;k++)
	{
		y=ymax-k*deltay;
		cerr << y << endl;
		for(l=0;l<precx;l++)
		{
			x=xmin+l*deltax;
			zlt=complex<double>(x-deltax/2,y+deltay/2);
			zlb=complex<double>(x-deltax/2,y-deltay/2);
			zrt=complex<double>(x+deltax/2,y+deltay/2);
			zrb=complex<double>(x+deltax/2,y-deltay/2);
			inf_zlt=false;
			inf_zlb=false;
			inf_zrt=false;
			inf_zrb=false;
			for(i=0;i<iterations;i++)
			{
				if(!inf_zlt){zlt=f(zlt);}
				if(!inf_zlb){zlb=f(zlb);}
				if(!inf_zrt){zrt=f(zrt);}
				if(!inf_zrb){zrb=f(zrb);}
				if(abs(zlt)>infty)
				{
					zlt=infty;
					inf_zlt=true;
				}
				if(abs(zrt)>infty)
				{
					zrt=infty;
					inf_zrt=true;
				}
				if(abs(zlb)>infty)
				{
					zlb=infty;
					inf_zlb=true;
				}
				if(abs(zrb)>infty)
				{
					zrb=infty;
					inf_zrb=true;
				}
			}
			maxdistance=max(abs(zlt-zlb),max(abs(zlt-zrt),max(abs(zlt-zrb),max(abs(zlb-zrt),max(abs(zlb-zrb),abs(zrt-zrb))))));
			if(maxdistance>threshold*8)
			{
				color=0;
			}
			else 
			{
				if(maxdistance<threshold/8.)
				{
					color=MaxColor;
				}
				else
				{
					color=MaxColor-(int(log(maxdistance/threshold)/log(8)*7.)+7);
                                        				}
			}
			//if (x>0 && y>0) color=MaxColor-color;  /* check the orientation of Z-plane by marking first quadrant */

			cout << color << " ";
		}
		cout << endl;
	}
	return 0;
}

כיתובים

נא להוסיף משפט שמסביר מה הקובץ מייצג

פריטים שמוצגים בקובץ הזה

מוצג

היסטוריית הקובץ

ניתן ללחוץ על תאריך/שעה כדי לראות את הקובץ כפי שנראה באותו זמן.

תאריך/שעהתמונה ממוזערתממדיםמשתמשהערה
נוכחית21:18, 15 ביולי 2011תמונה ממוזערת לגרסה מ־21:18, 15 ביולי 2011‪2,000 × 4,000‬ (512 ק"ב)Soul windsurferreversed Y axis and bigger size
00:13, 9 במרץ 2010תמונה ממוזערת לגרסה מ־00:13, 9 במרץ 2010‪1,200 × 2,200‬ (204 ק"ב)Ilya VoyagerRescaling + high-resolution
00:04, 4 במרץ 2010תמונה ממוזערת לגרסה מ־00:04, 4 במרץ 2010‪1,200 × 1,600‬ (169 ק"ב)Ilya Voyager{{Information |Description={{en|1=en:Julia set for rational map with Herman rings.}} {{ru|1=ru:Множество Жюлиа для рационального отображения, обладающее [[:ru:кольцо Эрмана|кол�

אין בוויקיפדיה דפים המשתמשים בקובץ זה.

שימוש גלובלי בקובץ

אתרי הוויקי השונים הבאים משתמשים בקובץ זה: