# Difference between revisions of "Rose"

From JSXGraph Wiki

Jump to navigationJump to searchA WASSERMANN (talk | contribs) (New page: ===Other curves=== A '''rose''' or '''rhodonea curve''' is a sinusoid plotted in polar coordinates. Up to similarity, these curves can all be expressed by a polar equation of the form :<m...) |
A WASSERMANN (talk | contribs) |
||

Line 40: | Line 40: | ||

===External links=== | ===External links=== | ||

− | * [http://en.wikipedia.org/wiki/Rose_(mathematics)] | + | * [http://en.wikipedia.org/wiki/Rose_(mathematics) http://en.wikipedia.org/wiki/Rose_(mathematics)] |

− | * [http://en.wikipedia.org/wiki/Quadrifolium] | + | * [http://en.wikipedia.org/wiki/Quadrifolium http://en.wikipedia.org/wiki/Quadrifolium] |

[[Category:Examples]] | [[Category:Examples]] | ||

[[Category:Curves]] | [[Category:Curves]] |

## Revision as of 17:23, 18 March 2009

### Other curves

A **rose** or **rhodonea curve** is a sinusoid plotted in polar coordinates. Up to similarity, these curves can all be expressed by a polar equation of the form

- [math] \!\,r=\cos(k\theta).[/math]

If k is an integer, the curve will be rose shaped with

- 2k petals if k is even, and
- k petals if k is odd.

When k is even, the entire graph of the rose will be traced out exactly once when the value of θ changes from 0 to 2π. When k is odd, this will happen on the interval between 0 and π. (More generally, this will happen on any interval of length [math]2\pi[/math] for [math]k[/math] even, and [math]\pi[/math] for [math]k[/math] odd.)

The **quadrifolium** is a type of rose curve with n=2. It has polar equation:

- [math] r = \cos(2\theta), \,[/math]

with corresponding algebraic equation

- [math] (x^2+y^2)^3 = (x^2-y^2)^2. \, [/math]

### The JavaScript code to produce this picture

```
<jsxgraph width="500" height="500" box="box2">
var b2 = JXG.JSXGraph.initBoard('box2', {axis:true,originX: 250, originY: 250, unitX: 25, unitY: 25});
var f = b2.createElement('slider', [[1,8],[5,8],[0,4,8]]);
var len = b2.createElement('slider', [[1,7],[5,7],[0,2,2]]);
var k = b2.createElement('slider', [[1,6],[5,6],[0,2,10]]);
var c = b2.createElement('curve', [function(phi){return f.Value()*Math.cos(Math.floor(k.Value())*phi); }, [0, 0],0, function(){return len.Value()*Math.PI;}],
{curveType:'polar', strokewidth:2});
</jsxgraph>
```