Pagina 1 van 1

Ringsegment

Geplaatst: 22 jun 2019, 20:26
door Simotion
Veronderstel, je hebt een ringsegment : de ring is het verschil van een 'grote' cirkel en een 'kleine' cirkel (die eenzelfde middelpunt hebben).
Hieruit wordt een segment genomen, dit ligt tussen twee stralen van de cirkel (de stralen lopen natuurlijk door het middelpunt van de twee concentrische cirkels). In de praktijk zal de hoek tussen de twee stralen kleiner zijn dan 90°.
In mijn originele applicatie werd voor het ringsegment de straal van de kleine en de grote cirkel opgegeven (afstand tot middelpunt cirkels) en ook de hoek tussen de twee stralen die 'het segment uitsnijden uit de ring'. Daarmee is de vorm in feite bepaald. Door een aanpassing in de applicatie zal men nu wel nog de afstanden van de grote en kleine cirkel tot hun middelpunt doorgegeven, maar niet meer de hoek van de stralen die het segment uitsnijden. Wel zal men de breedte en de hoogte van de omschrijvende rechthoek doorgeven. Dit is de kleinste rechthoek waarin het ringsegment zou passen.
Is er een mogelijkheid om vertrekkende van de hoogte en de breedte van de omschrijvende rechthoek en de breedte van de ring (verschil straal twee cirkels) terug te rekenen naar de hoek van het ringsegment (omdat die nu niet meer doorgegeven wordt door de bovenliggende applicatie)?

Alvast bedankt voor mogelijke tips.

Re: Ringsegment

Geplaatst: 23 jun 2019, 13:05
door arie
Afbeelding

In bovenstaand plaatje zijn:
L = de horizontale zijde van de rechthoek
B = de verticale zijde van de rechthoek
t = de dikte van de ring
Deze 3 zijn gegeven.

In blauw de sector van de grote cirkel, met koordelengte c = de lengte van L.
Definieer de hoek \(\varphi = \frac{\theta}{2}\) = de halve sectorhoek, en
h = de segmenthoogte van deze sector, waarvoor geldt:
\(h = R - R \cos \varphi\)
(zie https://en.wikipedia.org/wiki/Circular_segment).

Dan is

\(B = h + t\cdot \cos \varphi \)

ofwel

\(B = R - R \cos \varphi + t \cos \varphi\)

ofwel

\(B = R - (R - t) \cos \varphi\)


Verder is \(R \sin \varphi = \frac{L}{2}\), dus \(R = \frac{L}{2 \sin \varphi}\) en krijgen we:

\(B = \frac{L}{2 \sin \varphi} - \left( \frac{L}{2 \sin \varphi} - t\right) \cos \varphi \)

ofwel

\(2B \sin \varphi = L - \left( L - 2t \sin \varphi\right) \cos \varphi \)

ofwel

\(2B \sin \varphi = L - \left( L - 2t \sin \varphi\right) \sqrt{ 1 - \sin^2 \varphi }\)

met B, L en t bekend, dus kunnen we \(\sin \varphi\) numeriek hieruit oplossen.
Dan volgt daaruit de R en \(\theta\) die je zoekt.

Als je wil kan je bovenstaand resultaat nog omzetten naar een derdegraads vergelijking:
noem \(x = \sin \varphi\), dan krijgen we:

\(4t^2x^3 - 4tLx^2 + (4B^2-4t^2+L^2)x + (4tL - 4BL) = 0\)

en deze moet een oplossing geven voor \(0 < x < 1\).

Mocht je programmeeromgeving geen solve-functie hebben, kan je ook de numerieke oplossing vinden via
de halveringsmethode (zie https://nl.wikipedia.org/wiki/Halveringsmethode).
Per 10 halveringen wordt de benaderingsfout van je antwoord hiermee zo'n factor 1000 kleiner.


Voorbeeld:
In bovenstaand plaatje is
L = 6
B = 2
t = 1.25
Dit geeft in onze formule:

\(2\cdot 2 \sin \varphi = 6 - \left( 6 - 2\cdot 1.25 \sin \varphi\right) \sqrt{ 1 - \sin^2 \varphi }\)

ofwel

\(6 - 4 \sin \varphi - \left( 6 - 2.5 \sin \varphi\right) \sqrt{ 1 - \sin^2 \varphi } = 0\)

Numeriek benaderen levert:

\(\sin \varphi = 0.6000\)

dus

\(R = \frac{L}{2 \sin \varphi} = \frac{6}{1.2000} = 5.0000\)

en

\(\varphi = \arcsin (0.6000) = 36.869897645844...^\circ \)

en sectorhoek \(\theta = 2 \varphi = 73.739795291688...^\circ\)


Kom je hiermee verder?

Re: Ringsegment

Geplaatst: 23 jun 2019, 17:33
door Simotion
Alvast bedankt hiervoor.
Ik bekijk of ik hiermee alles kan oplossen.