@Nasser. Yeah. There seems to be a lot that kind post recently. And it's a shame that so many beginners don't realize the one of major virtues of Mathematica is that the user can see results and do tests on line-by-line basis. Can you or anyone else reading this message think of any way to encourage beginners to use be more interactive in their approach to code development?
@m_goldberg Issuing command and seeing its output before going to the next command was something driven to us by teacher I took course with sometime ago which used Mathematica exclusively. He kept saying this over and over each time. It turned out to be useful thing really. One thing that help is using the REPORT style, instead of the default style. Report style make the output vs. input more clear, as it uses different colors. For example, compare these these screen shots.
@m_goldberg that looks very nice. So all these boxes are the input cells? How does the output cell look like? One reason I like report style, is that background color for input and output is different, so easier to spot on the monitor which is input vs. output.
@Nasser. I used to do that. Now, during development I seed my code with global variables that I can spy on with Dynamic. When thing settle done, I localize or otherwise eliminate those variables.
@Nasser. Output in my style sheet looks pretty much like it does in the Default style sheet. I can't remember making any changes to the Output style.
I am looking for tips on creating "random 3D shapes". There's a lot of freedom in what a "random shape" might be, but preferably it should be similar to these ones:
The symmetry you see here is of secondary importance, and it's probably easy to add afterwards.
@Szabolcs Just to show a failed attempt, I thought "start with one of those riemann surfaces and apply random transformations to it" but it didn't come out all that random after all
@xzczd. I really do not like that kind of debugging tool. I never liked gcb and I don't like any debugger that tries to emulate it. I find using Dynamic code allows me to build project specific debugging tools let me debug much faster than I could with a gcb-like general purpose debugger.
@Kuba Thanks! I know that one and I already have blobs like that. I'm trying to make them more complex and more similar to what I showed above.
The spherical harmonics method is nice, but it has a fundamental problem: it can only create surfaces which are representable as functions in spherical coordinates. This is exactly the kind of look I want to avoid.
I don't just want the surface to have "arms". I also want these arms to be able to bend over themselves. Also, I would like "surface like" appendages in addition to "curve-like" ones, i.e. a structure which looks more two-dimensional than one dimensional. The tail of a cat is more like 1D. The fin of a fish is more like 2D. Imagine a twisted 2D thing.
@JasonB Actually it's for a colleague for visual experiments :)
@Szabolcs mindless approach, take something from 3d graphs base, extract coordinates and define a region of points that are no further from those coorinates than given value. Still will be rounded though.