## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### 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
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? :)
Bernardo Martelli
@bermarte
This message was deleted
Bernardo Martelli
@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?
Bernardo Martelli
@bermarte
mclarekin
@mclarekin
Thanks, pole dance looks very expensive with all those power functions
Krzysztof Marczak
@buddhi1980
nice
Bernardo Martelli
@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?
Bernardo Martelli
@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:
Bernardo Martelli
@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