• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Recursion SnowFlake ?

 
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have this assignment I've been working on. We are to try and imitate the Koch Snowflake...The teacher knows that there are many other resolves for this on the net but she would like us to try our own, without using one from the net. I have gotten as far as to get one side of the snowflake to work. For instance if I enter a level of 1 of recusion it only draws the bottom line of the triangle. If I enter level 3 it draws what looks to be the snowflake but only on the bottom. This is the code I have done to get to this point. Any hints or clues to the right direction to get the same desing to rotate the full 360 would be great.

Heres the code so far:
 
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Just on first glance, your calculations for x3 and y3 should work great for when the baseline that the flake is growing on is horizontal, but I don't think this is going to work when you create higher order iterations of the snowflake upon higher order baselines that are not horizontal. I think that you'll need fancier math calculations, but please take this with a grain of salt as I'm no mathematician and no computer scientist.

Instead of setting up your equations looking at the first iteration w/ a flat baseline, try setting up your equations for the general case where the baseline is angled and you'll see what I mean. There are probably several ways to come up w/ functioning equations, probably the easiest will be to use some trig.

Good luck!

Correction: Sorry, I'm messing up. I ran through your equations and they all look fine. I guess I'm rusty on my trig. Again, sorry.
[ February 26, 2007: Message edited by: pete stein ]
 
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"pete stn",

There aren't many rules that you need to worry about here on the Ranch, but one that we take very seriously regards the use of proper names. Please take a look at the JavaRanch Naming Policy and adjust your display name to match it.

In particular, your display name must be a first and a last name separated by a space character, and must not be obviously fictitious.

Thanks!
bear
JavaRanch Sheriff
 
pete stein
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Bear Bibeault:
"pete stn",
In particular, your display name must be a first and a last name separated by a space character, and must not be obviously fictitious.
... JavaRanch Sheriff


So adjusted... It's just that using my real name has gone against everything i've ever been previously taught about online security.
 
pete stein
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
perhaps what you need to do is set up your equilateral triangle as the starting 3 points of your snowflake. You also might want to consider doing your calcs using double then either cast to int or round to int for your display routine.

Something like this:


Let me know if any of this helps.

/Pete
[ February 26, 2007: Message edited by: pete stein ]
 
Bear Bibeault
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by pete stein:

So adjusted... It's just that using my real name has gone against everything i've ever been previously taught about online security.



Then don't use it. Just don't use something that's obviously fictitious like "stn".
 
pete stein
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
On trial, I may have gotten my order of points backwards. If so, consider trying this:

 
Shananne DuFrame
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you very much pete. I used the first code you had posted along with what I originally had and changed a few things. As you had stated lastly the code prior had developed a different snow flake than what was being required. But looking at your code helped me realize what I needed to do and what was missing. I now have a working program!!

Thanks again,
Shananne
 
pete stein
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Shananne DuFrame:
.. I now have a working program!!


Cool! Let's see the code when you're finished if you don't mind. I don't know much java-graphics yet, but I used your code (thanks) to make a snowflake program in c#, and showed it to my daughter who was quite impressed. Since she's a 12 year old, that's saying a lot! I'll have to try the Mandelbrot set next.
/Pete
[ February 27, 2007: Message edited by: pete steinbear ]
 
Wanderer
Posts: 18671
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Ahhh... "Steinbear" looks a little too artificial, especially under the circumstances. How about something that has a chance of appearing in a real-world phonebook? Like, say, Steinman, or Stanley, or Mullins, or whatever. Crack open a phonebook if you need ideas. Not something that sounds like a made-up hybrid. Thanks.
 
Shananne DuFrame
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


Heres the working program..and again thanks alot!!
 
pete stein
Bartender
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Looks good! I'm kind of a newbie in java as I've been doing most of my previous coding in c#. So, sorry for what's probably a simple question, but how do you call this class to display it?
Thanks /Pete
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic