Pagina 1 van 1

Snijpunten cylinder en cirkel

Geplaatst: 13 okt 2010, 20:10
door cor
Ik ben bezig met een soort robot arm en wil graag een formule proberen te vinden waarmee ik de toestand kan doorrekenen.

De robot arm bestaat in feite uit een vertikale as waarlangs een arm kan glijden en draaien. De arm heeft een vaste lengte. Dus het eind punt van de arm ligt altijd op het ronde oppervlak van een cylinder.

Er wordt geeist dat positie van het uiteinde van de arm op een gegeven cirkel ligt. De lijn door het middelpunt van deze cirkel (en loodrecht op de cirkel) loopt evenwijdig aan de as van de cylinder (dus ook vertikaal), of is tot maximaal 45 graden gekanteld ten opzichte van de cylinder.

De cirkel is verder dus danig gepositioneerd dat deze altijd het ronde cylinder vlak op twee punten snijd.
Er zijn dus twee posities van de arm mogelijk waarbij het eindpunt van de arm op de cirkel ligt.

Ik zoek nu een formule die gegeven de cirkel en gegeven de positie van de vertikale as waarlangs de arm omhoog en omlaag beweegt en gegeven de arm lengte, mij de hoogte van de arm, hoek van de arm en het raakpunt aan de cirkel geeft. En dat twee keer omdat er twee oplossingen zijn.

Eigenlijk zoek ik dus een formule die de snijpunten berekend tussen een cylinder oppervlak en een cirkel.

Hoe kan ik dit nu het beste aanpakken?
Hoe kan ik de cirkel het beste omschrijven? Met vectoren? Bijvoorbeeld een vector voor het midden punt, een normaal vector voor het vlak waarop de cirkel zich bevind en de cirkel straal?
Hoe kan ik de cylinder het beste omschrijven? Positie plus straal?
Kan iemand mij in de juiste richting wijzen en misschien wat formules laten zien die van toepassing zijn?

Elke aanwijzing is welkom! Alvast bedankt.

Re: Snijpunten cylinder en cirkel

Geplaatst: 19 okt 2010, 15:43
door cor
Ik heb zelf zitten denken dat ik waarschijnlijk het beste zo snel mogelijk naar een 2D situatie kan gaan.
Dit zou betekenen dat ik de cirdel moet projecteren op een 2D vlak. Dit zal een elips worden neem ik aan.
Dan moet ik snijpunt moet bepalen tussen deze elips en een cirkel (projectie van de cylinder).
Later moet ik dan de hoogte van de arm nog zien te berekenen.

Kan iemand me daar dan misschien mee helpen?

Dus:
- projectie van een cirkel ergens in de 3D ruimte op het XY vlak (word een elips in 2D)
- snijpunten elipse en cirkel in 2D.

Ik ben geen wiskundige dus kan alle hulp gebruiken.
Hoe definieer je bijvoorbeeld een cirkel in 3D en een elipse in 2D?

Re: Snijpunten cylinder en cirkel

Geplaatst: 19 okt 2010, 16:10
door David
Aanzet:
Je schreef:Hoe definieer je bijvoorbeeld een cirkel in 3D en een elipse in 2D?
Ik neem aan dat je naar een definitie in de vorm van een functie zoekt.

Voor een cirkel in 3D (dat zal een bol zijn)
voor een cirkel met middelpunt met straal "r" geldt:


Voor een ellips geldt: (zie afb)
Afbeelding

met "b" is de halve verticale afstand van "dal" (in afb.: (0,-b)) naar "top" (in afb.: (0,b)
en "a" is de halve horizontale afstand van het "linkeruiterste" (in afb.: (-a,0)) naar het "rechteruiterste" (in afb.: (a,0))

Re: Snijpunten cylinder en cirkel

Geplaatst: 19 okt 2010, 18:39
door cor
Bedankt David.

Volgende vraag is dan hoe ik een cirkel (geen bol) in 3D kan projecteren op het XY vlak zodat ik een elips in 2D krijg.

Stel de cirkel is definieerd door:
- middel punt (x, y em z coordinaten)
- een vlak door dit punt (bijvoorbeeld door normaal vector)
- straal van de cirkel
Met deze drie gegevens ligt de cirkel in 3D space vast.
Nu zou ik hier dus een 3D projectie van op het XY vlak willen.

Het middel punt kan ik een voudig projecteren door de Z weg te laten.
Maar hoe krijg ik nu de a en b waardens. Probleempje is ook dat de elips schuin kan staan.

Re: Snijpunten cylinder en cirkel

Geplaatst: 19 okt 2010, 23:04
door David
Ik moet zeggen dat ik niet genoeg weet om je helemaal te kunnen helpen.

De a- en b waarden zou je kunnen krijgen als je de hoek weet van de cirkel ten opzichte van het x,y vlak, zeker als de ellips "recht" staat, of als de coördinaten van de top, het dal, her "linkeruiterste" of het "rechteruiterste" bekend zijn, of als 3 van de 4 genoemde punten bekend zijn.

Als de ellips schuin staat, weet ik niet hoe je de waarden voor a en b kunt vinden. Ik weet ook niet zeker of die er dan zijn.

Misschien dat iemand anders je verder kan helpen.