[C++] using "stb_image_write.h" to save RGB math[C++] using "stb_image_write.h" to save RGB math

📉

Collatz Conjecture

Week 16, 2026

#include "allheaders.hpp" #define STB_IMAGE_IMPLEMENTATION #include "stb_image.h" #define STB_IMAGE_WRITE_IMPLEMENTATION #include "stb_image_write.h" using namespace std; void save_frame(int frame, uint8_t * data); // Saves image bool compare(int a, int b);//function to sort sequence vector (decending) int iRed, iGreen, iBlue, iSeq = 0;//iterators int iRow, iCol = 1;//height,width int iPixal = 0;//pixel number int iSeed = 1;//pixal manipulator vector Sequence;//stores largest number in Sequence vector vRed;//store iRed vector vGreen;//store iGreen vector vBlue;//store iBlue int main() { iRow = 0; iCol = 0; int b; for(int a = 1; a <= 1000; ++a) { ++iRow; iCol = 0; iRed, iGreen, iBlue = 0; for(int b = 1; b <= 1000; ++b) { iPixal++; iCol++; iRed, iGreen, iBlue = 0; iSeed = iPixal; iSeq = 0; while(iSeed > 1) { if((iSeed % 2) == 0) { Sequence.push_back(iSeed); ++iRed; iSeed /= 2; } else { Sequence.push_back(iSeed); ++iGreen; iSeed *= 3; ++iSeed; } sort(Sequence.begin(), Sequence.end(), compare); iSeq = Sequence[0]; iBlue = iSeq / iPixal; if(iSeed == 1) { iGreen += 1; } } if(iRed > 255){iRed = 255;} if(iGreen > 255){iGreen = 255;} if(iBlue > 255){iBlue = 255;} vRed.push_back(iRed); vGreen.push_back(iGreen); vBlue.push_back(iBlue); Sequence.clear(); iRed = 0; iGreen = 0; iBlue = 0; } } vRed[0] = 2; vGreen[0] = 2; vBlue[0] = 4; cout << '\007'; cout << "size of vRed: " << vRed.size() << "\n"; uint8_t image_data[1000 * 1000 * 3]; iPixal = 0; for (int y = 0; y < 1000; y++) { for (int x = 0; x < 1000; x++) { iPixal++; image_data[3 * (y * 1000 + x)] = vRed[iPixal] ; image_data[3 * (y * 1000 + x) + 1] = vGreen[iPixal] ; image_data[3 * (y * 1000 + x) + 2] = vBlue[iPixal]; } } save_frame(1, image_data); return 0; } bool compare(int a, int b)//sort for largest number in Sequence (decending) { return a > b; } void save_frame(int frame, uint8_t * data) // Saves image to file { string fileZ = "week16result.png"; stbi_write_png(fileZ.c_str(), 1000, 1000, 3, data, 1000 * 3); return; }