0x0c19…18e6

All memos sent from and to 0x0c19…18e6.

Tangible Pixels: Symbolic Fruit We often think of digital art as this ethereal thing, code and pixels floating around with no grounding in the real world. But the more I work with this medium, the more I find a surprising tangibility in my pixels and in the act of coding itself.
gr=[565,849,560,812,589,801,613,783,631,759,641,731,645,702,639,672,625,645,646,623,660,596,666,567,663,537,652,508,683,492,704,471,719,447,725,421,725,395,718,370,706,347,688,327,665,312,638,304,607,303,572,311,552,290,527,275,499,268,470,268,413,176,418,152,428,127,441,106,460,88,481,80,502,81,522,92,537,113,574,95,564,71,548,53,528,40,504,34,479,35,455,44,429,62,407,86,389,115,376,146,369,176,310,251,279,252,251,263,226,280,207,305,171,305,140,315,116,331,98,354,87,380,82,408,85,436,95,463,113,486,139,505,173,517,156,543,148,570,148,598,155,625,169,649,189,670,214,684,243,692,229,719,224,746,227,773,236,799,251,822,271,840,295,853,323,859,352,857,363,891,381,918,405,936,433,947,462,949,491,944,518,932,541,912,557,884,565,849];or=[442,245,461,252,481,258,495,261,539,254,578,236,611,209,639,175,662,137,622,127,582,122,542,122,503,131,479,141,457,156,441,175,433,198,430,204,426,210,424,214,420,199,410,189,395,186,379,188,365,193,357,206,374,226,385,250,390,276,341,272,290,278,240,292,195,312,150,339,112,374,81,414,59,460,45,509,41,561,45,617,59,668,83,714,114,755,153,790,198,819,248,840,301,853,354,861,409,863,465,860,520,850,573,834,622,811,667,781,704,744,734,699,755,647,766,590,765,533,755,479,734,428,703,382,662,343,613,312,578,297,541,284,502,275,463,272,426,277,428,259,428,242,431,242,437,244,442,245];le=[548,906,572,876,596,848,652,789,694,730,723,670,739,610,743,550,735,490,716,432,687,374,647,318,599,264,541,212,530,191,514,173,493,163,469,162,470,150,471,131,472,109,473,87,476,69,480,59,486,52,491,45,490,38,477,31,462,30,448,37,433,62,425,93,422,126,420,161,347,157,281,165,223,184,173,214,131,255,99,306,76,369,62,441,116,440,168,434,154,497,153,560,162,622,181,682,210,738,247,790,291,837,342,877,352,890,360,902,372,915,398,938,429,951,462,954,495,948,524,932,548,906];pc=[698,300,732,343,753,388,763,436,763,484,753,532,734,579,709,625,676,668,639,708,597,744,551,774,503,799,454,817,404,838,354,819,305,802,258,777,214,747,174,711,138,672,108,628,83,583,66,535,55,487,53,440,60,393,77,349,104,308,142,270,192,238,165,208,141,172,189,157,237,152,283,157,327,172,367,196,404,231,441,196,482,172,526,157,572,152,620,158,668,172,649,202,632,225,613,243,591,256,563,266,529,273,484,279,429,285,441,302,451,322,472,396,485,461,490,518,489,567,484,608,476,641,467,666,459,684,453,695,451,698,453,696,458,688,466,674,474,653,483,626,489,590,493,545,492,492,486,428,474,355,472,348,473,320,483,297,501,279,526,267,555,261,586,259,618,262,649,270,676,283,698,300];ba=[762,648,743,621,728,588,718,550,708,517,692,488,671,464,645,446,617,436,586,433,554,439,550,399,542,354,532,307,518,260,500,214,478,172,452,135,421,105,386,84,345,74,313,79,287,95,268,119,256,147,252,179,257,233,267,292,278,353,288,412,295,467,245,452,200,451,160,460,126,480,97,509,75,545,60,587,51,634,49,683,45,706,37,728,33,751,36,768,46,781,60,788,77,790,108,780,136,758,160,728,181,694,202,657,222,622,244,591,268,568,295,556,289,606,271,653,244,698,210,741,172,780,133,816,120,819,109,828,101,840,99,855,102,870,112,883,125,891,141,891,193,906,247,909,301,902,353,886,402,860,445,826,481,785,502,751,515,719,522,690,528,664,535,641,549,695,562,737,574,770,587,795,602,813,622,825,648,833,682,839,703,836,720,828,731,814,736,795,731,773,722,750,711,712,703,669,723,678,742,682,756,680,768,676,774,667,771,659,762,648];ch=[678,582,653,550,621,524,584,507,544,499,518,447,482,401,439,360,390,325,338,294,395,292,448,278,496,256,541,226,583,188,623,145,562,129,500,117,438,111,377,113,319,122,264,141,213,171,167,214,152,208,137,209,124,213,114,221,110,231,113,244,126,257,164,279,195,310,221,347,240,389,255,433,266,479,273,523,232,529,195,545,164,568,138,598,120,633,109,670,106,709,113,748,130,786,157,822,192,848,232,865,275,872,319,869,360,856,397,833,427,799,465,822,503,834,541,837,578,830,612,816,642,794,667,767,686,736,698,700,702,662,695,623,678,582,"c","c",189,263,247,284,303,308,356,336,404,368,448,405,485,449,514,500,481,507,449,520,422,540,398,565,369,545,337,531,302,523,292,465,277,408,255,354,226,306,189,263];pi=[555,442,590,408,626,379,635,372,639,366,639,361,632,357,600,354,567,362,580,338,597,316,616,296,635,279,651,264,662,253,665,244,658,239,638,238,614,242,590,252,567,265,580,226,598,194,617,170,635,151,650,137,659,127,661,120,652,117,605,117,560,130,520,156,523,119,533,88,548,59,555,46,558,37,552,32,537,30,499,36,464,52,431,76,404,106,376,76,344,52,308,36,270,30,255,32,250,37,252,46,259,59,274,88,284,119,287,156,253,134,217,120,177,115,165,116,153,117,146,122,148,128,156,135,168,145,182,159,206,189,226,224,240,265,218,252,193,242,169,238,149,239,143,244,146,253,157,265,173,280,192,297,211,317,228,338,240,362,208,354,176,357,168,361,168,366,173,372,181,379,217,408,253,442,214,476,183,518,161,566,147,619,142,673,145,727,156,778,174,826,206,872,246,908,293,933,346,948,404,953,462,948,514,933,561,908,601,872,633,826,652,778,663,727,665,673,660,619,646,566,624,518,594,476,555,442];wa=[724,217,585,219,447,220,308,221,169,223,30,224,14,277,7,332,7,389,15,447,31,503,54,556,83,606,118,651,159,690,205,722,257,745,314,761,374,765,436,760,498,747,558,725,615,697,668,662,714,621,753,576,782,527,798,474,801,420,793,367,776,315,753,265,724,217];ap=[725,412,700,370,668,337,632,314,591,300,548,295,503,298,458,310,415,330,409,285,461,279,505,264,540,242,568,211,589,170,603,119,554,122,511,132,474,148,444,173,420,206,401,248,385,209,360,222,374,255,382,289,387,327,332,305,282,295,235,295,194,306,157,325,125,352,99,385,78,424,64,467,57,514,56,563,62,614,76,665,92,707,114,746,143,783,175,814,212,839,250,857,290,865,329,862,367,846,403,817,433,843,467,859,504,864,543,860,580,847,617,827,649,800,677,768,710,716,734,658,748,595,751,531,744,469,725,412];pe=[709,564,690,524,665,488,636,454,609,421,584,387,570,357,557,324,544,291,530,258,513,229,491,205,463,187,428,178,432,58,419,51,399,50,379,52,365,57,351,65,347,73,348,83,351,100,357,125,363,154,370,181,336,193,309,214,287,241,269,273,254,308,241,343,229,377,214,404,194,431,174,455,138,499,111,547,93,597,83,649,83,700,92,750,112,796,141,838,181,874,232,902,286,920,341,931,396,935,451,933,504,924,554,908,599,886,640,857,674,823,700,782,718,736,726,684,724,626,709,564];sp=[0,0,0,0];lL=[56,693,147,693,238,693,238,571,238,449,238,327,238,205,238,84,147,84,56,84,56,15,188,15,319,15,319,151,319,286,319,422,319,558,319,693,410,693,501,693,501,762,390,762,279,762,168,762,56,762,56,693];eL=[43,540,48,481,61,427,82,380,110,341,145,309,186,286,232,272,283,267,333,271,378,286,417,308,451,339,478,376,497,419,510,468,514,521,514,559,385,559,257,559,128,559,128,584,133,627,148,666,171,697,203,722,242,737,288,742,337,736,378,718,412,689,437,651,497,692,473,731,439,764,397,790,346,806,288,812,234,807,186,793,145,769,109,738,81,699,61,652,48,599,43,540,0,0,128,492,128,499,228,499,327,499,427,499,427,488,422,444,409,407,387,376,358,353,323,338,283,333,240,339,203,354,172,378,148,410,133,448,128,492];sL=[48,710,102,662,141,697,184,723,234,739,291,744,337,741,375,730,404,713,423,687,430,654,425,626,411,606,391,593,365,584,338,579,256,567,227,562,197,555,167,546,139,533,114,515,95,491,82,460,77,422,82,381,98,346,122,317,154,295,193,279,237,270,287,267,353,272,410,289,458,315,499,350,447,400,429,382,405,364,374,349,334,338,284,334,240,338,204,348,178,365,162,388,157,417,162,445,176,465,196,479,221,487,249,493,331,505,360,510,390,516,420,526,448,539,472,557,492,581,505,611,509,649,504,691,489,727,465,757,432,780,391,798,343,808,289,812,227,807,173,794,125,772,83,744,48,710];rL=[35,731,112,731,188,731,188,603,188,475,188,347,112,347,35,347,35,279,152,279,269,279,269,410,274,410,286,376,304,345,328,319,360,298,400,284,449,279,522,279,522,360,424,360,377,365,338,380,308,402,286,432,273,467,269,506,269,619,269,731,369,731,470,731,470,800,362,800,253,800,144,800,35,800,35,731];aL=[467,800,434,796,409,784,392,766,381,742,375,715,369,715,353,748,329,775,298,795,260,808,213,812,162,807,118,793,83,769,56,738,40,699,34,653,38,615,51,581,73,553,104,531,146,515,197,505,258,502,369,502,369,450,364,409,348,377,323,354,288,340,245,335,198,341,160,356,129,380,106,412,51,372,72,340,102,311,142,288,191,272,250,267,300,271,343,282,380,301,410,327,432,359,446,398,450,442,450,586,450,729,523,729,523,800,467,800,0,0,369,648,369,562,258,562,207,566,168,576,140,592,124,614,119,641,119,662,124,691,138,714,160,731,190,741,227,744,266,741,301,731,329,716,351,697,365,674,369,648];iL=[56,692,150,692,244,692,244,564,244,436,244,308,150,308,56,308,56,240,191,240,325,240,325,353,325,466,325,579,325,692,413,692,501,692,501,761,390,761,279,761,168,761,56,761,56,692,0,0,221,73,221,57,224,37,235,20,255,9,285,5,314,9,334,20,345,37,348,57,348,73,345,93,334,110,314,121,285,125,255,121,235,110,224,93,221,73];nL=[72,798,72,667,72,537,72,407,72,277,152,277,152,362,156,362,172,332,194,305,222,284,259,270,305,265,349,269,388,282,422,303,449,332,469,369,481,413,486,464,486,575,486,686,486,798,405,798,405,691,405,584,405,478,400,427,384,387,359,359,325,342,282,336,250,339,219,347,193,361,172,380,157,405,152,436,152,557,152,677,152,798,72,798];cL=[61,539,65,480,77,427,96,380,123,341,157,309,197,286,243,272,296,267,352,272,399,289,437,314,467,347,489,387,424,421,405,385,377,359,340,342,296,336,252,342,215,357,186,381,165,413,152,451,147,495,147,584,152,627,165,666,186,697,215,722,253,737,298,742,346,736,385,718,416,689,439,651,497,691,474,730,443,763,403,789,355,806,297,812,244,807,197,792,156,769,123,737,96,698,76,651,65,598,61,539];tL=[322,769,279,763,247,747,224,722,211,689,206,650,206,539,206,428,206,317,120,317,33,317,33,248,162,248,184,246,199,238,207,223,209,201,209,64,287,64,287,156,287,248,406,248,524,248,524,317,406,317,287,317,287,445,287,573,287,700,406,700,524,700,524,769,423,769,322,769];oL1=[42,539,46,480,59,427,78,380,106,341,140,309,180,286,226,272,279,267,331,272,377,286,418,309,452,341,479,380,499,427,511,480,515,539,511,599,499,652,479,698,452,738,418,769,377,793,331,807,279,812,226,807,180,793,140,769,106,738,78,698,59,652,46,599,42,539,0,0,429,577,429,502,424,451,410,409,388,377,358,354,321,341,279,336,236,341,200,354,170,377,147,409,133,451,128,502,128,577,133,628,147,669,170,701,200,724,236,738,279,742,321,738,358,724,388,701,410,669,424,628,429,577];mL1=[30,798,30,667,30,537,30,407,30,277,105,277,105,337,109,337,120,314,135,294,154,279,178,268,209,265,241,268,266,279,285,297,297,319,304,346,307,346,320,320,337,297,359,280,386,269,420,265,457,270,485,285,505,309,518,343,525,385,527,436,527,557,527,677,527,798,452,798,452,682,452,565,452,449,451,410,447,379,439,357,427,342,410,334,389,331,359,337,336,352,321,379,316,415,316,543,316,670,316,798,241,798,241,682,241,565,241,449,240,410,236,379,228,357,216,342,200,334,179,331,149,337,126,352,110,379,105,415,105,543,105,670,105,798,30,798];hL=[72,15,152,15,152,119,152,222,152,326,156,326,172,296,194,269,222,248,259,234,305,229,349,233,388,246,422,267,449,297,469,333,481,377,486,428,486,539,486,651,486,762,405,762,405,655,405,549,405,442,400,391,384,351,359,323,325,306,282,301,250,303,219,311,193,325,172,344,157,369,152,401,152,521,152,642,152,762,72,762,72,638,72,513,72,388,72,264,72,139,72,15];fL=[51,693,139,693,227,693,227,565,227,438,227,310,134,310,41,310,41,241,134,241,227,241,227,134,231,95,244,62,267,37,300,21,342,15,429,15,516,15,516,84,412,84,307,84,307,162,307,241,412,241,516,241,516,310,412,310,307,310,307,438,307,565,307,693,400,693,493,693,493,762,383,762,272,762,161,762,51,762,51,693];gL=[265,1038,200,1035,145,1027,102,1013,69,994,47,970,33,942,29,908,35,871,52,843,78,822,114,809,114,796,89,779,73,756,68,725,72,696,85,673,105,656,131,643,161,634,161,630,126,609,98,583,77,550,64,512,60,470,64,427,78,388,101,355,131,328,168,308,212,295,261,291,317,296,364,312,364,303,368,275,379,252,398,237,427,232,523,232,523,303,406,303,406,338,431,365,449,396,461,431,464,470,460,514,446,552,423,585,393,613,355,633,311,646,261,650,212,646,192,651,172,659,155,671,142,686,137,706,143,725,161,736,187,742,221,744,336,744,397,748,446,761,482,782,508,809,523,843,528,883,523,925,506,960,479,988,442,1010,393,1025,335,1035,265,1038,0,0,339,819,249,819,158,819,130,836,112,859,106,889,110,915,123,938,146,957,179,969,224,973,303,973,354,970,396,959,427,942,446,918,452,887,449,864,437,845,415,831,383,822,339,819,0,0,380,484,380,455,375,421,361,393,338,371,305,358,261,353,219,358,186,371,163,393,149,421,144,455,144,484,149,519,163,547,186,569,219,583,261,587,305,583,338,569,361,547,375,519,380,484];pL=[54,310,135,310,135,395,139,395,168,353,204,323,248,304,299,298,351,304,395,322,433,352,463,392,485,442,499,502,503,571,499,640,485,700,463,750,433,790,395,819,351,837,299,844,248,837,204,819,168,789,139,747,135,747,135,890,135,1033,54,1033,54,913,54,792,54,672,54,551,54,431,54,310,0,0,416,615,416,526,412,482,399,444,377,413,348,390,312,375,268,370,233,373,202,382,174,397,153,418,140,445,135,477,135,571,135,665,140,697,153,723,174,744,202,760,233,769,268,772,312,767,348,752,377,729,399,698,412,660,416,615];kL=[42,15,123,15,123,133,123,251,123,369,123,486,127,486,218,401,304,321,391,241,490,241,418,309,346,377,274,445,355,551,435,656,515,762,415,762,348,672,280,582,213,491,123,573,123,668,123,762,42,762,42,638,42,513,42,388,42,264,42,139,42,15];e2=[72,666,77,595,90,530,113,472,143,422,180,380,225,346,275,321,330,306,391,301,451,306,505,321,554,345,597,378,632,418,661,465,682,518,695,577,699,640,699,691,571,691,442,691,314,691,185,691,185,723,190,774,204,819,228,858,259,890,298,914,345,930,398,935,451,929,498,914,538,889,571,855,597,814,676,868,651,912,616,950,573,982,522,1007,463,1022,398,1028,334,1023,276,1007,225,983,180,949,142,907,112,857,90,800,77,736,72,666,0,0,185,601,185,610,318,610,451,610,584,610,584,596,579,546,565,501,544,463,515,432,479,409,438,395,391,390,342,395,298,410,260,435,229,467,205,506,190,551,185,601,0,0,457,6,531,102,606,198,546,240,467,161,388,83,310,161,231,240,173,198,248,102,323,6,457,6];e3=[72,666,77,595,90,530,113,472,143,422,180,380,225,346,275,321,330,306,391,301,451,306,505,321,554,345,597,378,632,418,661,465,682,518,695,577,699,640,699,691,571,691,442,691,314,691,185,691,185,723,190,774,204,819,228,858,259,890,298,914,345,930,398,935,451,929,498,914,538,889,571,855,597,814,676,868,651,912,616,950,573,982,522,1007,463,1022,398,1028,334,1023,276,1007,225,983,180,949,142,907,112,857,90,800,77,736,72,666,0,0,185,601,185,610,318,610,451,610,584,610,584,596,579,546,565,501,544,463,515,432,479,409,438,395,391,390,342,395,298,410,260,435,229,467,205,506,190,551,185,601,0,0,242,51,336,10,390,115,445,225,378,256,310,153,242,51];bL=[54,17,135,17,135,121,135,224,135,328,139,328,168,286,204,256,248,237,299,231,351,237,395,255,433,285,463,325,485,375,499,435,503,504,499,572,485,632,463,683,433,723,395,752,351,770,299,776,248,770,204,752,168,721,139,679,135,679,135,764,54,764,54,640,54,515,54,390,54,266,54,141,54,17,0,0,416,548,416,459,412,415,399,377,377,346,348,322,312,308,268,303,233,306,202,315,174,330,153,351,140,378,135,410,135,504,135,597,140,630,153,656,174,677,202,692,233,701,268,705,312,699,348,685,377,661,399,630,412,592,416,548];uL=[405,717,401,717,385,747,364,773,335,795,299,809,252,814,208,809,169,797,135,775,108,746,88,710,76,666,72,615,72,504,72,392,72,281,152,281,152,387,152,494,152,601,158,652,173,692,198,720,232,737,276,742,308,740,338,732,364,718,386,699,400,673,405,642,405,522,405,401,405,281,486,281,486,411,486,541,486,672,486,802,405,802,405,717];qL=[422,747,418,747,390,789,353,819,309,837,258,844,207,837,162,819,124,790,94,750,72,700,59,640,54,571,59,502,72,442,94,392,124,352,162,322,207,304,258,298,309,304,353,323,390,353,418,395,422,395,422,310,503,310,503,431,503,551,503,672,503,792,503,913,503,1033,422,1033,422,890,422,747,0,0,422,665,422,571,422,477,418,445,404,418,383,397,356,382,324,373,289,370,246,375,209,390,180,413,158,444,145,482,141,526,141,615,145,660,158,698,180,729,209,752,246,767,289,772,324,769,356,760,383,744,404,723,418,697,422,665];vL=[227,800,180,669,134,539,87,409,40,279,122,279,159,388,197,497,237,614,278,732,282,732,322,614,362,497,400,388,437,279,517,279,470,409,424,539,377,669,330,800,227,800];wL=[6,279,78,279,93,391,107,504,122,616,137,729,146,729,169,616,191,504,213,391,235,279,324,279,346,391,368,504,391,616,413,729,422,729,437,616,452,504,467,391,482,279,551,279,531,409,511,539,491,669,471,800,366,800,346,691,325,582,304,473,284,364,276,364,254,473,233,582,212,691,191,800,86,800,66,669,46,539,26,409,6,279];yL=[447,312,528,312,476,439,425,566,373,693,321,820,270,948,254,980,235,1004,210,1022,178,1032,136,1035,60,1035,60,967,181,967,210,895,239,823,187,696,134,568,82,440,29,312,112,312,156,421,200,530,239,629,278,728,282,728,321,629,359,530,403,421,447,312];dL1=[422,679,418,679,390,721,353,752,309,770,258,776,207,770,162,752,124,723,94,683,72,632,59,572,54,504,59,435,72,375,94,325,124,285,162,255,207,237,258,231,309,237,353,256,390,286,418,328,422,328,422,224,422,121,422,17,503,17,503,141,503,266,503,390,503,515,503,640,503,764,422,764,422,679,0,0,422,597,422,504,422,410,418,378,404,351,383,330,356,315,324,306,289,303,246,308,209,322,180,346,158,377,145,415,141,459,141,548,145,592,158,630,180,661,209,685,246,699,289,705,324,701,356,692,383,677,404,656,418,630,422,597];jL=[105,928,231,928,357,928,357,811,357,693,357,576,357,459,357,342,227,342,96,342,96,273,210,273,324,273,438,273,438,394,438,515,438,636,438,756,438,877,434,916,420,949,398,974,365,991,323,996,214,996,105,996,105,928,0,0,334,107,334,91,338,70,349,54,368,43,398,39,427,43,447,54,458,70,461,91,461,107,458,127,447,143,427,154,398,158,368,154,349,143,338,127,334,107];zL=[62,800,62,722,146,628,230,535,314,441,398,347,289,347,181,347,73,347,73,279,210,279,348,279,486,279,486,356,402,450,317,544,233,637,149,731,265,731,380,731,496,731,496,800,387,800,279,800,170,800,62,800]
H=tokenData.hash; S=Uint32Array.from([9,7,n1=5,t=3]);R=(a1=1)=>a1*(t=S[3],S[3]=S[2],S[2]=S[1],S[1]=n1=S[0],t^=t<<11,S[0]^=(t^t>>>8)^(n1>>>19),S[0]/2**32);seed=H;[...seed+'SaRaHNaCl'].map(c=>R(S[3]^=c.charCodeAt()*23205));'tx piter';mF=Math.floor;mC=Math.cos;mS=Math.sin;mQ=Math.sqrt;mX=Math.max;mM=Math.min;mR=Math.round;mP=Math.pow;mT=Math.tan;M11=[[1,8],[2,40],[3,5],[4,3],[5,20]];WC=(O)=>{let t=[];for(let o of O){for(let i=0;i<o[1];i++){t.push(o[0])}};let C=mF(R(t.length));return t[C]};M1=WC(M11);M2=0;if(R()>.9){M2=1};M3=R()>.5?1:0;M4=mF(R(8));if(R()>.93){M4=8};if(M2>0&&M4!=8){if(M2==1){MC=[0,1,2,4];MC1=mF(R(MC.length));M4=MC[MC1]}};M6=0;rX=0;if(R()>.5||M1==4){rX2=mF(R(10));M6=1}; setup=()=>{pixelDensity(2);cP=curvePoint;n=noise;o=map;CM=(l,a,b,c)=>{return l.camera(a,b,(h/2)/tan(PI/c),0,0,0,0,2,0)};bS1=(l)=>{return l.beginShape()};eS=(l)=>{return l.endShape(CLOSE)};TS=(l,x,y,z)=>{return l.translate(x,y,z)};I=(l,a,x,y)=>{return l.image(a,x,y)};RM=(l)=>{return l.remove()};SW=(l,x)=>{return l.strokeWeight(x)};SA=(l)=>{l.pixelDensity(1).setAttributes({'antialias':false,'alpha':true})};V=(l,x,y)=>{return l.vertex(x,y)};CV=(l,x,y)=>{return l.curveVertex(x,y)};B=(l,x)=>{return l.background(x)};cG=createGraphics;rN=(f,l)=>o(R(),0,1,f,l);w=1000;h=1500;v6=-w/2;v7=-h/2;aR=w/h;oH=windowHeight;oW=oH*aR;wH=windowHeight;wW=windowWidth;if(wW<oW){oW=wW;oH=oW*1.5};createCanvas(oW,oH);canvas.getContext('2d',{colorSpace:'display-p3'});nxS=oH/h;nS1=~~(rN(1000,9000));noiseSeed(nS1); WB=WEBGL;iG=cG(w,h,WB);SA(iG);G9=cG(w,h,WB);SA(G9);G5=cG(w,h,WB);SA(G5);G1=cG(w,h,WB);SA(G1);G2=cG(w,h,WB);SA(G2);G3=cG(w,h,WB);SA(G3);G4=cG(w,h);G4.pixelDensity(1);G6=cG(w,h,WB);SA(G6);G8=cG(w,h,WB);SA(G8); bS=10000;T7=0;T8=bS;bA=[];l5=cG(oW,oH);l6=cG(oW,oH);bG=[230,217,198];LRS=R()>.5?0:1;M5=0;if(M4==9){M5=1};X="x";c5=[[255,77,112],[185,255,220],[225,21,0],[244,228,9],[57,116,255],[41,191,18],[227,193,2],[112,210,240],[0,0,0]];if(M2>0){if(M2==1){c7=c5[3];c8=c5[6]}else{c8=c5[4];c7=[0,55,184]}};c3=c5[M4];if(M3==0){c6=[[242,128,97],[231,122,50],[250,146,130],[255,153,189],[248,166,189],[242,187,182],[252,191,152],[244,118,156],[225,140,0],[202,2,72]]}else{c6=[[230,205,210],[238,190,210],[44,151,203],[106,166,99],[73,129,227],[70,158,195],[232,190,188],[234,174,183],[255,94,153],[15,18,62]]};rI1=0;rI2=0;if(R()>.5){rI1=~~rN(0,8);rI2=~~rN(0,8);if(R()>.75){rI1=~~rN(8,10);rI2=~~rN(0,10)};c1=c6[rI1];c2=c6[rI2]}else{rI1=~~rN(0,8);rI2=~~rN(0,7);c1=c6.splice(rI1,1)[0];c2=c6.splice(rI2,1)[0]}; sH=(a)=>{for(let i=a.length-1;i>0;i--){let j=mF(R()*(i+1));[a[i],a[j]]=[a[j],a[i]]}};rE=[];bC=[];flR();sH(rE);for(let i=0;i<rE.length;i++){let sX=rE[i].x;let eX=rE[i].cW;let sY=rE[i].y;let eY=sY+rE[i].cH;if(sX<=-w/2){sX+=75};if(eX>=w/2-10){eX-=75};if(sY<=-h/2+10){sY+=200};if(eY>=h/2-10){eY-=200};if(M1==1){d3=160;d4=170};if(M1==2){d3=305;d4=315};if(M1==3||M1==4){d3=445;d4=455};if(M1==5){if(R()>.6){d4=305;d3=310}else{d3=160;d4=165}};pR=0;q6=[];q7=3; while(q6.length<q7){d2=rN(d3,d4);q8={dia:d2,r:d2/2,x:mF(rN(sX+d2*.1,eX-d2*.1)),y:mF(rN(sY+d2*.1,eY-d2*.1))};oL=false;for(j=0;j<q6.length;j++){q9=q6[j];d=dist(q8.x,q8.y,q9.x,q9.y);if(d<q8.r*.75+q9.r*.75){oL=true}};if(!oL){q6.push(q8)};pR++;if(pR>9000){break;}};bC.push(q6);if(i%3==0){i+=1}};fC=[].concat(...bC);fC=fC.filter(c=>c.x+c.r<=w/2-10);fC=fC.filter(c=>c.x-c.r>=v6+10);fC=fC.filter(c=>c.y+c.r<=h/2-10);fC=fC.filter(c=>c.y-c.r>=v7+10);sH(fC);tH=.4;if(M1==2){tH=.65};if(M1==5){tH=.3};rOC=(c,l)=>{const t=c.r<200?.3:tH;return l.filter(o=>c===o||(o.r*1.2+c.r*1.2-dist(c.x,c.y,o.x,o.y))/o.r<=t);};let p1=0;while(true){sH(fC);let h=false;for(let i=0;i<fC.length;i++){const c=fC[i];const rC=rOC(c,fC);if(rC.length!==fC.length){fC=rC;h=true;break}};if(!h){break};p1++};gF1=R()>.3?5:4;if(M1==4){gF1=1};if(M1==1||M1==5){gF1=13};if(M1==3){gF1=3};if(fC.length>gF1){fC=fC.slice(0,gF1)};pxC=[];for(let i=0;i<w*h*4;i++){pxC.push(R())};lB=[];f1=0;f2=0} flR=()=>{const sZ=[310,190,500];let cH=sZ[~~R(3)];let cW=sZ[~~R(3)];let y=v7;while(y<h/2){let x=v6;while(x<w/2){if(R()>.5){rC=c1}else{rC=c2};let A=rC[0];let B=rC[1];let C=rC[2];rE.push({x,y,cW,cH,A,B,C});x=x+cW;cW=sZ[~~rN(0,3)]};y=y+cH;cH=sZ[~~rN(0,3)]};ad()};ad=()=>{for(let i=1;i<rE.length;i++){let cR=rE[i];let pV=rE[i-1];if(cR.x+cR.cW/2>w/2){let rWE=w/2-pV.x-pV.cW;rE.splice(i,1);i--;pV.cW+=rWE}};for(let i=1;i<rE.length;i++){let cR=rE[i];let pV=rE[i-1];if(cR.y+cR.cH/2>h/2){let pyR=rE.filter(r=>r.y===pV.y);let tyR=rE.filter(r=>r.y===cR.y);rE=rE.filter(r=>!tyR.includes(r));let rHB=h/2-cR.y;pyR.forEach(r=>{r.cH+=rHB})}}} fR=0;fR2=0;draw=()=>{if(fR==0){background(bG)};if(fR==1){sS()};if(fR>1){background(bG);dL();image(l6,0,0)};if(T8>bA.length&&fR>3){fR=0;bA=[];fR2+=1;T7=0;T8=bS;if(fR2>fC.length){noLoop();RM(iG);RM(G1);RM(G5);RM(G2);RM(G4);RM(l6);RM(l5);console.log("Figs. by Sarah Ridgley");console.log("https://sarahridgley.com")}};fR+=1}; dL=()=>{const b6=bA.length;if(T8<b6){for(let k2=T7;k2<T8;k2++){let [x,y,r,A,B,C,T]=bA[k2].map((v,index)=>(index<3?v*nxS:v));if(x>5&&x<oW-6&&y>5&&y<oH-6){l5.drawingContext.fillStyle=`rgba(${A},${B},${C},${T})`;l5.drawingContext.fillRect(x,y,r,r*1.1)}}};I(l6,l5,0,0);l5.clear();T7+=bS;T8+=bS};gA=(m,s,b)=>{let u,v;do{u=2*R()-1;v=2*R()-1}while(u<=-1||v<=-1||u>=1||v>=1);let l=Math.log(mX(u,Number.EPSILON));let z=mS(-2.0*l)*mC(2*PI*v);return z*s+m+b}; sS=()=>{FT=[[gr,"les raisins"],[le,"le citron"],[or,"l orange"],[pc,"la p.che"],[ba,"la banane"],[ch,"les cerises"],[pi,"l ananas"],[ap,"la pomme"],[pe,"la poire"],[wa,"la past,que"]];LO={"a":aL,"b":bL,"c":cL,"d":dL1,"e":eL,"f":fL,"g":gL,"h":hL,"i":iL,"l":lL,"m":mL1,"n":nL,"j":jL,"k":kL,"o":oL1,"p":pL,"q":qL,"r":rL,"s":sL,"t":tL,"u":uL,"w":wL," ":sp,".":e2,",":e3,"y":yL,"z":zL,"v":vL}; if(fR2<1){var oX=R()>.5?mR(rN(80,250)):mR(rN(-80,-250));var oY=R()>.5?mR(rN(80,250)):mR(rN(-80,-250));var zD=rN(3.15,3.9);zD=Number(zD.toFixed(3));CM(G8,oX,oY,zD);CM(G3,oX,oY,zD);CM(G6,oX,oY,zD);sH(wB);v1=.05;if(M5==1){v1=0};v2=1;v3=2;SW(G3,2);rZ=0;for(let k=0;k<rE.length;k++){let {x:rX,y:rY,cW:rW,cH:rH,A:rA,B:rB,C:rC}=rE[k];G3.push();TS(G3,rX,rY,rZ);G3.fill(rA,rB,rC);G3.stroke(rA,rB,rC);G3.rect(0,0,~~rW,~~rH);rZ+=.2;G3.pop()}; AMY=(x)=>{return x<.5?(1-mQ(1-mP(2*x,2)))/2:(mQ(1-mP(-2*x+2,2))+1)/2};sA=[];sB=[];nS=(G,x1,x2,y1,y2,rH1,rH2,rW1,rW2,i2,sA)=>{SW(G,2);for(let i=0;i<i2;i++){G.push();let x=rN(x1,x2);let y=~~rN(y1,y2);TS(G,x,y,rZ);let rH=rN(rH1,rH2);let rW=rN(rW1,rW2);let rC=~~rN(0,c6.length);sA.push([x,y,rW,rH,rZ]);G.stroke(c6[rC]);G.fill(c6[rC]);G.rect(0,0,rW,rH);rZ+=.5;G.pop()}};nS(G8,v6,w/2,v7,0,50,h*.6,10,75,25,sA);let x1,x2;if(LRS==0){x1=v6,x2=-w/4}else{x1=0,x2=w/4};nS(G6,x1,x2,v7,h/2,50,75,50,w*.6,15,sB);G8.erase();SW(G8,1);for(let j1=0;j1<sA.length;j1++){G8.push();let[x,y,rW,rH,rZ]=sA[j1];rZ1=rZ+.1;TS(G8,x,y,rZ1);x1=rW+3;j3=mR(200,500);if(R()>.8){j3=1000};j4=R()>.5?-1:1;j6=20;for(let j2=0;j2<j3;j2++){let sk=AMY(R());let y1=map(sk,0,1,-5,rH+5);let y2=y1+(mR(rN(75,100)))*j4;let x2=x1-rW-3;if(j2>j3-j6){y1=-10;y2=rH+10;x1=mR(map(sk,0,1,1,rW-1));x2=x1};G8.line(x1,y1,~~x2,~~y2)};G8.pop()};G6.erase();SW(G6,1);for(let j1=0;j1<sB.length;j1++){G6.push();let[x,y,rW,rH,rZ]=sB[j1];rZ1=rZ+.1;TS(G6,x,y,rZ1);y1=rH+3;j3=mR(50,200);if(R()>.8){j3=300};j4=R()>.5?-1:1;for(let j2=0;j2<j3;j2++){let sk=AMY(R());let x1=map(sk,0,1,-5,rW+5);let y2=y1-rH-3;let x2=x1+(mR(rN(10,20)))*j4;if(j2>j3-10){x1=0;x2=rW;y1=map(sk,0,1,1,rH-1);y2=y1};G6.line(x1,y1,~~x2,~~y2)};G6.pop()}}; if(fR2>0){A5=[];B1=Array.from({length:1500},()=>[]);v1=.07;v2=2;v3=1;sW=11;if(M1==4){sW=15;v1=.05};if(M1==3){sW=12;v1=.07};if(M6==0){rX=~~rN(0,FT.length)}else{rX=rX2};let TF=FT[rX][0];cX=fC[fR2-1].x;cY=fC[fR2-1].y;cR=fC[fR2-1].dia;if(M1==4){cR=675;cX=mF(rN(-200,200));cY=mF(rN(-375,325))};gX=403;gY=492;gR=920;s3=cR/gR;let rT=mF(rN(5,41));rT=R()>.5?rT*=-1:rT;let xA=radians(rT);const ft=10**3;xA=mF(xA*ft)/ft;const m0=R()>.5?true:false;A1=[];A2=[];let dX=w;let fX=-w;let dY=h;let fY=-h;uX=0;for(i1=0;i1<TF.length;i1+=2){const[x1,y1]=[TF[i1],TF[i1+1]];if(x1=="c"){uX+=1};const x0=x1-gX;const y0=y1-gY;let x,y;if(m0){x=mF(cX-(x0*mC(xA)-y0*mS(xA))*s3);y=mF(cY+(x0*mS(xA)+y0*mC(xA))*s3)}else{x=mF(cX+(x0*mC(xA)-y0*mS(xA))*s3);y=mF(cY+(x0*mS(xA)+y0*mC(xA))*s3)};if(!isNaN(x)&&!isNaN(y)){dX=mM(dX,x);fX=mX(fX,x);dY=mM(dY,y);fY=mX(fY,y)};if(uX<1){A1.push(x,y)}else if(!isNaN(x)){A2.push(x,y)}};xS=~~(dX+w/2);xE=~~(fX+w/2);yS=~~(dY+h/2);yE=~~(fY+h/2);dF()};if(fR2<1){cI(v6,w,v7,h)}else{cI(xS,xE,yS,yE)};let eD=bA.slice(-bS);bA.push(...eD)}; dF=()=>{G2.noStroke();B(G2,c3);f1=R()>.5?45:20;if(f1==45){f2=20}else{f2=45};if(cR<200){f1-=8;f2-=8};L1=A1.length;iG.fill(255);iG.noStroke();bS1(iG);for(let j=L1-2;j>=0;j-=2){let[x3,y3]=[A1[j],A1[j+1]];CV(iG,x3,y3)}eS(iG);G5.fill(0);G5.stroke(255);SW(G5,5);bS1(G5);for(let i=A2.length-2;i>=0;i-=2){let[x,y]=[A2[i],A2[i+1]];CV(G5,x,y)};eS(G5);dS()};A7=[];A9=[];cB=(a,b,c,d,t)=>{let e=1-t;let f=e*e;let g=f*e;let h=t*t*t;let z=h*t;let x=g*a.x+3*f*t*b.x+3*e*t*t*c.x+z*d.x;let y=g*a.y+3*f*t*b.y+3*e*t*t*c.y+z*d.y;return{x,y}}; dS=()=>{B(G1,255);c9=cR<200;G1.noStroke();G1.fill(0);let sX=R()>.5?rN(.6,.1):rN(-.6,-.1);let sY=R()>.5?rN(.5,.1):rN(-.5,-.1);let m1=R()>.5?true:false;let tF1=R()>.5?rN(0,40):rN(0,-40);if(c9){tF1=R()>.5?25:-25};if(cR>600){if(tF1<0){tF1-=20}else{tF1+=20}};tF1=mF(tF1);zx=0;zX=.8;zY=1;if(rX==9){zY=.65;zX=1};if(rX==6){zx+=-5;zY=1.1};if(rX==3||rX==2||rX==7){zY=.8;zx=-20};let ncX=cX+((tF1/2)*-1);let ncY=cY+zx+((tF1/2)*-1);let cR1=cR*zX;let cR2=cR*zY;G1.ellipse(ncX,ncY,cR1,cR2); let s3=1.15;if(M4==4){s3+=.4};pS=(m,tF,sS,sX,sY)=>{bS1(G1);for(let i=0;i<L1;i+=2){x=A1[i];y=A1[i+1];if(m){x=2*cX-x};x+=tF;y=mF(y+tF*.5);let NX=cX+sS*(x-cX);let NY=cY+sS*(y-cY);let fX=mF(NX+(y-cY)*mT(sX));let fY=mF(NY+(x-cX)*mT(sY));if(rX==5){CV(G1,fX,fY)}else{V(G1,fX,fY)};A9.push(fX,fY)};eS(G1)};pS(m1,tF1,s3,sX,sY);CL(0,0,ncX,ncY,cR1,cR2);I(G1,iG,v6,v7);I(G1,G5,v6,v7);mD(0);B(G1,255);G1.fill(0);sX=-rN(-.9,.9);sY=-rN(-.9,.9);if((sX>.7&&sY>=0&&sY>.6)||(sX<-.7&&sY<=0&&sY<-.6)){if(sX>0&&sY>0){sY-=.3}else if(sX<0&&sY<0){sY=rN(.2,.7)}};tF2=R()>.5?R(100):R(-100);if(c9){tF2=R()>.5?30:-30};if(cR>600){if(tF2<0){tF2-=20}else{tF2+=20}};tF2=mF(tF2);let m2=R()>.5?true:false;let s5=rN(1.1,1.3);if(M1==4){s5-=.1};pS(m2,tF2,s5,sX,sY);CL(1,1);pC=(m,tF)=>{G1.fill(255);bS1(G1);for(let i=A2.length-2;i>=0;i-=2){x=A2[i];y=A2[i+1];if(m){x=2*cX-x};x+=tF;y+=tF*.5;let NX=cX+s5*(x-cX);let NY=cY+s5*(y-cY);let fX=mF(NX+(y-cY)*mT(sX));let fY=mF(NY+(x-cX)*mT(sY));CV(G1,fX,fY)};eS(G1)};pC(m2,tF2);I(G1,iG,v6,v7);mD(1);B(G1,255);G1.fill(0);sX=rN(-.9,.9);sY=rN(-.9,.9);if((sX>.7&&sY>=0&&sY>.6)||(sX<-.7&&sY<=0&&sY<-.6)){if(sX>0&&sY>0){sY-=.3}else if(sX<0&&sY<0){sY=rN(.2,.7)}};tF3=R()>.5?rN(75,125):rN(-75,-125);if(cR>600){if(tF3<0){tF3-=20}else{tF3+=20}};if(c9){tF3=R()>.5?60:-60};tF3=mF(tF3);let m3=R()>.5?true:false;let s8=rN(1.2,1.4);if(M1==4){s8-=.1};pS(m3,tF3,s8,sX,sY);CL(2,1);pC(m3,tF3);I(G1,iG,v6,v7);mD(2);G5.clear()}; cSA=(a,b)=>{let x1=a[0][0];let x2=b[0][0];if(x1!==x2){return x1-x2};return a[0][2]-b[0][2]}; lC=0;lC1=0;wB=["ruby","crescent","peel","bunch","core","crisp","crunch","juice","aroma","fuzzy","parfum","bouquet","glistening","bittersweet","orchard","gossamer","pulp","luster","rind","husk","gloss","cluster","sorbet","compote","parfait","trifle","marmalade","slice","cider","brandy","musk","confiture","taffy","cassis","meringue","honey","syrup","bergamot","tarte","amber","citrine","ocher","emerald","zest","scarlet","galette","vanilla","velvet","silken","golden","glazed","fragrant","translucent","rouge","ripe","mellow","rustling","clafoutis","bonbon","confits","lucious","ambrosia","munch","scrumptious","decadent","juicy","dulcet","tangy","wildberry"];pP=()=>{let p4=wB[~~(R()*wB.length)]+" ".repeat(mX(2,~~(R()*4)));return p4};CL=(N,V,A,B,R1,R2)=>{A7=Array.from({length:1500},()=>[]);if(N==0){for(let C=0;C<360;C++){let r1=radians(C);let x1=R()>.5?rN(10,30):rN(-10,-30);let x=mF((A+R1*mC(r1))+x1);let y=mF(B+R2*mS(r1));if(y>v7&&y<h/2){A7[y+h/2].push(x)}}};sT=2;if(M1==4){sT=1};if(cR>200&&cR<350){sT=2.2};if(c9){sT=2.6};if(V==0){sT=.5};for(w2=0;w2<A9.length-4;w2++){let x1=A9[w2];let y1=A9[w2+1];let x2=A9[w2+2];let y2=A9[w2+3];let x3=A9[w2+4];let y3=A9[w2+5];let x4=A9[w2+6];let y4=A9[w2+7];let a1=x2-x1;let b1=y2-y1;let D=mF(mQ(a1*a1+b1*b1)*sT);for(k4=0;k4<=D;k4++){let t=k4/D;let RS=cB({x:x1,y:y1},{x:x2,y:y2},{x:x3,y:y3},{x:x4,y:y4},t);let X=mF(RS.x+rN(-50,50));let Y=mF(RS.y);if(Y>v7&&Y<h/2){A7[Y+h/2].push(X)}}};for(let i=0;i<A7.length;i++){if(A7[i].length>0){let minX=mM(...A7[i]);let maxX=mX(...A7[i]);A7[i]=[minX+w/2,maxX+w/2]}};A9=[]}; dLS=(K)=>{let cT=0;let L=[];let M=rN(.003,.004);let N=rN(.008,.009);let O=0;p4=pP();for(let k2=0;k2<K.length;k2++){let[xF,yF,tP,sC,rX,d8,A,B,C,e1]=K[k2];if(fR2<1){pH=p4}else{pH=FT[rX][1]};let fP=1;let fP2=.6;let sC3=0;sT=1.8;if(sC==1){fP2=1};if(R()>fP2&&cT==0){fP=pH.length};for(let j=0;j<fP;j++){ch1=pH.charAt(cT);vD=0;if(fP>1){let D=pH.split('');let E=D.reverse();let F=E.join('');ch1=F.charAt(j);if(k2%4==0){xF-=sC3*1000;yF+=rN(-1.5,1.5)}else{ch1=pH.charAt(j);if(sC3==0){xF+=10};xF+=rN(-1.8,1.8);yF+=sC3*300;vD+=1}};let TL=LO[ch1];let cX=xF;let cY=yF;let s6=3.5;let s7=.1;if(sC==1){s2=o(n(xF,yF),0,1,.5,.8)*e1;if(e1<=.011){s2=o(n(xF,yF),0,1,.2,1.05)*e1};s6=1.6;s7=.5;if(e1>.011){s6=2.4,s7=.5}}else{s2=rN(.01,.04);if(R()>.97)s2=rN(.01,.02);if(R()>.99)s2=rN(.04,.06);if(sC3==0){sC3=s2};if(fP==1){s6=3};if(fP>1&&s2>.04&&vD==0){tP+=.2}};if(fP>1){s2=sC3};if(s2>.04){s6+=4};s2*=1.33;u2=0;for(let i2=0;i2<TL.length;i2+=2){let[x,y]=[TL[i2],TL[i2+1]];let W=x-cX;let Q=y-cY;let x3=TL[i2+2];x2=cX+s2*W;y2=cY+s2*Q;if(x!=0){if((x2<10||x2>w-13) &&(fP==1||s2<3.5)){u2+=1};if(y2>h-15){u2+=1};if(y2<15){u2+=1};L.push([x2,y2])};if(i2>1&&i2<TL.length-2){if(x3==0){L.push([X,X,X,X])}}};L.push([x2,y2],[x2,y2]);L.push([X,X,X,X]);let Q=L.length;if(u2!=0){d8=1};for(w2=0;w2<Q-4;w2++){let[x1,y1]=L[w2];let[x2,y2]=L[w2+1];let a1=x2-x1;let b1=y2-y1;let D=mQ(a1*a1+b1*b1)*sT;for(k4=0;k4<=D;k4++){let t4=k4/D;let[X,Y]=[lerp(x1,x2,t4),lerp(y1,y2,t4)];let Z=o(n(O),0,1,s7,s6);if(d8==0){bA.push([X,Y,Z,A,B,C,tP])};O+=rN(M,N)}};L=[]};cT+=1;if(cT>pH.length-1){cT=0;p4=pP()}};A5=[];B1=[];A6=[]}; mD=(q1)=>{pxC.reverse();I(G4,G1,0,0);G4.loadPixels();let a1=5;let b1=5;let v4=5;G4.clear();if(M1==4){d1=.79};d1=.77;if(c9){d1-=.015};let e1=q1==0?(d1=.81,.011):.0142;if(c9){e1*=.8};if(M2>0){c4=R()>.5?c7:c8;a1=c4[0];b1=c4[1];v4=c4[2]};for(let y=0;y<h;y++){g11=w;g22=0;if(A7[y].length>0){g11=A7[y][0];g22=A7[y][1]};for(let x=0;x<w;x++){let iX=(x+y*w)*4;let r=G4.pixels[iX];if(x>g11&&x<g22){const v5=pxC[iX];if(v5>d1){if(r<2){d8=0}else{d8=1};let T=rN(.04,.2);if(q1==0){T+=.1};B1[y].push([x,y,T,1,rX,d8,a1,b1,v4,e1])}}}}}; cI=(xS,xE,yS,yE)=>{A6=[];if(fR2<1){I(G4,G3,0,0);I(G4,G6,0,0);I(G4,G8,0,0);RM(G6);RM(G8);RM(G3)}else{I(G4,G2,0,0);G2.clear()};G4.loadPixels();xS1=(xS-f1)+5;xE1=(xE+f2)-5;for(E=v2;E<w-v2;E+=v2){for(J=v3;J<h-v3;J+=v3){d8=0;cT=v1;const iX=(E+(J)*(w))*4;let [A,B,C]=[G4.pixels[iX],G4.pixels[iX+1],G4.pixels[iX+2]];let v5=pxC[iX];if(E>xS-f1&&E<xE+f2&&J>yS&&J<yE){if(E<xS1||E>xE1||J<yS+4||J>yE-4){v5-=.45};if(v5<cT){if(fR2>0){lB.push([E,J,A,B,C])}else{if((A<5&&B<5&&C<5)){d8=1};tP=rN(.2,.9);sC=3;A6.push([E,J,tP,sC,rX,d8,A,B,C])}}}}};G4.clear();if(fR2>0){tB1()}else{dLS(A6)}}; let lBl;tB1=()=>{lBl=lB.length-2;for(let i=0;i<lBl;i++){tB(i)};mL()};tB=(x)=>{let F=1000;let G=0;for(let i=x;i<lBl;i++){let[A,B]=lB[x];let[C,D]=lB[i];let E=mF(dist(A,B,C,D));if(i!=x&&E<F){F=E;G=i}};let K=lB[x+1];lB[x+1]=lB[G];lB[G]=K}; mL=()=>{const ll7=lB.length-4;for(let w2=0;w2<ll7;w2+=2){let[x1,y1]=lB[w2];let[x2,y2]=lB[w2+1];let[x3,y3]=lB[w2+2];let[x4,y4]=lB[w2+3];let[A,B,C]=[lB[w2][2],lB[w2][3],lB[w2][4]];let a=x3-x2;let b=y3-y2;let Y=~~(mQ(a*a+b*b));if(Y>20){Y=20};let d8=0;if((A<5&&B<5&&C<5)){d8=1};for(let k3=0;k3<=Y;k3++){let t=k3/Y;let xF=mF(cP(x1,x2,x3,x4,t));let yF=mF(cP(y1,y2,y3,y4,t));if(xF<xS-f1||yF<yS-1||xF>xE+f2||yF>yE+1){d8=1};bB(xF,yF,sW,sW*2,A,B,C,d8)}};lB=[];for(let y=0;y<B1.length;y++){B1[y].sort(cSA)};let FB=[];for(let y=0;y<B1.length;y++){FB=FB.concat(B1[y])};A5=FB.slice();B1=[];FB=[];dLS(A5)}; bB=(bX,bY,rA,P,A,B,C,d8)=>{let F=0;let pX=[];const lX=bX-rA;if(lX<1){P=0};const rX=bX+rA;if(rX>w-1){P=0};const D=bY-rA;if(D<16){P=0};const E=bY+rA;if(E>h-15){P=0};let G=P*4;if(rA>8){G+=.5};let cS=R();while(pX.length<G){let nP={dia:.1,x:rN(lX,rX),y:rN(D,E)};let oS=false;let d=dist(nP.x,nP.y,bX,bY);if(cS>.3){if(R()>.2){d=0}};if(d>rA){oS=true;}else{let cW=.3+R();let T=1;if(d8===0){bA.push([nP.x,nP.y,cW,A,B,C,T])}};if(!oS){pX.push(nP)}F++;if(F>500){break}};pX.length=0};keyPressed=()=>{if(keyCode==32){save("Figs. by Sarah Ridgley.png")}};
H=tokenData.hash S=Uint32Array.from([9,7,n1=5,t=3]);R=(a1=1)=>a1*(t=S[3],S[3]=S[2],S[2]=S[1],S[1]=n1=S[0],t^=t<<11,S[0]^=(t^t>>>8)^(n1>>>19),S[0]/2**32);seed=H;[...seed+'SaRaHNaCl'].map(c=>R(S[3]^=c.charCodeAt()*23205));'tx piter' rN2=(f,l)=>{return n7(R(1),0,1,f,l)};n7=(d1,d2,d3,d4,d5)=>{return(d1-d2)*(d5-d4)/(d3-d2)+d4}; bG=[205,169,119];c3=~~(rN2(0,12));cC=0;if(c3==8){cC=1;bG=[6,8,20]};if(c3==4||c3==6||c3==10){cC=1};g1=rN2(0,1)>.05?1:0; g3=rN2(0,1)>.3?0.984:rN2(0,1)>.9?0.87:0.99;g8=0;if(g3==.99){v2=30,v8=17,g8=1}else if(g3==.984){v2=50,v8=30}else if(g3==.87){v2=70,v8=30};g4=rN2(0,1)>.5?1:0;g5=rN2(0,1)>.4?1:rN2(0,1)>.1?0:2;g6=rN2(0,1)>.2?1:rN2(0,1)>.5?0:2;g7=rN2(0,1)>.02?1:0;g9=0;if(g5==2){if(rN2(0,1)>.2){g9=1}}; setup=()=>{console.log(H);pixelDensity(2);mF=Math.floor;mC=Math.cos;mS=Math.sin;mQ=Math.sqrt;cP=curvePoint;n=noise;o=map;cG=createGraphics;rN=(f,l)=>o(R(),0,1,f,l);w=1000;h=1500;oH=windowHeight;oW=~~(oH*.66666667);wH=windowHeight;wW=windowWidth;if(wW<oW){oW=wW;oH=oW*1.5};createCanvas(oW,oH);canvas.getContext('2d',{colorSpace:'display-p3'});nxS=oH/h;nS1=~~(rN(1000,9000));noiseSeed(nS1);noStroke(); cA0=[[66,91,46],[76,156,203],[54,127,191],[26,138,226],[189,224,240],[112,144,3],[128,153,92],[130,161,65],[89,123,33],[13,72,109]];cA1=[[177,165,48],[11,55,194],[43,126,191],[112,160,101],[178,41,19],[222,130,101],[232,201,191],[222,223,193],[23,111,96],[13,37,58]];cA2=[[217,210,218],[53,67,106],[17,27,71],[212,125,120],[46,68,61],[90,123,161],[209,150,146],[90,109,95],[121,87,62],[48,54,60]];cA3=[[207,90,40],[156,191,196],[74,102,105],[105,141,155],[67,84,52],[230,203,154],[123,124,8],[191,136,72],[58,83,83],[36,42,27]];cA4=[[239,201,182],[248,116,90],[0,116,95],[139,116,79],[230,193,99],[243,187,159],[126,179,101],[166,173,82],[180,171,124],[97,48,56]];cA5=[[154,162,172],[11,48,110],[15,96,177],[16,112,186],[13,76,154],[232,235,238],[114,131,151],[56,69,97],[177,186,210],[16,27,55]];cA6=[[224,219,213],[253,224,73],[255,134,80],[104,173,119],[11,135,96],[19,123,196],[94,208,211],[213,89,146],[19,50,119],[6,8,20]];cA7=[[49,138,55],[20,54,131],[200,62,95],[204,101,140],[239,128,4],[250,150,60],[231,168,155],[201,44,112],[194,40,53],[2,18,109]];cA8=[[231,229,221],[222,31,0],[102,119,183],[72,97,45],[103,97,43],[33,51,37],[208,98,120],[19,50,119],[211,148,15],[172,110,26],[8,8,73]];cA9=[[218,199,186],[213,168,24],[107,135,173],[207,54,0],[235,172,118],[54,81,140],[188,156,135],[54,64,84],[37,82,127],[52,35,24]];cA10=[[211,204,190],[125,82,38],[167,120,31],[39,102,115],[42,150,173],[221,201,135],[217,181,16],[223,191,72],[0,89,98],[51,42,22]];cA11=[[26,123,126],[225,204,95],[233,209,179],[150,144,169],[20,89,166],[103,158,174],[101,139,110],[7,149,171],[100,116,190],[77,60,66]];cA=[];if(c3==0){cA=cA0};if(c3==1){cA=cA1};if(c3==2){cA=cA2};if(c3==3){cA=cA3};if(c3==4){cA=cA4};if(c3==5){cA=cA5};if(c3==6){cA=cA6};if(c3==7){cA=cA7};if(c3==8){cA=cA8};if(c3==9){cA=cA9};if(c3==10){cA=cA10};if(c3==11){cA=cA11};ttC=cA.length;b1=cA[2];b2=cA[4];b3=cA[6];iG1=cG(w,h);iG1.pixelDensity(1);iG2=cG(w,h);iG2.pixelDensity(1);iG3=cG(w,h,WEBGL);iG3.pixelDensity(1);iG3.setAttributes('antialias',false);iG3.setAttributes('alpha',true);iG4=cG(w,h);iG4.pixelDensity(1);iG5=cG(w,h);iG5.pixelDensity(1);iG6=cG(w,h);iG6.pixelDensity(1);bS=4000;test7=0;test8=bS;bA=[];l5=cG(oW,oH);l5.noStroke();l5B=cG(oW,oH)} fR=0;draw=()=>{background(bG); if(fR==0){fill(b1);rect(30,30,10,10)}; if(fR==1){sS();fill(b2);rect(50,30,10,10)}; if(fR==2){tB1();fill(b3);rect(70,30,10,10)}; if(fR==3){mL()};if(fR>3){dL();image(l5B,0,0)};if(test8>bA.length&&fR>3){noLoop();console.log("Viridaria by Sarah Ridgley 2023");console.log("https://sarahridgley.com");console.log("https://twitter.com/Sarah_Ridgley");console.log("press [p] to pause/unpause");console.log("press [spacebar] to save");l5.remove();l5B.remove();bA.length=0};fR+=1} dL=()=>{const le6=bA.length;if(test8<le6-4){for(var k2=test7;k2<test8;k2++){var xx=bA[k2][0]*nxS;var yy=bA[k2][1]*nxS;var rr=1.3*nxS;var A=bA[k2][3];var B=bA[k2][4];var C=bA[k2][5];l5.fill(A-75,B-75,C-75,27);l5.rect(xx+.5,yy+.5,rr);l5.fill(A,B,C,rN(50,200));l5.rect(xx,yy,rr)}};l5B.image(l5,0,0);l5.clear();test7+=bS;test8+=bS} sS=()=>{var pN=0;var cS=[];var t9=.9;var t10=.5;var fS=80;var eE=180;iG3.ambientLight(255);iG3.lightFalloff(4,0,0);iG3.pointLight(250,250,250,-1000,0,1000);var fD=65;if(rN(0,1)>.8){fS=130;fD=45};if(g7==0){t9=.5};if(g6==2){eE=135;fS=100;t9=.8;fD=55};if(g5==2&&rN(0,1)>.8){fS=100;fD=45};var b4=1;if(rN(0,1)>.9){b4=0}; while(cS.length<eE){if(cS.length==fS){if(g6==0||g9==1){t9=.4;t10=0}else{t9=.58};if(g7==0){t9=.5}}dI=~~(rN(fD,250));if(cS.length>fS){dI=~~(rN(100,550))};nC={dia:dI,r:dI/2,x:rN(-w/2+dI*t10,w/2),y:rN(-h/2,h/2-dI*t10)};var oG=false;for(j=0;j<cS.length;j++){oT=cS[j];var d=(dist(nC.x,nC.y,oT.x,oT.y)).toFixed();d=Number(d);if(d<nC.r*t9+oT.r*t9){oG=true}};if(!oG){nC.x=~~nC.x;nC.y=~~nC.y;if(g7==0&&cS.length==0){var tX=-425;if(g5==0||g5==2){tX=150};nC.x=415;if(g5==2){nC.x=~~(rN(-400,400))};nC.y=~~(rN(-50,tX));nC.dia=~~(rN(700,800));nC.r=~~(nC.dia/2)};cS.push(nC);iG3.push();iG3.strokeWeight(1);rD=rN(1,3);if(rN(0,1)>.5?rD:rD*=-1);rD.toFixed(2);rD=Number(rD);if(cS.length>fS){if(g6==2&&nC.x>w/2-100){nC.x-=nC.dia};iG3.translate(nC.x,nC.y);iG3.rotateZ(rD);if(rN(0,1)>.1){iG3.translate(0,0,-100);var tF=cA[~~(rN(0,ttC))];if(cC==1){tF=cA[~~(rN(1,ttC))]};iG3.stroke(tF);iG3.noFill();iG3.ellipsoid(nC.dia*1.3,nC.dia*rN(.5,.9),150,8,8)}}else{if(cS.length>1&&g5==1&&nC.y<=-580){if(nC.y<=-620){nC.r=0;nC.dia=0}else if(nC.dia>200){nC.y+=45}else{nC.y+=25}};iG3.translate(nC.x,nC.y);if(b4==1&&cS.length>1){iG3.rotateZ(rN(-.2,.2))};tF=cA[~~(rN(0,ttC-1))];tP=~~(rN(3,5));if(g7==0&&cS.length==1){tP=3};var tP1=((6.283/tP)*.5).toFixed(5);tP1=Number(tP1);iG3.ambientMaterial(tF);iG3.noStroke();iG3.translate(0,0,220);iG3.push();thisR=nC.r.toFixed(2);thisR=Number(thisR);iG3.strokeWeight(1);if(g7==0&&cS.length==1){tA=0;iG3.stroke(tF[0]-7,tF[1]-7,tF[2]-7);for(k=0;k<3;k++){iG3.push();var w1=thisR*.27;var h1=thisR*.8;iG3.rotate(radians(tA));iG3.box(w1,h1,5,4,4);iG3.noStroke();tA+=rN(115,125);iG3.pop()};iG3.translate(0,0,5);iG3.noStroke();iG3.box(thisR*.4,thisR*.4,2)}else{for(k=0;k<tP;k++){rN(0,1)>.6?iG3.stroke(tF[0]-5,tF[1]-5,tF[2]-5):iG3.stroke(tF[0]+25,tF[1]+25,tF[2]+25);var x=(thisR*rN(.2,.3)).toFixed(2);x=Number(x);var y=thisR*.8;y=Number(y);iG3.box(x,y,15,4,4);var tP2=(tP1+rN(.03,.04)).toFixed(0);tP2=Number(tP2);iG3.rotateZ(tP2)}};iG3.pop();vT=rN(0,1).toFixed(2);vT=1;if(nC.dia<100){iG3.push();iG3.translate(rN(nC.dia*.65,nC.dia*.85).toFixed(2),rN(-20,0),0);for(k=0;k<tP;k++){rN(0,1)>.6?iG3.stroke(tF[0]-5,tF[1]-5,tF[2]-5):iG3.stroke(tF[0]+25,tF[1]+25,tF[2]+25);iG3.box((nC.r*rN(.19,.25)).toFixed(2),(nC.r*.8).toFixed(2),15,4,4);var tP2=tP1+rN(.03,.04);tP2.toFixed(2);iG3.rotateZ(tP2)};iG3.pop()}; if(nC.dia<100){iG3.push();iG3.translate(rN(0,20),rN(nC.dia*.65,nC.dia*.85).toFixed(2),0);for(k=0;k<tP;k++){rN(0,1)>.6?iG3.stroke(tF[0]-5,tF[1]-5,tF[2]-5):iG3.stroke(tF[0]+25,tF[1]+25,tF[2]+25);iG3.box((nC.r*rN(.19,.25)).toFixed(2),(nC.r*.8).toFixed(2),15,4,4);var tP2=tP1+rN(.03,.04);tP2.toFixed(2);iG3.rotateZ(tP2)};iG3.pop()}};iG3.pop()};pN++;if(pN>10000){;break;}};cS.length=0;cA.length=0;cL()} cI=()=>{lB=[];if(g5==2){iG4.image(iG3,0,0)}else if(g5==0){iG1.scale(-1,1);iG1.image(iG3,-w,0);iG4.image(iG3,-w/2,0);iG4.image(iG1,w/2,0)}else if(g5==1){iG1.scale(-1,1);iG1.image(iG3,-w,0);iG5.image(iG3,-w/2,0);iG5.image(iG1,w/2,0);iG6.scale(1,-1);iG6.image(iG5,0,-h);iG4.image(iG6,0,-h/2);iG4.image(iG5,0,h/2)};iG1.remove();iG3.remove();iG5.remove();iG6.remove();iG4.loadPixels();pxC=[];for(var i=0;i<1500000*4;i++){pxC.push(rN(0,2))};for(var J=4;J<1496;J++){for(var E=4;E<996;E+=4){var cT=.52;if(g1==0){cT=.31};var iX=(E+(J)*(w))*4;var A=iG4.pixels[iX];var B=iG4.pixels[iX+1];var C=iG4.pixels[iX+2];var T=iG4.pixels[iX+3];var bP=0;var t3=0;var t4=0;var v6=pxC[iX];g2=rN(0,1);if(g2>g3){bP=1;t3=rN(5,100);t4=rN(10,v8);if(g8<1&&rN(0,1)>.8){t4=~~(rN(30,v2))}};if(g1==0){v6=n(E,iX)};if(v6<cT){lB.push([E,J,A,B,C,bP,t3,t4])}}}pxC.length=0;iG4.remove()} tB1=()=>{const lBl=lB.length;var dV=8;if(g1==0){dV=4};var sZ=Math.ceil(lBl/dV);var sM1=0;var sM2=1;for(i4=0;i4<dV;i4++){st1=sZ*sM1;st2=sZ*sM2;if(st2>lBl){st2=lBl};for(var i3=st1;i3<st2-1;i3++){tB(i3,lB[i3][0],lB[i3][1])};sM1+=1;sM2+=1}} tB=(x,tX,tY)=>{var nND=1000;var nN=0;for(var i1=x;i1<st2;i1++){var nX=lB[i1][0];var nY=lB[i1][1];if(nX>tX-20&&nX<tX+20&&nY>tY-20&&nY<tY+20){const tD=~~(dist(tX,tY,nX,nY));if(i1!=x&&tD<nND){nND=tD;nN=i1}}};var hold=lB[x+1];lB[x+1]=lB[nN];lB[nN]=hold} mL=()=>{const ll7=lB.length-4;var tOff=0;var xO3=rN(.03,.04);var xO4=rN(.009,.01);for(var w2=0;w2<ll7;w2++){var x1=lB[w2][0];var y1=lB[w2][1];var x2=lB[w2+1][0];var y2=lB[w2+1][1];var x3=lB[w2+2][0];var y3=lB[w2+2][1];var x4=lB[w2+3][0];var y4=lB[w2+3][1];var A=lB[w2+1][2];var B=lB[w2+1][3];var C=lB[w2+1][4];var bP=lB[w2+1][5];var t3=lB[w2+1][6];var t4=lB[w2+1][7];var a=x3-x2;var b=y3-y2;var steps=~~(mQ(a*a+b*b)*.5);var d6=(dist(x2,y2,x3,y3)).toFixed(4);d6=Number(d6);if(d6>4.6){steps=0};for(var k3=0;k3<=steps;k3++){var t=k3/steps;var xF=~~cP(x1,x2,x3,x4,t);var yF=~~cP(y1,y2,y3,y4,t);if(A==0&&B==0&&C==0){sS5=~~(1)*o(n(tOff),0,1,0,0)}else{var sS5=~~(1)*o(n(tOff),0,1,2,8)};bB(xF,yF,sS5,sS5*3.5,A,B,C);if(bP>0){for(var i5=0;i5<t4;i5++){var ttt=rN(.5,2);var t5=rN(0,1)>=.5?-1:1;if(g4==0){if(steps>0&&sS5>0){bB(xF+t3+i5*2,yF+(t3+i5*2)*t5,ttt,ttt*2.5,A,B,C)}}else if(g4==1){if(steps>0&&sS5>0){bB(xF,yF+(t3+i5*2)*t5,ttt,ttt*2.5,A,B,C)}}}};tOff+=rN(xO3,xO4)}};lB.length=0} bB=(bX,bY,rA,px1,A,B,C)=>{var pN2=0;var pX=[];var lX=bX-rA;if(lX<10){px1=0};var rX=bX+rA;if(rX>989){px1=0};var tpY=bY-rA;if(tpY<10){px1=0};var btY=bY+rA;if(btY>1489){px1=0};var pxs=px1*2;while(pX.length<pxs){nP={dia:.1,x:rN(lX,rX),y:rN(tpY,btY)};var oS=false;var d=dist(nP.x,nP.y,bX+(n(bX,bY)*.5),bY+(n(bX,bY)*.5));if(d>rA){oS=true;}else{bA.push([nP.x,nP.y,1,A,B,C])};if(!oS){pX.push(nP)}pN2++;if(pN2>500){break}};pX.length=0} pA=0;keyPressed=()=>{if(keyCode==32){console.log("Saving...");save("Viridaria"+'.png')}if(keyCode==80){if(pA==0){noLoop();pA=1}else if(pA==1){loop();pA=0}}} cL=()=>{iG3.noStroke();iG2.image(iG3,0,0);var w1=3;var col=~~(w/w1);var row=~~(h/w1);for(let i=0;i<col;i++){for(let j=0;j<row;j++){var x1=i*w1;var y1=j*w1;if(rN(0,1)>.6){rN(0,1)>.5?t7=~~rN(0,5):t7=~~(-5,0);var c3=iG2.get(x1+t7,y1+t7);iG3.fill(c3);iG3.push();iG3.translate(-w/2,-h/2,230);iG3.rect((i*w1),(j*w1),(w1-1),(w1-1));iG3.pop()}}}iG2.remove();cI()}
*And through the looking-glass, where maidens roam, the blossoms speak, to lead the lost ones home: 'To seek the end around the bend — rewind your mind and leave the way you know behind.'* *Viridaria* playfully revisits the adventure of Alice in the Garden of Live Flowers from *Through the Looking Glass* by Lewis Carroll. Alice learns that following the path through this garden only leads her back to where she has started. To break free, she finds that she must reverse logic and force herself to walk in the opposite direction of her destination. In this series, the not-quite-perfect mirrored images challenge our perception of reality, inviting us to take a closer look, to welcome the surprises. Like Alice, we might discover that, to find our way, we must first step back and look from a different perspective.
0x0c192889…18e6·#16,299,388·0x3c389df9…03f478
Sarah Ridgley EditionsAddress: call to non-contractAddress: call to non-contractAddress: low-level delegate call failedAddress: low-level delegate call failed
0x0c192889…18e6·#14,366,166·0x36470d31…83e71a
RlSarah Ridgley`Address: delegate call to non-co`DAddress: delegate call to non-co`DAddress: low-level delegate call failedAddress: low-level delegate call failed
Himinn is a painterly cloud study exploring light, color, and the generative composition of clouds in the sky. The algorithm creates natural forms and the illusion of ever-changing atmosphere through carefully structured layers of color and shape. Himinn means “a sky”, and it has been incredibly fun to paint the skies with code.
Himinn is a painterly cloud study exploring light, color, and the generative composition of clouds in the sky. The algorithm creates natural forms and the illusion of ever-changing atmosphere through carefully structured layers of color and shape. Himinn means “a sky”, and it has been incredibly fun to paint the skies with code. Drop Mechanic: Dutch Auction with a start price of 3 eth decreasing in price every 5 minutes to a resting price of 0.25 eth. Pricing Tiers: 3/2.5/2/1.5/1/0.75/0.5/0.25. 25% of the mint price will be donated to Legal Aid and other organizations through Every.org.
wF=0.1;wF2=0.1;setup=()=>{pixelDensity(1),pI=parseInt,mF=Math.floor,H=tokenData.hash,n=noise,pN=mF(pI(tokenData.tokenId)/1e6),mN=pI(tokenData.tokenId)%(1e6*pN); S=Uint32Array.from([0,1,s=t=2,3].map(i=>pI(H.substr(i*8+2,8),16)));R=_=>(t=S[3],S[3]=S[2],S[2]=S[1],S[1]=s=S[0],t^=t<<11,S[0]^=(t^t>>>8)^(s>>>19),S[0]/2**32);'tx piter' rN=(f,N)=>map(R(1),0,1,f,N);sC=[1,2,3,4,5,6,7,8],g1=rN(0,9.2),g=1;if(g1<=0.4){g=3};if(g1>0.4&&g1<1.7){g=4};if(g1>=1.7&&g1<2.8){g=0};if(g1>=2.8&&g1<=3.9){g=7};if(g1>5.5&&g1<=6.7){g=6};if(g1>6.7&&g1<8.1){g=2};if(g1>=8.1){g=5}; T=0<mN,sN=sC[g];dZ=hZ=sS=cS=!1;if(.93<R(1)&&T){hZ=!0};if(sN==6){sS=!0};if((sN==3||sN==4||sN==5)&&R(1)>0.3){dZ=!0} f1=mF(rN(0,17)),f2=mF(rN(0,10)),f3=mF(rN(0,3));3==sN&&(--f2,--f3),f2<1&&(f2=0),f3<1&&(f3=0),tC=f1+f2+f3;if(.92<R(1)&&T&&1!=sN&&6!=sN&&tC>17){cS=!0}; o=map,sT=stroke,cL=color,K=noStroke,seed=S[3],oW=windowWidth,oH=.5625*oW,wH=windowHeight,noiseSeed(seed),oH>wH&&(oW=1.77*wH,oH=.5625*oW),iW=1600,iH=900,createCanvas(iW,iH),nxS=oW/iW,nyS=oH/iH,iG=createGraphics(iW,iH),iG.colorMode(HSB,360,100,100,100),iG.e=iG.ellipse,iG.noStroke(); ds2=100,r8=550,b8=98;for(h5=0,1==sN?(dT=.2,b1=63,b2=58,b3=50,b7=148,h1=rN(186,188),dS=rN(0,8),b5=80,gD=25,h3=25,h4=b6=b4=45,h5=14,b8=90): 2==sN?(dT=.2,b1=87,b2=89,h1=rN(194,196),b3=83,b4=89,b5=95,b6=70,b7=0,dS=20,h3=190,h4=196,gD=10,h5=210): 3==sN?(dT=.1,h5=260,b1=36,b2=40,h1=rN(212.9,215.1),b4=75,b5=93,b6=50,b7=110,dS=45,b3=80,gD=15,h3=195,h4=205,r8=750,sG=120): 4==sN?(dT=.1,b1=50,b2=45,b3=50,b7=148,h1=rN(10,20),dS=10,b5=95,gD=h3=25,h4=b6=b4=45,sG=140): 5==sN?(dT=.1,h5=280,b1=65,b2=60,h1=rN(222,228),b4=75,b5=90,b6=50,b7=110,dS=20,b3=80,gD=17,h3=310,h4=318,ds2=86,r8=750,sG=170): 7==sN?(dT=.2,b1=84,b2=86,h1=rN(203,206),b3=82,b4=88,b5=95,b6=70,b7=0,dS=15,h3=200,h4=220,gD=27,h5=10): 8==sN?(dT=.2,b1=87,b2=88,h1=rN(201,203),b3=82,b4=87,b5=94,b6=70,b7=0,dS=10,h3=200,h4=220,gD=15,h5=300): 6==sN&&(dT=.2,b1=78,b2=80,h1=208,b3=85,b4=88,b5=92,h5=0,b6=65,b7=0,dS=18,h3=220,h4=240,gD=32,r8=700,s1=0,s2=25,b8=rN(90,95)), h2=h1+8,hZ&&(ds2=55,dS-=5),4==sN&&(gD=1),i=0;i<18e3;i++) r1=rN(-10,1500),r2=rN(-10,890),r3=rN(75,150),r4=rN(75,150),h11=h1,h22=h2,.945<R(1)&&(r4+=rN(0,100)),ds1=o(abs(r2-iH),0,iH,dS,ds2), 4==sN&&(ds1=o(abs(r2-iH),0,iH,0,5)),4==sN&&(hD=o(r2,-10,890,h1,h1+60),b1=hD,b2=hD), i<16e3&&.4<R(1)&&r8<r2&&(h11=h3,h22=h4),iG.noStroke(),iG.fill(rN(h11,h22),ds1,rN(b1,b2),rN(0,50)),iG.rect(r1,r2,r3,r4); if(sS)for(F=rN(2.5,7),i=0;i<700;i++) xR=rN(1.01,1.25),r1=rN(50,1550),r2=rN(iH/xR,iH+15),r3=rN(75,140),r4=rN(25,45),.945<R(1)&&(r3+=rN(10,75)),ds1=o(abs(r2-iH),0,iH,dS,100),hst=o(abs(r2-iH),0,iH/F,s1,s2),iG.noStroke(),iG.fill(hst,ds1+10,rN(65,95),rN(3,9)),iG.e(r1,r2,r3,r4); c=[],r6=20,lC=3600,cR=2.6,cR2=0,4==sN&&(r6=25,b1=98),tp1=12,cS&&(lC=1400,r6=8,cR=3,cR2=200,tp1=0); for(iG.fill(h5,20,b3,tp1),4==sN&&iG.fill(45,0,90,tp1),i=0;i<f1;i++)a=rN(175,375),rX=a/2,rY=rX*rN(.3,.7),x=rN(a/1.5,iW-a/1.5),y=rN(650,775),c.push([a,rX,x,y,rY]),iG.e(x,y,rX+5,rY+5);for(j=0;j<f2;j++)a=rN(325,425),rX=a/2,rZ=rN(.3,.8),rY=rX*rZ,x=rN(a,iW-a),y=rN(450,535),c.push([a,rX,x,y,rY]),iG.e(x,y,rX,rY);for(k=0;k<f3;k++)a=rN(425,525),rX=a/2,rZ=rN(.4,.7),rY=rX*rZ,x=rN(a,iW-a),y=rN(225,350),c.push([a,rX,x,y,rY]),iG.e(x,y,rX,rY); tD=0;C=c.length;for(l=0;l<lC;l++){dX =mF(rN(10,1590));dY =mF(rN(10,1590));dR=mF(rN(75,200));dRY=dR*rN(.3,.8);dY+=cR2;r5=r6;gD1=gD;if(r5<16){dY+=200};if(dY>703){r5-=rN(4,8)}if(dY>937){r5-=rN(4,8)} for(m=0;m<C;m++){h=c[m][2];k=c[m][3];rX=c[m][1];rY=c[m][4];d2=((dX-h)**2)/(rX**2)+((dY-k)**2)/(rY**2);if(d2<rN(.8,1.3)){if(dY>(iH/3.5+rN(cR,-cR))){b1=b3;dR-=rN(0,25)}else if(dY>iH/2+rN(15,-15)){b1=b4;dR-=rN(0,25);}else{b1=b5};if(dY<400){dR*=1.1;dRY*=1.1}else if(dY>600){dR*=.84;dRY*=.84};if(R(1)>.89&&dY>iH/3){b1 = b5};if(R(1)>.8&&m<lC/1.25){b1=b6;gD1+=2;dRY*=.8};h6=h5+20;iG.fill(rN(h5,h6),rN(0,gD1),rN(b1,b8),rN(0,r5));iG.e(dX-rN(-10,10), dY,dR,dRY);tD+=1}}} image(iG,0,0,iW,iH);loadPixels();bA=[],wA=[],dA=[],dA2=[],tH=3.1;wT=70; for(y=0;y<iH;y++){for(x=0;x<iW;x++){iX=(x+(y)*(iW))*4,r=pixels[iX+0],g=pixels[iX+1],b=pixels[iX+2],lP=((x-1)+(y)*(iW))*4,rL=pixels[lP+0],gL=pixels[lP+1],bL=pixels[lP+2],tP=((x)+(y-1)*(iW))*4,rTop=pixels[tP+0],gTop=pixels[tP+1],bTop=pixels[tP+2],val=rN(0,100); if(val<tH){cS1=(1)*o(n(wF),0,2.5,10,50),tT=mF(rN(13,21)),rR=rN(0,tT),rZ=0.5+(cS1/0.9),r2=rN(1,2),r7=R(1),aL=rN(10,58),bA.push([x,y,r,g,b,cS1,tT,rR,r2,r7,aL]);wF+= rN(.1,.2);} dF=abs((r+g+b)/3-(rL+gL+bL)/3);dF2=abs((r+g+b)/3-(rTop+gTop+bTop)/3);val2=rN(0,100);tT=7;if((dF>1.3&&r>150&&val2<dT)||(dF2>1.3&&r>150&&val2<dT)){cS1=o(val2,0,1,1,2),lT=o(val2,0,1,50,250),bD=o(val,0,100,0,1),r2=o(val,1,100,1.4,1.9); if(sN==3||sN==5){lT-=20};rR=o(val2,0,100,0,tT),dA.push([x,y,r,g,b,cS1,lT,rR,r2])} if((b<b7&&val2<dT)||(b<b7&&val2<dT)){cS1 = o(val2,0,1,1,2),lT3=o(val2,0,1,15,85),bD=o(val,0,100,0,1),r2=o(val,1,100,1.4,1.9),rR=o(val2,0,100,0,tT),dA2.push([x,y,r,g,b,cS1,lT3,rR,r2]);} if((val2<.00095&&val2>.0001)&&(sN==4||sN==5||sN==3)&&(r<sG&&g<sG&b<sG)&&(dZ==1)&&y>99&&x>99&&x<iW-99&&y<iH-99){cS5=o(val,0,100,.9,1.4),lT4=o(val,0,100,25,50),bD=o(val,0,100,0,1),r2=o(val,1,100,1.4,1.9),rR=o(val,0,100,0,tT);dA2.push([x,y,255,255,255,cS5,lT4,rR,r2]);cS6=cS5*.7,dA2.push([x,y,253,253,253,cS6,lT4,rR,r2-.5])} val3 = rN(0,100);if(val3 <wT && (x<5||x>iW-5||y<5||y>iH-5)){cS1=o(n(wF2),0,1,1,3),tT=mF(rN(7,15)),rR=rN(0,tT),rZ=0.5+(cS1/0.9),r2=rN(1.6,2),r7=R(1),wA.push([x,y,255,255,255,cS1,tT,rR,r2,r7]);wF2+=rN(.1,.2);}}} clear(),resizeCanvas(oW,oH)};draw=()=>{noiseSeed(seed),scale(nxS),l=fill,v=cos,u=sin,colorMode(RGB),background(255),dB(),noLoop()} dB=()=>{for(i=0;i<bA.length;i++){x=bA[i][0],y=bA[i][1],r=bA[i][2],b=bA[i][3],g=bA[i][4],cS1=bA[i][5],tT=bA[i][6],rR=bA[i][7],r2=bA[i][8],r7=bA[i][9],aL=bA[i][10],l(cL(r,b,g,aL));mB(x,y,0.5,tT,cS1,2,rR,r2,r7)}dD()} dD=()=>{for(j=0;j<dA.length;j++){x=dA[j][0],y=dA[j][1],r=dA[j][2],b=dA[j][3],g=dA[j][4],cS1=dA[j][5],lt2=dA[j][6],rR=dA[j][7],r2=dA[j][8],l(cL(r,b,g,lt2)),mB(x,y,0.5,7,cS1,3,rR,r2,.5);}dD2()} dD2=()=>{for(j=0;j<dA2.length;j++){x=dA2[j][0];y=dA2[j][1];r=dA2[j][2]-15;b=dA2[j][3]-15;g=dA2[j][4]-15;cS1=dA2[j][5];lt3=dA2[j][6];rR=dA2[j][7];r2=dA2[j][8];l(cL(r,b,g,lt3));mB(x,y,0.5,7,cS1,3,rR,r2,0.5)}dW()} dW=()=>{for(j=0;j<wA.length;j++){x=wA[j][0];y=wA[j][1];r=wA[j][2];b=wA[j][3];g=wA[j][4];cS1=wA[j][5];tT=wA[j][6];rR2=wA[j][7];r22=wA[j][8];r72=wA[j][9];l(cL(255,255,255));mB(x,y,0.5,tT,cS1,5,rR2,r22,r72)}} mB=(bX,bY,r,pts,cS1,tst,rR,r22,r7)=>{beginShape();r+=(cS1/0.9);r2=r*r22;for(p=0+rR;p<pts+1+rR;p++){K();aG=(p*TWO_PI)/pts;x1=r*v(aG);y1=r2*u(aG);x2=x1*v(r7)-y1*u(r7);y2=y1*v(r7)+x1*u(r7);x3=bX+x2;y3=bY+y2;vertex(x3,y3)}endShape()}
Himinn is a painterly cloud study exploring light, color, and the generative composition of clouds in the sky. The algorithm creates natural forms and the illusion of ever-changing atmosphere through carefully structured layers of color and shape. Himinn means “a sky” and it has been incredibly fun to make my own skies with code.