Orbit trap
ગણિતમાં, ઓર્બિટ ટ્રેપ એ ફ્રેક્ટલ બનાવવા માટે ઉપયોગમાં લેવાતા પુનરાવર્તિત કાર્ય, ભૌમિતિક આકાર સુધી પહોંચે છે, જેને "ટ્રેપ" કહેવાય છે તેના આધારે ફ્રેક્ટલ છબીઓને રંગવાની એક પદ્ધતિ છે. લાક્ષણિક ફાંસો બિંદુઓ, રેખાઓ, વર્તુળો, ફૂલના આકારો અને રાસ્ટર છબીઓ પણ છે. ઓર્બિટ ટ્રેપ્સનો ઉપયોગ સામાન્ય રીતે જટિલ સમતલનું પ્રતિનિધિત્વ કરતા બે પરિમાણીય અસ્થિભંગને રંગવા માટે થાય છે. ઉદાહરણો બિંદુ આધારિત એક બિંદુ આધારિત ભ્રમણકક્ષાની જાળ કાર્યની ભ્રમણકક્ષા એક બિંદુની કેટલી નજીક આવે છે તેના આધારે બિંદુને રંગ આપે છે, ખાસ કરીને મૂળ. રેખા આધારિત ભ્રમણકક્ષાની જાળ કાર્યની ભ્રમણકક્ષા એક અથવા વધુ રેખાઓની કેટલી નજીક આવે છે તેના આધારે બિંદુને રંગ આપે છે, સામાન્ય રીતે ઊભી અથવા આડી (x = a અથવા y = a રેખાઓ). પિકઓવર દાંડીઓ એ રેખા આધારિત ભ્રમણકક્ષાની જાળનું ઉદાહરણ છે જે બે રેખાઓનો ઉપયોગ કરે છે. અલ્ગોરિધમ ઓર્બિટ ટ્રેપ્સનો ઉપયોગ સામાન્ય રીતે પુનરાવર્તિત કાર્ય પર આધારિત દ્વિ-પરિમાણીય ફ્રેક્ટલ્સના વર્ગ સાથે થાય છે. એક પ્રોગ્રામ જે દરેક પિક્સેલમાં આવા ફ્રેક્ટલ રંગો બનાવે છે, જે જટિલ સમતલમાં અલગ બિંદુઓનું પ્રતિનિધિત્વ કરે છે, તે બિંદુઓની વર્તણૂકના આધારે જ્યારે તેઓ એક નિશ્ચિત સંખ્યામાં કાર્યમાંથી પસાર થાય છે. આ પ્રકારના ફ્રેક્ટલનું સૌથી જાણીતું ઉદાહરણ મેન્ડલબ્રોટ સમૂહ છે, જે કાર્ય zn + 1 = zn2 + c પર આધારિત છે. મેન્ડલબ્રોટ છબીઓને રંગવાની સૌથી સામાન્ય રીત એ છે કે ચોક્કસ બેલઆઉટ મૂલ્ય સુધી પહોંચવા માટે જરૂરી પુનરાવર્તનોની સંખ્યા લેવી અને પછી તે મૂલ્યને રંગ સોંપવો. આને એસ્કેપ ટાઇમ અલ્ગોરિધમ કહેવામાં આવે છે. એક પ્રોગ્રામ કે જે બિંદુ-આધારિત ભ્રમણકક્ષાની જાળનો ઉપયોગ કરીને મેન્ડલબ્રોટ સમૂહને રંગ આપે છે તે દરેક પિક્સેલને "અંતર" ચલ સાથે સોંપશે, જે સામાન્ય રીતે જ્યારે પ્રથમ સોંપવામાં આવે ત્યારે ખૂબ વધારે હશેઃ ડબલ અંતર = 10e5 જેમ પ્રોગ્રામ પુનરાવર્તિત કાર્ય દ્વારા જટિલ મૂલ્યને પસાર કરે છે તેમ તે ભ્રમણકક્ષાના દરેક બિંદુ અને જાળ બિંદુ વચ્ચેનું અંતર તપાસશે. અંતર ચલનું મૂલ્ય પુનરાવર્તન દરમિયાન મળતું સૌથી ટૂંકું અંતર હશેઃ ખાનગી ડબલ ગેટ ડિસ્ટન્સ (કોમ્પ્લેક્સ સી, કોમ્પ્લેક્સ પોઇન્ટ, ઇન્ટ મેક્સિમ ઇટરેશન) {ડબલ ડિસ્ટન્સ = 1e20; કોમ્પ્લેક્સ ઝેડ = નવું કોમ્પ્લેક્સ (0,0); માટે (ઇન્ટ આઇ = 0; આઇ <મેક્સિમ ઇટરેશન; આઇ + +) {// મેન્ડલબ્રોટ ઇટરેશન ઝેડ = z.multiply (ઝેડ); ઝેડ = z.add (સી);// સેટ નવું અંતર ડિસ્ટ = મિનિ (ડિસ્ટ, |z-પોઇન્ટ |) કોમ્પ્લેક્સ ઝેમિનસપોઈન્ટ = નવું કોમ્પ્લેક્સ (ઝેડ); ઝેમિનસપોઈન્ટ = zMinusPoint.subtract (પોઇન્ટ); ડબલ ઝેમિનસપોઈન્ટ મોડ્યુલસ . ફ્રેક્ટલ્સ