Een parabool draaien

Moderator: Moderators

Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12034
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Een parabool draaien

Bericht door hugo stoutjesdijk »

6478
Heb even 2 parabolen en een halve ellips in een plaatje gezet.
Die witte is de funktie Z=0.25*X*X, wordt die 625 mm lang op een diameter van 100 :oops:
Die rode is een parabool met de funktie Z=X*X/39.61957 maar de vorm is wat puntig.
De groene is een halve ellips.

Laat iedereen zijn eigen conclusie maar trekken. :mrgreen:
Tip: test altijd je voorbeeldprogrammatjes voordat je te snel reageert. Als dat door omstandigheden niet mogelijk is, op z'n minst even een controle berekeningetje uitvoeren.

Mensen welke over de drempel heen geholpen moeten worden hebben er niets aan als ze met wat moeilijke formules het bos in gestuurd worden.

Geef nu zelf toe: G0 X#1 Z#2 is niet echt dat je zegt, zo makkelijk leesbaar.

En mezelf, is het me eindelijk gelukt een plaatje in m'n verhaal te krijgen. :lol:
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Rieks
Berichten: 21
Lid geworden op: 27 nov 2007 16:01
Locatie: Emmen

Re: Een parabool draaien

Bericht door Rieks »

Hallo Kees (audiomanics)

Begrijp wat je bedoeld, heb indertijd, 50 jaar geleden, wel die zelfde opleiding gedaan.
Daarna nog opleiding in besturings technieken behorende bij mijn avatar, en vandaar ook
mijn belangstelling voor CNC machines e.d.

Rieks
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13462
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Een parabool draaien

Bericht door Arie Kabaalstra »

Zolang geleden was mijn opleiding dan weer niet.. en dat je ongeveer 25 jaar geleden met Basic gewerkt hebt.. kan kloppen.. ik ook.. eerder waren die Commodore computertjes niet te koop.. :lol:

wat heb ik een bak plezier gehad van dat ding..

Maar.. even terug naar de Code voor een parabool.. :P

Code: Selecteer alles

#1=30
#3=0.04	
WHILE[#1>0]
#2=[#3*[#1*#1]-0.5]
G0 Z2
G0x#1
G01Z-#2F500
G01G91X1
G90
G01Z2
#1=[#1-1]
ENDWHILE

#1=0
G0Z2
G0x0
G1Z0
WHILE [#1<30]
#2=[#3*[#1*#1]]
G1X#1z-#2
#1=[#1+0.1]
ENDWHILE
de derde regel luidt: #2=[#3*[#1*#1]],een tweedegraadsfunctie waarin geldt dat #1 de X waarde is.. en #2 de Z-waarde.. het verband tussen die twee zit em in het kwadraat van #1... hier geschreven als #1*#1...
#3 is een "schaalfactor waarmee je de vorm van de parabool kunt beinvloeden..

als je deze code als programmaatje opslaat, en en afloopt in USBCNC.. dan krijg je dit:

Afbeelding

Ik kan tenslotte wel roepen dat ik het kan.. maar dan moet je het laten zien ook.. :)
'k had alleen gehoopt dat mijn eerste reactie "makkie" anderen getriggerd zou hebben om bovenstaand stukje code zelf eens inmekaar te flanzen..
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: Een parabool draaien

Bericht door audiomanics »

Petje af!
6488

Kees
Laatst gewijzigd door audiomanics op 23 dec 2012 13:56, 1 keer totaal gewijzigd.
<klik>... euh..test... 123.... einde test... uit.<klik>
Gebruikersavatar
Rieks
Berichten: 21
Lid geworden op: 27 nov 2007 16:01
Locatie: Emmen

Re: Een parabool draaien

Bericht door Rieks »

Arie,
Ook van mij petje af, :!: :!: mooi dat je dit soort programmatjes zomaar uit je mouw kunt schudden.
Ikzelf ben gestopt met me daar druk over te maken toen ik vastliep met "Pascal", en voornamelijk
omdat ik niet erg goed ben in het bedenken van iets nieuws.
Ik ben beter in het vinden van oplossingen voor problemen die door ontwerpers worden veroorzaakt.
Ik heb mijn hele werkzame leven besteed aan het aan de praat te krijgen van dingen die anderen hadden gemaakt, en door weer anderen waren stukgemaakt.

Rieks
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: Een parabool draaien

Bericht door audiomanics »

Rieks schreef:Ik ben beter in het vinden van oplossingen voor problemen
Dan zou programmeren juist iets zijn voor jou!.
Het belangrijkste dat je moet hebben om te programmeren is: Een Probleem!
Eerst schoorvoetend en met een omweg los je dan zo'n probleem op (of niet..)
Tot je ontdekt dat er ook nog andere snellere of elegantere mogelijkheden zijn.. Maar het begint altijd met een probleem..
Dan is 't verder een kwestie van: Doen!

(ik heb te weinig problemen om me er nog in te gaan verdiepen ;-) )

Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13462
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Een parabool draaien

Bericht door Arie Kabaalstra »

zo nieuw is een tweedegraadsfunctie niet. :lol:

wat ik op de LTS met potlood op papier zette..dat doe ik nu met een CNC machine.. de logica erachter blijft hetzelfde..
Ik zou hetzelfde grapje net zo eenvoudig kunnen doen met een eerstegraadsfunctie om vectoren te interpoleren.
éérst met stapjes, en dan de lijn volgen ( maar dat kun je dan doen van start naar eindpunt.. met een G01

'the beautypart is.. CNC besturingen doe het niet anders.. als je een dialoogbesturing hebt waar je een schuine kant mee kan draaien.. dan is de hierboven beschreven routine precies datgene wat er in de besturing zit.. :roll:

Pascal?.. Heb ik ook nog in geprogrammeerd.. kreeg het op de middelbare school.. niet veel mee gedaan.. maar het was wel een leuk vak..
PaulBng
Berichten: 409
Lid geworden op: 02 dec 2011 18:54
Locatie: Leiden
Contacteer:

Re: Een parabool draaien

Bericht door PaulBng »

Ik heb ook in legio talen geprogrameerd. Maar hoe "lager" de taal hoe leuker en hoe groter de uitdaging.
Daarom is G-code wel leuk. Een paar registers en zoek het maar uit :mrgreen: lijkt een beetje op de machine taal uit het tijdperk van de commodore en BBC machines. 64K geheugen :)
Heb nu al zin om een macro te bouwen voor werkstuk-nulpunt-bepaling...
Gewoon omdat ik wil weten of het kan...
zeeschuim

Re: Een parabool draaien

Bericht door zeeschuim »

indrukwekkend en intrigerend!
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13462
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Een parabool draaien

Bericht door Arie Kabaalstra »

Paul,

het mooie met lagere talen is, dat je beperkt lijkt te zijn door de taal, maar dat je veel eenvoudiger oplossingen kan vinden voor bepaalde problemen.. omdat er niet zoveel keuze is..
Ik programmeer het meeste in Visual G++, een eigen implementatie van de G-code van USBCNC, met een vastgelegde Syntaxis waardoor ik met cyclusdefinities kan werken.. en in Visual Basic.
Ik weet niet hoe het met parametrisch programmeren in andere besturingen is. maar met USBCNC kan ik inmiddels lezen en schrijven.. Pascal heb ik sinds de MTS niet meer in geschreven... en ik wil graag nog eens C++ gaan leren..
keesk
Donateur
Berichten: 216
Lid geworden op: 16 aug 2008 18:44
Locatie: Weerdinge (bij MM)

Re: Een parabool draaien

Bericht door keesk »

Indrukwekkend! Wat doe je als wiskunde-dislect om dat parabool programma van Arie om te bouwen zodat het ook schuine kanten en een bol draait? Volgens mij zit het in de regel met
#2=[#3*[#1*#1]-0.5]
Ik ben nog uit de tijd dat er over functies (eerste en weet ik veel hoeveelste) niet werd gesproken, of ik heb niet goed opgelet! Kan iemand mij uitleggen hoe ik b.v. een functie opstel voor een schuine kant met op te geven hoek?

Bij voorbaat dank!
Keesk
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13462
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Een parabool draaien

Bericht door Arie Kabaalstra »

Kees,

Ja, in die regel zit het.. zo'n dislect ben je dus niet.. :lol:
wat je dus nodig hebt is een formuletje dat per dieptestap (X) een Z-positie "uitspuugt" .
Een schuine kant, bewerk je voor als een trapje.. dus je begint bijvoorbeeld met een asje van 20 en er moet een 45° kantje aan van 3 mm.. dan ga je op 20 mm 3 mm diep.. en op 14 mm 0 mm diep.. dat zijn je begin en eind punten..

wat je dus moet hebben is dat formuletje dat op X19: Z-2.5 uitspuugt, op X18: Z-2 enzovoort..
de meest eenvoudige manier van interpoleren van zo'n schuin kantje is een "vector".. zoveel X , zoveel Z.. dat is makkelijk in een formule te frotten..
als je een hoek wilt ingeven.. dan moet je dus de Z posities gaan berekenen met Goniometrische functies. klinkt heel spannend.. maar dat is het ook..niet..
Wie kent em nog.. de "eenheidscirkel"...

http://nl.wikipedia.org/wiki/Eenheidscirkel

(weten jullie meteen hoe ik die bol heb geflikt.. zo simpel is het.. meer niet.. echt niet

Alleen staan in dit voorbeeldje de Sinus en Cosinus aangegeven.. maar.. als je de lengte van het lijnstukop de X as gelijk wilt houden.. dan is de staande zijde van de driehoek dus tangentiaal aan de cirkel.. dat bereken je dus met de Tangens.. waarvan akte..

Ik zou zeggen.. neem een driehoekje waar je de lengtes wel een beetje van kent.. en gooi eens wat maten in de calculator.. en zie wat er uit rolt..
Wat ik veel doe, om te zien of mijn rekensommetjes kloppen is de waarden die uit mijn calculator komen in een Cad pakket tekenen.. kan ik er dan de gewenste lijn doorheen trekken.. dan weet ik dat ik goed zit..
of.. ik teken wat ik wil hebben.. en dan ga ik na het berekenen kijken of de coordinaten in de tekening overeen komen met wat er op mijn casiootje staat..

Ik zal binnenkort eens kijken of ik voor schuine kantjes een simpel algortime in elkaar kan verzinnen.. soms is het veeeeel eenvoudiger dan je denkt.. ( ik heb ooit een afronding gedraaid met een programma dat rekende met de stelling van Pythagoras..inderdaad... een reeks driehoeken, om posities op een cirkel te bepalen.. kijk maar goed naar die eenheidscirkel.. en vertel me maar als je't ziet! )
keesk
Donateur
Berichten: 216
Lid geworden op: 16 aug 2008 18:44
Locatie: Weerdinge (bij MM)

Re: Een parabool draaien

Bericht door keesk »

Ik ben maar even met Inventor aan de slag gegaan en heb getekend wat ik denk dat er moet gebeuren.
Ik heb een cirkel met een kleine toeslag getekend en de snijpunten van de X-as met de cirkel een maat gegeven.
Hoe krijg ik dat (en straks een schuine kant) nou in een formule Arie?
6908
Keesk
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13462
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Een parabool draaien

Bericht door Arie Kabaalstra »

je bent op de goede weg.. ik ga eerst even sporten.. dan kom ik er even op terug..

zo'n programmaatje is heel makkelijk als je em eenmaal hebt.. maar voor je zover bent.. :lol:
Plaats reactie