Log Spiral
 1-10  11-29

Previous
Next
 From:  bemfarmer
6951.11 
QuarterCircleSpiral

Excellent posts by John D Cook:
https://www.johndcook.com/blog/2017/05/01/golden-angle/
https://www.johndcook.com/blog/2022/05/09/iterated-golden-rectangles/
https://www.johndcook.com/blog/2022/05/09/logarithmic-spiral/
https://www.johndcook.com/blog/2022/05/10/spiral-arcs/

The Golden Spiral is a logarithmic spiral, with the radius continuously changing with angle theta.

The Golden Spiral can be approximated with circular arcs, in golden rectangles, where each quarter arc has a constant radius, but each successive quarter arc has its radius reduced by the factor of the (golden ratio - 1) = (phi-1) = about 0.618034, which is the "decay factor" The QtrArc spiral is very easy to construct in MoI, and the center of the spiral constructed. Orient Line,Line is very useful.
Adjoining arcs are connected G1, with equal tangents at the connection.
The connection is not G2. The second derivatives are different.

With the Golden rectangles beginning at the Origin, the coordinates of the center of the QtrArc spirals has been calculated by John D Cook.
The center is also located by two "diagonal" lines.
A golden logarithmic spiral can also be created using the LogSpiral5 script, and Orient used to adjust it to the QtrArc ends and the center.
The two spirals are different, but are very close to each other.

Using QtrArc with decay of 85%, 0.85, may approximate violin volutes.
Or multiple decay values may be needed.
http://zhurnal.lib.ru/m/muratow_s_w/violin_design.shtml

The formulas for the Golden Arc Spiral are a bit simpler.
Using John D Cooks slope_intersect formula method for the golden spiral, for a spiral with a different decay factor, e.g. 0.85,
enables the center of QtrArcDecaySpiral to be calculated from the two "diagonals". The initial decay square begins at the origin.
The formula for the coordinates (x0,y0) of the center of the decay spiral are as follows, solving for x0:
x0 = (1+decay)/(decay*decay) For 85% decay x0 = 1.0740203 (+/-).
y0 = (-decay)*(x0) +1 For 85% decay y0 = 0.087083 (+/-).

Construction of the decay arcs in MoI confirms the values.
The logSpiral can also be plotted by calculating associated exponent
value "b", as previously remarked.

- Brian

image host
image host

EDITED: 16 Jul 2022 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Larry Fahnoe (FAHNOE)
6951.12 In reply to 6951.11 
Hi Brian,

I'm a little confused by the meaning of "Click for Golden Spiral" and "Click for Golden Spiral on the text". Makes it sound like there should be a checkbox to be clicked?

The help text:
quote:
_Grow_Shrink has a slider, with Golden Spiral default value.

Click for Golden Spiral on the text

suggests that the default Grow_Shrink of 0.306349 is what causes the Golden Spiral to be produced, but no clicks required.

My minor befuddlement aside, pretty neat script which could be handy for laying out attractive scrolls for blacksmith work. Thanks!

--Larry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.13 In reply to 6951.12 
Hi Larry,

Clicking on a line of text, in order to cause a certain value to be restored, was borrowed from one of Max's scripts.

The "grow_shrink" default "b" exponent value of 0.306349... (an irrational number), is calculated from the Golden Ratio number (1+sqrt(5))/2, = about 1.618...,
also irrational, and yields the Golden Logarithmic spiral (within some decimal tolerance or approximation, because the decimals go on forever).
In the event the value of "grow_shrink" is changed by the user, clicking on the Click line of text, restores the "grow_shrink" value to 0.306349...

I agree that there could be some confusion about clicking on the text line.
Perhaps someone knows of a different control "button" which could be clicked on, placed next to the Click for Golden Spiral.
Maybe a "radio button"?
Another checkbox button does not seem quite right, because the checkbox check persists, unless script could be added to both the grow_shrink slider, and the grow_shrink entry slot, which would uncheck the checkbox, in the event some other value is chosen?

I do not know which new control button would be appropriate...
Maybe Michael would have a better idea...
Maybe a button could be named "here"? And have a different color?
Or the whole text line could become a "button", a different color in a rounded box.
Part of the htm or html code is ... onclick='growthslider.value=0.306349; moi.ui.fireUIEvent("growthslider");...Click for Golden Spiral...

So some augmentation of the .htm code would be nice...
https://www.w3docs.com/snippets/html/how-to-make-button-onclick-in-html.html
So maybe all that needs to be added is a couple of "button" controls? And maybe a color change?

The onclick button needs to look like a button...

- Brian

EDITED: 18 Jul 2022 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.14 In reply to 6951.13 
Changed the "Click for Golden Spiral" to a button, but it looks like a parameter entry box.

Did not change color. Looks like html could be used, or CSS, or both.
Do not know how best to be compatible with MoI "themes".
Maybe I should be using <moi:LabelButton?, like for the blue help button?

Modified Help text for "Click for Golden Spiral.

- Brian

EDITED: 18 Jul 2022 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Larry Fahnoe (FAHNOE)
6951.15 In reply to 6951.13 
Hi Brian,

Ah, I see how it works now, thanks!

I'm not much of a UI guy...I end up copying other people's patterns... The button idea sounds like a logical UI element for the purpose and if that doesn't work, either a "here" using a different color in the text should help guide the user.

On edit:

Just grabbed LogSpiral6.zip and it is much clearer.

--Larry

EDITED: 18 Jul 2022 by FAHNOE

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.16 In reply to 6951.15 
Hi Larry,

Thank you for your prompting to make things more understandable.

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6951.17 In reply to 6951.14 
Hi Brian, for the button probably use a <moi:PushButton>, like:

<moi:PushButton>Golden Spiral</moi:PushButton>

That should make it look like other buttons.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.18 In reply to 6951.17 
Thank you Michael.

Redid the PushButton in the .htm file from good version6 file, and now it works.

*****
Notepad++ formats .htm code with different colors, black, red, bold, for certain html code portions.
Various MoI code is not formatted this way.
Wonder if some simple addon to Notepad++ would do such formatting?,
or maybe it would not be worth the effort...?

- Brian

EDITED: 18 Jul 2022 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6951.19 In reply to 6951.18 
Hi Brian, you should be able to have an onclick="" event handler on a <moi:PushButton>. I'll give it a test on your file.

re:
> I cannot get the LogSpiral6b script to run, even if I delete the pushbutton completely,
> so I must have zonked something else?
> Or is there a cache rerunning the older version of the script?

It looks like the zonked thing is you've got the file named _LogSpiral6b.html (note ending l in html) while MoI is expecting it to be named _LogSpiral6b.htm (note just .htm not .html).

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6951.20 In reply to 6951.18 
Hi Brian, sounds like you've got the <moi:PushButton> working ok now?

One other thing to note, if you give a control in the command UI an id="" value then it will automatically generate a UI event of that id value when it is clicked or updated or whatever it does.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.21 In reply to 6951.20 
Thank you Michael.

.html vs htm, my mistake. (I'll blame it on the computer helping me out with extension.)

put " " around 0.306349. (does not seem to matter.)

added missing table closure. ( absence did not seem to matter.)

Script is working good now. PushButton looks nice.

- Brian

ps,
per google search, As of June 2022, it is not possible to disable the popup on Hover of the news/weather, in Windows 11. (Very annoying.)

EDITED: 7 Aug 2022 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.22 In reply to 6951.20 
re:
>One other thing to note, if you give a control in the command UI an id="" value then it will automatically generate a UI event of that id value when it is clicked or updated or whatever it does.

So in another situation, PushButton could feed a value into the .js file?

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.23 In reply to 6951.22 
I should rename the PushButton "Restore Golden Spiral"

- Brian
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
6951.24 In reply to 6951.22 
Hi Brian,

re:
> So in another situation, PushButton could feed a value into the .js file?

Yup! Usually the .js file will have an event loop in it and can respond to the event triggered by the button.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Larry Fahnoe (FAHNOE)
6951.25 In reply to 6951.23 
The PushButton in LogSpiral7 looks good Brian.

> I should rename the PushButton "Restore Golden Spiral"

I'd suggest that it simply say "Golden Spiral" as it is now a clear UI element whose function is to reset the Grow_Shrink to the proper value to produce the Golden Spiral.

On edit:

The help text "To revert to the default Golden Spiral, Click on the box: Click for Golden Spiral." might be simplified to "Click the Golden Spiral button to revert to the Golden Spiral."

--Larry

EDITED: 19 Jul 2022 by FAHNOE

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.26 
Version 8 of LogSpiral.

As per Larry, renamed pushbutton and changed help text.

Changed color of pushbutton text to html darkgoldenrod.

- Brian

EDITED: 7 Aug 2022 by BEMFARMER

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Larry Fahnoe (FAHNOE)
6951.27 In reply to 6951.26 
Looks good Brian & again, a neat script!

--Larry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  bemfarmer
6951.28 
"Final" update to LogSpiral scripts. This would be version9, but I removed the version number.
Got rid of darkgoldenrod color.
Added elastica style centerPlane1 Frame, so the LogSpiral will form in any of the seven MoI Views, parallel to it's axis grid, including previously set CPlane Frame.

If user has an old LogSpiral script in a commands folder that the user wishes to keep, suggest renaming it LogSpiralOLD.

Thought about getting rid of underline, but did not.

- Brian
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Larry Fahnoe (FAHNOE)
6951.29 In reply to 6951.28 
Looks good Brian, neat to be able to use any view as well, thanks!

--Larry
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages:  1-10  11-29