Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace ct_pinecone_spiral
- {
- void iterate_plane(
- ct::plot::cairo::plot_2d& plot,
- ct::vector_spice::field_vector& field
- ) {
- std::cout << "ct_pinecone_spiral::iterate_plane\n\n";
- unsigned long n = 14500000;
- double px = 0;
- double py = 0;
- for (unsigned long i = 0; i < n; ++i)
- {
- double rn = std::rand() / (RAND_MAX - 0.);
- if (rn < 0.0108)
- {
- px = px - std::tan(px) + (std::cos(px) / 2.0);
- py = py + std::abs(std::cos(px * 1.618));
- }
- else if (rn < 0.068)
- {
- px = std::cos(px - 0.01);
- py = std::sin(py + 0.4);
- }
- else
- {
- px = std::cos(px + 0.6);
- py = std::sin(py / 1.168);
- }
- ct_complex z = { px, py };
- ct_complex c = { -.75, .1 };
- z = z * z + c;
- z = z * z + c;
- //z = z * z + c;
- //z = z * z + c;
- //glm::vec2 pt = { px, py };
- glm::vec2 pt = { z.real(), z.imag() };
- {
- //plot.set_pixelf(pt, CT_RGBF(1, 1, 1));
- ct::plot::cairo::pixel* pixel = plot.get_pixelf(pt);
- if (pixel)
- {
- pixel->r += 10;
- pixel->b += 25;
- pixel->g += 1;
- }
- }
- px = z.real();
- py = z.imag();
- }
- std::cout << "complete!!!!!!" << "\n";
- }
- void manifest(ct::plot::cairo::plot_2d& plot)
- {
- std::cout << "ct_pinecone_spiral::manifest\n\n";
- ct::vector_spice::field_vector field;
- iterate_plane(plot, field);
- field.push_back({ {-9, 0, 0 }, 200000 });
- {
- ct::vector_spice::field_settings settings = {
- 2.f,
- 0.f,
- .01f,
- 1024,
- 2,
- .001f
- };
- //ct::vector_spice::plot_field_plane(plot, settings, field, 0.f);
- ct::vector_spice::plot_field_lines(plot, settings, field);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment