Исходный файл (1655 × 1655 пикселей, размер файла: 1003 КБ, тип MIME: image/png )
Это файл из Wikimedia Commons. Информация с его страницы описания там показана ниже. Commons — это свободно лицензированный репозиторий медиафайлов. Вы можете помочь.
Перенесено из en.wikipedia в Commons пользователем Maksim.
Оригинальная страница описания была здесь. Все последующие имена пользователей ссылаются на en.wikipedia.
//
Эта работа является свободным программным обеспечением; вы можете распространять ее и/или изменять ее в соответствии с условиями GNU General Public License , опубликованными Free Software Foundation; либо версии 2 Лицензии, либо любой более поздней версии. Эта работа распространяется в надежде, что она будет полезна, но без каких-либо гарантий ; даже без подразумеваемых гарантий товарной пригодности или пригодности для определенной цели . Более подробную информацию см. в версии 2 и версии 3 GNU General Public License.http://www.gnu.org/licenses/gpl.htmlGPLGNU General Public Licensetruetrue
c исходный код
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h>#определить ПИ 3,141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825 #определить ПИ2 (ПИ*2) # определить SQ2 1,414213562373095048801688724209698078569671875376948073176679737990732478462 #определить SQ3 1.732050807568877293527446341505872366942805253810380628055806979451933016909 #define FI 1.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204#определить SX 1111 #определить SY 1111//////////////////СОЗДАВАЙТЕ КРАСИВЫЕ УЗОРЫ ЗДЕСЬ. DPOLY должен быть дифференцированным POLY.#define POLY(z) z*z*z*z*z + (-1) #define DPOLY(z) 5*z*z*z*z//#define POLY(z) z*z*z*z*z*z*z*z*z + (-1) //#define DPOLY(z) 9*z*z*z*z*z* з*з*з//#define POLY(z) z*z*z*z*z + (-3i) * z*z*z + (-5-2i) * z*z + (3) * z + (1) / /#define DPOLY(z) 5*z*z*z*z + (-3i) * 3*z*z + (-5-2i) * 2*z + (3) * 1//#define POLY(z) z*z*z*z*z*z + (2-4i) * z*z*z*z*z + (-1) * z + (2+4i) // #define DPOLY(z) 6*z*z*z*z*z + (2-4i) * 5*z*z*z*z + (-1) * 1//#define POLY(z) z*z*z*z*z + (-1) * z + (-1) //#define DPOLY(z) 5*z*z*z*z + (-1 ) * 1//#define POLY(z) z*z*z*z*z + (-1) - (cos(__imag__ z)+1i*sin(__imag__ z))*exp(__real__ z) //#define DPOLY( z) 5*z*z*z*z - (cos(__imag__ z)+1i*sin(__imag__ z))*exp(__real__ z)#определить РСД 1923879#определить BPL ((SX*3+3)&~3)void seedr ( unsigned int ); unsigned int rnd (); unsigned int rndm ( unsigned int );беззнаковый символ bhdr [ 54 ] = { 0x42 , 0x4D , 0x36 , 0x00 , 0x30 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x36 , 0x00 , 0x00 , 0x00 , 0x28 , 0x00 , 0x00 , 0x00 , 0x00 , 0x04 , 0x00 , 0x00 , 0x00 , 0x04 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x18 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x30 , 0x00 , 0x12 , 0x0B , 0x00 , 0x00 , 0x12 , 0x0B , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } ;беззнаковый символ po [ BPL ];двойной gr [ SY ][ SX ][ 3 ];void drawit ();int main ( int a , char ** b ) { FILE * o ; int x , y , c ; double t ; unsigned char * p ; // исправлена ошибка из-за преобразования из unsigned char в charsrand ( time ( 0 )); drawit (); p = bhdr + 2 ; * p ++= x = 54 + BPL * SY ; * p ++= x >>= 8 ; * p ++= x >> = 8 ; * p = x >>= 8 ; p = bhdr + 18 ; * p ++= x = SX ; * p ++= x >>= 8 ; * p ++= x >>= 8 ; * p ++= x >>= 8 ; * p ++= x = SY ; * p ++= x >>= 8 ; * p ++= x >>= 8 ; * p = x >>= 8 ;if ( ! ( o = fopen ( "newtroot.bmp" , "wb" ))) { fclose ( o ); printf ( "Не удалось открыть выходной файл. \n " ); return ( 0 ); } fwrite ( bhdr , 54 , 1 , o );для ( x = SX * 3 ; x < BPL ; ++ x ) po [ x ] = 0 ; для ( y = SY -1 ; ~ y ; -- y ) { для ( x = 0 , p = po ; x < SX ; ++ x ) для ( c = 2 ; ~ c ; -- c ) * p ++= ( t = gr [ y ][ x ][ c ]) <= 0 ? 0 : ( t >= 1 ? 255 : t * 255 ); fwrite ( po , BPL , 1 , o ); }fclose ( o ); return ( 0 ); }void drawit () { int x , y , c , n , bn , dx , dy , dz ; беззнаковое целое число m , p ; _Complex double z , w ; double f , s ; seedr ( RSD ); для ( y = 0 ; y < SY ; ++ y ) для ( x = 0 ; x < SX ; ++ x ) { z = ( x * ( 10. / SX ) -5 ) - ( y * ( 10. / SY ) -5 ) * 1 i ;для ( f = s = 1 ; f > .01 && ( __real__ (( w = ( POLY ( z ))) *~ w )) > .01 ; f *= .95 , s =- s ) z = z - w / ( DPOLY ( z ));для ( n = 0 ; n < 10 ; ++ n ) z = z - ( ПОЛИ ( z )) / ( ДПОЛИ ( z ));z знак равно ж * ( z * z ) / ( z * ~ z );gr [ y ][ x ][ 0 ] = .5 * f /*+.02*s*f*/ + .24 * ( __real__ ( z )) - ( SQ3 * .24 ) * ( __imag__ ( z )); gr [ y ][ x ][ 1 ] = .5 * f /*+.02*s*f*/ + .24 * ( __real__ ( z )) + ( SQ3 * .24 ) * ( __imag__ ( z )); gr [ y ][ x ][ 2 ] = .5 * f /*+.02*s*f*/ -.48 * ( __real__ ( z )); } }беззнаковое целое число rseeda [ 624 ]; int rseedu ;void seedr ( unsigned int s ) { int n ; rseedu = 624 ; rseeda [ 0 ] = s ; for ( n = 1 ; n < 624 ; ++ n ) rseeda [ n ] = s *= 69069u ; }#define TEMPBLAH(x,y,z) { v=(rseeda[x]&0x80000000)|(rseeda[y]&0x7fffffff);\ rseeda[x]=rseeda[z]^(v>>1)^(0x9908b0df&(0-(v&1)));} void gennewr () { int n ; unsigned int v ; for ( n = 0 ; n < 227 ; ++ n ) TEMPBLAH ( n , n + 1 , n + 397 ); for (; n < 623 ; ++ n ) TEMPBLAH ( n , n + 1 , n -227 ); TEMPBLAH ( 623 , 0 , 396 ); rseedu = 0 ; } #undef TEMPBLAHбеззнаковое целое число rnd () { если ( rseedu >= 624 ) gennewr (); беззнаковое целое число v = rseeda [ rseedu ++ ]; v ^= v >> 11 ; v ^= ( v << 7 ) & 0x9d2c5680 ; v ^= ( v << 15 ) & 0xefc60000 ; v ^= v >> 18 ; return ( v ); }беззнаковое целое число rndm ( беззнаковое целое число m ) { беззнаковое целое число v , c = ( 0u - m ) / m ; while (( v = rnd ()) / m > c ); return ( v % m ); }
дата/время
имя пользователя
редактировать резюме
13:01, 12 ноября 2005 г.
ru:Пользователь:129.177.30.18
(Исправление ошибки: изменение x над [0, SY] на x над [0, SY]. Проблема возникнет только в том случае, если SX != SY.)
05:07, 14 ноября 2004 г.
ru:Пользователь:Cyp
(+Источник)
05:06, 14 ноября 2004 г.
ru:Пользователь:Cyp
(Нахождение корней «методом Ньютона»)
Исходный журнал загрузки
Легенда: (cur) = это текущий файл, (del) = удалить эту старую версию, (rev) = вернуться к этой старой версии. Щелкните по дате, чтобы загрузить файл или увидеть изображение, загруженное в эту дату. * (del) (cur) 05:06, 14 ноября 2004 г. . ru:User:Cyp Cyp ( ru:User_talk:Cyp Talk) . . 1111x1111 (527065 байт) (Поиск корней с помощью "метода Ньютона") Дополнительные описания en:Newton fractal и de:Newton-Fraktal.
Captions
Add a one-line explanation of what this file represents
Items portrayed in this file
depicts
copyright status
copyrighted
copyright license
GNU General Public License, version 2.0 or later
media type
image/png
История файла
Нажмите на дату/время, чтобы просмотреть файл в том виде, в котором он был в тот момент.
Пересчитано с более низким разрешением, так что это не нарушает генерацию миниатюры и, таким образом, существующие использования этого изображения. Лицензия, источник, ... остаются неизменными