Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Krzysztof Marczak
@buddhi1980
I have modified ABoxMod formula, to add C constant in almost standard way, but with swapped XY axes. Look into code, how it's done in Compute() function (line 383).
Krzysztof Marczak
@buddhi1980
Merry Christmass!
Sebastian Jennen
@zebastian
And happy holidays :tada:
mclarekin
@mclarekin
Merry Christmas to you guys and your families
Krzysztof Marczak
@buddhi1980
Hi. I was away from home last week, that's why you haven't seen any activity from my side. I will look at your lastest commits and emails and give a feedback soon.
Krzysztof Marczak
@buddhi1980
@mclarekin, you did great job by adding latest formulas
mclarekin
@mclarekin
@buddhi1980 . Hope you had some holiday relaxation. Just had one of my cousins visit from Prague with his Czech wife & family. He left here yesterday at 27.C, to fly back to Prague with -2.C (and -12.C at night). The msltoe formulas are fun, I have yet to try hybrids with them.
mclarekin
@mclarekin
@bermarte Hi, what was your code for http://bermarte.deviantart.com/art/pole-dance-436688881 it looks like a cool transform to try hybrids with?
@bermarte oops hit the enter button. and I have your variant http://www.fractalforums.com/theory/mandelbulb-variant/ to code, what else have you got hidden away? :)
bermarte
@bermarte
This message was deleted
bermarte
@bermarte
@mclarekin
double DEFuran(CVector3 pos) {
CVector3 p=pos;
CVector3 fur;
fur.x=atan2(p.y,p.x)8.;
fur.y=atan2(p.z,(sqrt(pow(p.x,2.)+pow(p.y,2.))-2.))

8./sqrt(pow(p.x,2.)+pow(p.y,2.));
fur.z=(pow((sqrt(pow(p.x,2.)+pow(p.y,2.))-2.),2.)
+pow(p.z,2.)-1.)*4/sqrt(pow(p.x,2.)+pow(p.y,2.));
return function(fur);
}
Krzysztof Marczak
@buddhi1980
what is this code?
mclarekin
@mclarekin
Thanks, pole dance looks very expensive with all those power functions
Krzysztof Marczak
@buddhi1980
nice
bermarte
@bermarte
there is also this part before DEFuran
double function(CVector3 p)
{
double obj=0.25+2.pow(p.z,2.)+(0.25(cos(4.p.y)+cos(2.sqrt(3.)p.x-2.p.y)+cos(2.sqrt(3.)p.x+2.p.y))+0.03(cos(4.sqrt(3.)p.x)+cos(6.p.y-2.sqrt(3.)p.x)+cos(6.p.y+2.sqrt(3.)p.x)));
return obj;
}
mclarekin
@mclarekin
wow, crazy maths
Krzysztof Marczak
@buddhi1980
this can be added as a primitive object
does this function return distance?
bermarte
@bermarte
yes, it can be used as an object, I did some tests with fractals using that structure, it is really slow.
I have also other primitives using the same patterns http://fragmentarium.deviantart.com/art/Grid-354431183
mclarekin
@mclarekin
second image looks good too, might be nice with random lights in flight animation, oops might render too slow for animation. I might code it in OpenCL and see how slow is slow :smile:
bermarte
@bermarte
this one was made using OpenCL
http://bermarte.deviantart.com/art/Hello-wereld-again-435453887
fractal hybrids are slow (I have tested only DEFuran, not the other primitives which are simpler) but primitives are much faster.
mclarekin
@mclarekin
@bermarte all looking good. With the interesting but slow formulas, I try to use them for only 1 or 2 iterations at the beginning of a hybrid sequence. I always find it hard to leave openCL version :smile: , I was using it the other day, testing some mengers, renders were taking only 0.25 seconds.!!
mclarekin
@mclarekin
I have added Zvector axis swap transform, this works well with some formulas like Benesi T1
Sebastian Jennen
@zebastian
how would you like to mark extended formula icons? what do you think about the plus or an "E" for extended, or a completely different rendered icon?
Krzysztof Marczak
@buddhi1980
I'm not sure if we keep that extended formulas. But I think better would be +
mclarekin
@mclarekin
@buddhi1980 My current thoughts are that extended formulas will eventually be removed .
Mandelbox _ ext I need to code one more Mbox formula then it can be removed
Keep hitting enter instead of shift enter
Mandebulb ext and mandelbulbBeta 6 can almost be deleted
Menger can almost be deleted
Quaternion needs a lot of 4D coding to be done
Bensesi need to be chopped into two ..
mclarekin
@mclarekin
But they are all good at the moment as they have some color controls
It comes down to how I allocate my time. I would rather finish coding all the transforming formulas and new formulas before looking at the extended formulas
Krzysztof Marczak
@buddhi1980
I will take care about color control for all formulas.
mclarekin
@mclarekin
@buddhi1980 . cool, even just some basic controls for V2.07 would be great. Then boolean will then be running good.
Sebastian Jennen
@zebastian
@buddhi, do you see, what i am doing wrong?
void RenderWindow::slotFractalSwap(int swapA, int swapB)
{
    cParameterContainer *swap = gParFractal->at(swapA);
    gParFractal[swapA] = gParFractal[swapB];
    gParFractal[swapB] = swap;
    gMainInterface->SynchronizeInterfaceWindow(fractalWidgets[swapA],
                                                                                         &gParFractal->at(swapA),
                                                                                         cInterface::write);
    gMainInterface->SynchronizeInterfaceWindow(fractalWidgets[swapB],
                                                                                         &gParFractal->at(swapB),
                                                                                         cInterface::write);
}
and here is the rest:
QApplication::connect(mainWindow->ui->tabWidget_fractals,
                                                SIGNAL(swapTabs(int, int)),
                                                mainWindow,
                                                SLOT(slotFractalSwap(int, int)));
Krzysztof Marczak
@buddhi1980
what is the result?
Sebastian Jennen
@zebastian
gcc says:
/home/sebastian/buddhi1980-mandelbulber2/mandelbulber2/src/render_window.cpp:2189: Fehler:cannot convert 'cParameterContainer' to 'cParameterContainer*' in initialization
is this even the right way, to swap the fractals?
Krzysztof Marczak
@buddhi1980
it's good way, but there is something wrong in cParameterContainer *swap = gParFractal->at(swapA); Gime a minut to analyze it.
should be
    cParameterContainer swap = gParFractal->at(swapA);
    gParFractal[swapA] = gParFractal[swapB];
    gParFractal[swapB] = swap;
at() returns value not a pointer
Sebastian Jennen
@zebastian
now only last line throws error:
gParFractal[swapB] = swap;
/home/sebastian/buddhi1980-mandelbulber2/mandelbulber2/src/render_window.cpp:2191: Fehler:no match for 'operator=' (operand types are 'cFractalContainer' and 'cParameterContainer')
Krzysztof Marczak
@buddhi1980
try
gParFractal->at(swapB) = swap;
if doesn't work, you can add swap logic inside cFractalContainer class
there will be easier, because you have direct access to array
Sebastian Jennen
@zebastian
thanks, compiles now but crashes, when function gets called.
btw, just found qswap
http://doc.qt.io/qt-4.8/qtalgorithms.html
qSwap(gParFractal[swapA], gParFractal[swapB]);
which seems to be working as well (still crashes :) )
i am not sure, what the problem is right now.
should i commit and you take a look?