Welcome to Fractal Forums

Fractal Software => Mandelbulb 3d => Topic started by: dyol on December 21, 2015, 12:33:00 PM




Title: how to read a m3p formula
Post by: dyol on December 21, 2015, 12:33:00 PM
hi everybody,
i'm new in fractal and M3DB is really amazing! thx for that great job

today, i need to explore how to read a m3P formula as the file seems to be compiled
do i need a compiler and what kind of soft ?

can i export a m3B formula in another incendia-like-soft in order to produce a stl or obj file to print
without the {voxel>fiji>mesh>obj ] that produces uggly shapes
i read many forums are tuto
today it should be great for M3DB to export directly in 3D , vrml or clean obj :-)))
have a nice day
thx for you interest



from france





Title: Re: how to read a m3p formula
Post by: 1Bryan1 on December 22, 2015, 02:51:39 AM
today, i need to explore how to read a m3P formula as the file seems to be compiled
do i need a compiler and what kind of soft ?
As far as I am aware the formula's (.m3f files) are machine code. So reading these means reading and understanding machine code.
It would not be impossible to reverse engineer the machine code to source code.
For making your own formula - version 1.9 intends to implement this.

can i export a m3B formula in another incendia-like-soft in order to produce a stl or obj file to print
without the {voxel>fiji>mesh>obj ] that produces uggly shapes
voxel>fiji>mesh>obj is the only built in method of exporting objects.
You may be able to do the lots-of-images > interpolate shape method. However, I have only seen one example of this and that used a service that no longer seems to work,


Title: Re: how to read a m3p formula
Post by: cKleinhuis on December 22, 2015, 05:20:04 AM
@1bryan1 no it is not binary code, its a description of the used formulas and the belonging parameters encoded in a binary format , not the formulas themselves (this would be what i interpret as machine code, executable lines of code)


Title: Re: how to read a m3p formula
Post by: 1Bryan1 on December 22, 2015, 08:51:48 AM
@1bryan1 no it is not binary code, its a description of the used formulas and the belonging parameters encoded in a binary format , not the formulas themselves (this would be what i interpret as machine code, executable lines of code)
Oh, I thought that the hex codes in the formula files represented asm code ... it certainly looks valid machine code when it is loading into the M3D and the memory is viewed.
Also I thought that the JIT compiler in 1.9 took the source code entered and compiled this into generic asm.
None of this is correct?


Title: Re: how to read a m3p formula
Post by: Sockratease on December 22, 2015, 12:00:05 PM
Oh, I thought that the hex codes in the formula files represented asm code ... it certainly looks valid machine code when it is loading into the M3D and the memory is viewed.
Also I thought that the JIT compiler in 1.9 took the source code entered and compiled this into generic asm.
None of this is correct?

Well, the m3i and m3p files are machine code, I think, but they are not the formula.  They reference external formulas (m3f and m3l files?) and contain the values for the variables.  So you can't use it by itself to extract the calculations.  It needs the external formula files to be complete.

As for :
...can i export a m3B formula in another incendia-like-soft in order to produce a stl or obj file to print
without the {voxel>fiji>mesh>obj ] that produces uggly shapes...

Welcome to the forums   O0

You don't need fiji, but can't export directly to Incendia or other software  (I wish Incendia compatibility was possible since, in my opinion, Incendia makes the best 3D Models of any obj exporting fractal toy!).

Alternatives to Fiji include JWildfire, Blender, and I think a few others like zBrush and Cinema 4D, but am not sure and can't remember since I get by on Fiji and JWildfire.  I only ever have issues with all the junk polygons on the inside bloating file sizes unreasonably.  Fine tuning Fiji is tricky, but a few tricks make better meshes  (like only using either the red or blue channels instead of RGB when making things, changing the fidelity, and etc.).

Obj files will never have the details of the images because the resulting files could be in the terabytes!  The best solution is to write a MB3D Plug-in for 3D Software so the objects could be rendered right in the program.  The results would be similar to Volumetric Objects like Clouds, Fog, and other weirdness.  No obj export possible on those things or UV Mapping or Physics effects would work, but integration would still be far easier.


Title: Re: how to read a m3p formula
Post by: thargor6 on December 22, 2015, 12:48:00 PM
Oh, I thought that the hex codes in the formula files represented asm code ... it certainly looks valid machine code when it is loading into the M3D and the memory is viewed.
I think, the subject was misleading. Because of the term "formula" you probably asumed, that the *.m3f-files (=formulas, precompiled or JIT) were meant.
But, it probably was about the *.m3p-files (=params), i. e. the whole "scene".


Title: Re: how to read a m3p formula
Post by: 1Bryan1 on December 22, 2015, 08:41:31 PM
I think, the subject was misleading. Because of the term "formula" you probably asumed, that the *.m3f-files (=formulas, precompiled or JIT) were meant.
But, it probably was about the *.m3p-files (=params), i. e. the whole "scene".
Good point :)

In which case, loading the .m3p file into M3D and extracting the parameters from the various GUIs would be the way I would go.


Title: Re: how to read a m3p formula + mini tuto 3D
Post by: dyol on December 23, 2015, 04:55:40 PM
thx everybody
since, i ve work on fiji.in order to get a nice work into C4D

here is an idea
i made a voxel high resolution 256,3 then
i export slices for let s says 1000 slices

fiji consumes a lot of ram and cpu, so  i render only 500 slices
and did another pack of 500

you produce then 2 files.obj that you combine in C4D or 3DS blender, Etc..
obviously you can do this with high res voxel and split files into 4, 8, or 20 obj to re combine it into a 3D soft

if somebody is interested i can write a mini tuto M3DB to Fiji different from the only one posted everywhere

in a short way :
  • generate  1000 slices  by a voxel export
    then open fiji , do not import images sequence
    drag an drop a first batch of the 500 first slices on the fiji gui
    it will generate 500 pop up windows with each slice
    wait for a while
    then !!  important
    sort the stack via image/stasks/tools/stack sorter
    that generate a popup
    Sort by Label
    then stack images by  image/stack/image to stack
    rename the stack
    it will generate a sequence in a viewer
    save as images sequence in a tiff format  in a file myStack0000.tif
    you will get back one file with a tiff sequence thas looks like an an animated gif
    repeat the procedure x times you want to produces other stacks
    with your image-sequence tiff
    at this step you can close fiji if you want to take a coffee, the purpose is to avoid to create a virtual big stack that consumes too cpu and freeze the pc

    to produce obj
    File/import/tiff virtual stack
    open your myStack0000.tif
    then file/save as /wavefront obj
    choose red only and tune threshold ans resampling as you want to

    the best case is to test with only around 5 slices first, make the file.obj, import it into a 3d soft to see the workflow and the final render

enjoy or tune it, and share it :beer:


i tried some medical tomographic slices render soft but at the end of the day fiji is an answer
i didn t try mathematica that's sounds great but too great for my budget

anyway

featured request :-)

the best way should have been to export a M3DB project into a python script
because  soft like C4D for example knows how to read python,
this in order to preserve and regenerate the high def shape by the C4D engine

i tried jwildfire and incendia ;-(

for the kind attention of the developpers  :beer: :beer: :beer: how to export so the resulting formula of the shape produced by, let s says, 2 formulas alternate