As I am getting more comfortable using this application it's really fascinating the opportunity for creative designs by leveraging the many configurations including primary and secondary modulations.
I have spent a great deal of time consuming the documentation and am a bit challenged what configurations might be driving the circular and diamond patterns within these designs from your gallery. Of course, I tried to emulate these using Bends/Pits however I am going to speculate these are possibly being driven within one of the many modulation configurations? I am not asking for exact directions however if you might be kind enough to provide a little high-level guidance as what area that would be fantastic.
Brian,
You want the Ruffle effect, which is a special case of Bend. Specifically you want alternating ruffles, achieved via bipolar square wave modulation of Ruffle Depth.
Well, that is quite interesting, the one area Ruffle's I have spent the least amount of time in turns out where the configuration is. I have been testing out a variety of different patterns created from ruffles based upon your advice and have created some very interesting designs. Do you have any advice on how to change the height of a particular bend as seen in the gallery image? I believe I have done this before within Scallops and a modulation however can't seem to get this working within bends/ruffles. Thank you for your time.
The solution is to modulate the Bends parameter (the number of bends). This is a type of frequency modulation, and if done in isolation, it will give incorrect results due to phase errors. For correct results, you must also apply a compensating modulation to Bend Phase.
The square wave controlling the Ripple Depth must similarly be frequency modulated, so that it matches the bends. This frequency modulation also requires compensation, though in this case the correction is applied to amplitude instead of phase.
Because the above technique is regrettably convoluted, I attach a PDR file demonstrating it.
Hi Chris, this worked fantastic. I have applied this any many other modulations to various models lately with great results. Thank you so much for your help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Frequency modulation doesn’t work as well in PotterDraw as it should. That’s because the necessary phase compensation isn’t built-in, and must instead be approximated.
In PotterDraw, when I apply a periodic function to something, I’m incrementing a theta over some range. In actuality my periodic functions are all normalized, so that their input ranges from 0 to 1. I called this normalized angle and it’s useful because we don’t have to consider π. So my theta ranges from 0 to 1, regardless of the function. It’s also a phase. 0.25 = 90°, 0.5 = 180°, 0.75 = 270°, etc.
Suppose I’m drawing the wave in 1000 steps. If the desired frequency is 1 Hz, I should step by 1 / 1000. But if the desired frequency is 2 Hz, I must cycle through the periodic function twice as fast. So my loop looks like this:
nSteps = 1000
for (i = 0; i < nSteps; i++)
{
fPhase = i / nSteps;
y[i] = GetWave(fPhase * fFrequency);
}
But what if I want to change the frequency during the stepping? To keep things simple, let’s change the frequency only once, in the middle, from 1 Hz to 2 Hz. If I do this, I find that there’s a discontinuity in the middle. That’s because at the middle, the 2 Hz wave is at the start of its cycle, but the 1 Hz wave is at the midpoint of its cycle. I need a phase correction. In this case, setting the phase to 0.25 (90°) when I reach the middle fixes the discontinuity. In the first half, the phase varies from 0 to 0.5, and in the second half, it varies from 0.25 to 0.75.
This idea can be generalized as follows. For each step, if the desired frequency has changed, perform the following calculation:
phase = phase * (old_freq / new_freq)
So using my previous example of changing from 1 Hz to 2 Hz in the middle, when I reach the middle:
phase = 0.5
old_freq = 1
new_freq = 2
And the corrected phase is
0.5 * (1 / 2) = 0.25
And supposing I do it backwards, changing from 2 Hz to 1 Hz in the middle, when I reach the middle:
phase = 0.5
old_freq = 2
new_freq = 1
And the corrected phase is
0.5 * (2 / 1) = 1
Also correct! This same method works for continuous frequency modulation. Unfortunately, this method can’t be added to PotterDraw, because it conflicts with PotterDraw’s architecture. In some cases, a simple phase modulation gets tolerably close to the desired behavior, but it's never exact. I have been looking for a generic approximation, such as a determinant, but so far have not found one.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is very helpful and inspiring to better understand what's going on behind the scenes. You are operating at another level here and I am going to speculate the architecture of Potterdraw was possibly inspired by your knowledge of audio frequency/modulation along with mathematics? Using Potterdraw is unlike any other tool I have previously used to create vessels, vases, pots, etc. As I am getting more familiar with it, I am realizing it has many advatages over traditional cad type tools for quickly creating vessels with complex patterns, etc. After a few weeks I have created some models that I am not even sure you could build in traditional cad tools and if you could it would take an enormous investment of time.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
One way I have been learning Potterdraw is identifying various patterns that are of interest to me and try to re-create in a sample and document this. In one of the images in your gallery there appears to be a 4 walled vase with these interesting elbows or extensions to the corners. I was thinking these might be a modulated scallop or maybe a modulation of the polygon side?
Hi Brian, this vase results from combining Scallops with rounded Polygon. No parameter modulation is involved, as the attached screen shot shows.
Instead of feeding you recipes for my designs one by one, it would be easier to give you access to the PDR files for my public designs. For example if you gave me your email address, I could share the files with you via DropBox. However before I would do that, I would need to know more about your situation. What precisely are you using PotterDraw for? What is the business or distribution model if any? The more detail you can give me, the better.
Also I must stress that my PotterDraw designs are licensed under Creative Commons Share-Alike 4.0, meaning that derivative works made from them can ONLY be distributed under a compatible copy-left license. I use this license to deter people from attempting enclose my intellectual properties or make them in any way proprietary.
Hi Chris, this configuration makes sense, and I was so close to getting it done on my own.
I appreciate that offer regarding access to your PDR files. Regarding my intended use. I love and appreciate art and after about a year long journey of 3d printing I am at a point where designing some creative models to my own liking is far more interesting than downloading the common public models. I have no business model to sell prints or models or does my professional career have any relationship to design, 3d printing, and or selling these. Also, I have no intention on posting any files onto public sites as these often just get resold through various sellers on sites regardless of the licensing. It's sad to see however its rampant throughout 3d printing.
At most I make the designs and provide the prints to family and friends. That's about it, not interested in selling. I have also been using Blender for some basic design however so far Potterdraw is a better solution for the type of models I am building, planters/vases, and vessels.
Also, when I mentioned I am rebuilding some or yours it's certainly not all of them or a one to one rebuild however more of identifying a particular part of a model that is interesting and I attempt to replicate that portion to help learn the different configurations. I am not interested in copying anyone else's work which is very prolific within the 3d printing community in regard to many of the public models.
I really do appreciate all the help you have provided and am really enjoying and getting more comfortable with Potterdraw. If you are comfortable with providing access to the files that is great however if not that is fine. I have a good start and for the most part well on my way and just need to continue to spend more time in Potterdraw. I guarantee I will slow way down in questions if not stop, trying not to be a nuisance here.
With that said, I have to close out by one last question which I fully plan on it being my last one for a while.
Within 3d Printing slicers you have a configuration called Fuzzy Skin. Many people use it to apply fur like textures to animal models as incorporating these textures in tradional design tools and into the mesh is next to impossible. Considering how different Potterdraw is from other tools I was curious on your thoughts on this? Through the configurations and modulations is there a concept to create a grain like texture? Example, porous cement or sand like look? I mostly use Fuzzy skin to create a sand grain or cement look when using it. Considering you can do this is slicers why am I even asking about this? Well, it's pretty simple, configuring it within the slicer is quite limiting and can be challenged by various other configurations within the print settings as well as it adds significant time to your print. While potter draw may no be designed for this I was thinking if there was a way to emulate it, I would be interested in comparing incorporating it into the mesh rather than a post processing done within the slicer and G-code.
I will include a couple of photos of fuzzy skin configured, applied to the sliced model and printed. In the particular example a sand like grain look was the goal.
Hi Brian,
Thanks for the detailed explanation. Please send me an email through my personal website contact form.
Regarding fuzzy skin, PotterDraw doesn't have any such parameter. The closest thing I can think of is using Bend to make small raised bumps, as shown in the attached photo. Note that the resulting texture is nonrandom, though I expect you could randomize the texture somewhat by modulating the Bend phase, or via Ruffle. Also a fairly dense mesh is needed to resolve such small details; I used 1000 rings x 1000 sides, which is typical for me but may upset your slicer.
Best, Chris
Regarding the Fuzzy Skin concept, I had already begun testing some options using , bends and poles. I think there is opportunity especially with considering additional modulations. Also, I have followed up with the email. Thanks for everything.
Last edit: Brian Zwart 2023-12-08
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As I am getting more comfortable using this application it's really fascinating the opportunity for creative designs by leveraging the many configurations including primary and secondary modulations.
I have spent a great deal of time consuming the documentation and am a bit challenged what configurations might be driving the circular and diamond patterns within these designs from your gallery. Of course, I tried to emulate these using Bends/Pits however I am going to speculate these are possibly being driven within one of the many modulation configurations? I am not asking for exact directions however if you might be kind enough to provide a little high-level guidance as what area that would be fantastic.
Brian,
You want the Ruffle effect, which is a special case of Bend. Specifically you want alternating ruffles, achieved via bipolar square wave modulation of Ruffle Depth.
Last edit: Chris Korda 2023-11-19
Well, that is quite interesting, the one area Ruffle's I have spent the least amount of time in turns out where the configuration is. I have been testing out a variety of different patterns created from ruffles based upon your advice and have created some very interesting designs. Do you have any advice on how to change the height of a particular bend as seen in the gallery image? I believe I have done this before within Scallops and a modulation however can't seem to get this working within bends/ruffles. Thank you for your time.
Brian,
The solution is to modulate the Bends parameter (the number of bends). This is a type of frequency modulation, and if done in isolation, it will give incorrect results due to phase errors. For correct results, you must also apply a compensating modulation to Bend Phase.
The square wave controlling the Ripple Depth must similarly be frequency modulated, so that it matches the bends. This frequency modulation also requires compensation, though in this case the correction is applied to amplitude instead of phase.
Because the above technique is regrettably convoluted, I attach a PDR file demonstrating it.
Chris
Last edit: Chris Korda 2023-11-20
Hi Chris, this worked fantastic. I have applied this any many other modulations to various models lately with great results. Thank you so much for your help.
Hi Brian,
I'm glad it worked.
Frequency modulation doesn’t work as well in PotterDraw as it should. That’s because the necessary phase compensation isn’t built-in, and must instead be approximated.
In PotterDraw, when I apply a periodic function to something, I’m incrementing a theta over some range. In actuality my periodic functions are all normalized, so that their input ranges from 0 to 1. I called this normalized angle and it’s useful because we don’t have to consider π. So my theta ranges from 0 to 1, regardless of the function. It’s also a phase. 0.25 = 90°, 0.5 = 180°, 0.75 = 270°, etc.
Suppose I’m drawing the wave in 1000 steps. If the desired frequency is 1 Hz, I should step by 1 / 1000. But if the desired frequency is 2 Hz, I must cycle through the periodic function twice as fast. So my loop looks like this:
nSteps = 1000
for (i = 0; i < nSteps; i++)
{
fPhase = i / nSteps;
y[i] = GetWave(fPhase * fFrequency);
}
But what if I want to change the frequency during the stepping? To keep things simple, let’s change the frequency only once, in the middle, from 1 Hz to 2 Hz. If I do this, I find that there’s a discontinuity in the middle. That’s because at the middle, the 2 Hz wave is at the start of its cycle, but the 1 Hz wave is at the midpoint of its cycle. I need a phase correction. In this case, setting the phase to 0.25 (90°) when I reach the middle fixes the discontinuity. In the first half, the phase varies from 0 to 0.5, and in the second half, it varies from 0.25 to 0.75.
This idea can be generalized as follows. For each step, if the desired frequency has changed, perform the following calculation:
phase = phase * (old_freq / new_freq)
So using my previous example of changing from 1 Hz to 2 Hz in the middle, when I reach the middle:
phase = 0.5
old_freq = 1
new_freq = 2
And the corrected phase is
0.5 * (1 / 2) = 0.25
And supposing I do it backwards, changing from 2 Hz to 1 Hz in the middle, when I reach the middle:
phase = 0.5
old_freq = 2
new_freq = 1
And the corrected phase is
0.5 * (2 / 1) = 1
Also correct! This same method works for continuous frequency modulation. Unfortunately, this method can’t be added to PotterDraw, because it conflicts with PotterDraw’s architecture. In some cases, a simple phase modulation gets tolerably close to the desired behavior, but it's never exact. I have been looking for a generic approximation, such as a determinant, but so far have not found one.
This is very helpful and inspiring to better understand what's going on behind the scenes. You are operating at another level here and I am going to speculate the architecture of Potterdraw was possibly inspired by your knowledge of audio frequency/modulation along with mathematics? Using Potterdraw is unlike any other tool I have previously used to create vessels, vases, pots, etc. As I am getting more familiar with it, I am realizing it has many advatages over traditional cad type tools for quickly creating vessels with complex patterns, etc. After a few weeks I have created some models that I am not even sure you could build in traditional cad tools and if you could it would take an enormous investment of time.
One way I have been learning Potterdraw is identifying various patterns that are of interest to me and try to re-create in a sample and document this. In one of the images in your gallery there appears to be a 4 walled vase with these interesting elbows or extensions to the corners. I was thinking these might be a modulated scallop or maybe a modulation of the polygon side?
Hi Brian, this vase results from combining Scallops with rounded Polygon. No parameter modulation is involved, as the attached screen shot shows.
Instead of feeding you recipes for my designs one by one, it would be easier to give you access to the PDR files for my public designs. For example if you gave me your email address, I could share the files with you via DropBox. However before I would do that, I would need to know more about your situation. What precisely are you using PotterDraw for? What is the business or distribution model if any? The more detail you can give me, the better.
Also I must stress that my PotterDraw designs are licensed under Creative Commons Share-Alike 4.0, meaning that derivative works made from them can ONLY be distributed under a compatible copy-left license. I use this license to deter people from attempting enclose my intellectual properties or make them in any way proprietary.
Hi Chris, this configuration makes sense, and I was so close to getting it done on my own.
I appreciate that offer regarding access to your PDR files. Regarding my intended use. I love and appreciate art and after about a year long journey of 3d printing I am at a point where designing some creative models to my own liking is far more interesting than downloading the common public models. I have no business model to sell prints or models or does my professional career have any relationship to design, 3d printing, and or selling these. Also, I have no intention on posting any files onto public sites as these often just get resold through various sellers on sites regardless of the licensing. It's sad to see however its rampant throughout 3d printing.
At most I make the designs and provide the prints to family and friends. That's about it, not interested in selling. I have also been using Blender for some basic design however so far Potterdraw is a better solution for the type of models I am building, planters/vases, and vessels.
Also, when I mentioned I am rebuilding some or yours it's certainly not all of them or a one to one rebuild however more of identifying a particular part of a model that is interesting and I attempt to replicate that portion to help learn the different configurations. I am not interested in copying anyone else's work which is very prolific within the 3d printing community in regard to many of the public models.
I really do appreciate all the help you have provided and am really enjoying and getting more comfortable with Potterdraw. If you are comfortable with providing access to the files that is great however if not that is fine. I have a good start and for the most part well on my way and just need to continue to spend more time in Potterdraw. I guarantee I will slow way down in questions if not stop, trying not to be a nuisance here.
With that said, I have to close out by one last question which I fully plan on it being my last one for a while.
Within 3d Printing slicers you have a configuration called Fuzzy Skin. Many people use it to apply fur like textures to animal models as incorporating these textures in tradional design tools and into the mesh is next to impossible. Considering how different Potterdraw is from other tools I was curious on your thoughts on this? Through the configurations and modulations is there a concept to create a grain like texture? Example, porous cement or sand like look? I mostly use Fuzzy skin to create a sand grain or cement look when using it. Considering you can do this is slicers why am I even asking about this? Well, it's pretty simple, configuring it within the slicer is quite limiting and can be challenged by various other configurations within the print settings as well as it adds significant time to your print. While potter draw may no be designed for this I was thinking if there was a way to emulate it, I would be interested in comparing incorporating it into the mesh rather than a post processing done within the slicer and G-code.
I will include a couple of photos of fuzzy skin configured, applied to the sliced model and printed. In the particular example a sand like grain look was the goal.
Hi Brian,
Thanks for the detailed explanation. Please send me an email through my personal website contact form.
Regarding fuzzy skin, PotterDraw doesn't have any such parameter. The closest thing I can think of is using Bend to make small raised bumps, as shown in the attached photo. Note that the resulting texture is nonrandom, though I expect you could randomize the texture somewhat by modulating the Bend phase, or via Ruffle. Also a fairly dense mesh is needed to resolve such small details; I used 1000 rings x 1000 sides, which is typical for me but may upset your slicer.
Best, Chris
Last edit: Chris Korda 2023-12-03
Hi Chris,
Regarding the Fuzzy Skin concept, I had already begun testing some options using , bends and poles. I think there is opportunity especially with considering additional modulations. Also, I have followed up with the email. Thanks for everything.
Last edit: Brian Zwart 2023-12-08