Rekenhulp gevraagd...

Gewoon even offtopic praten over van alles en nog wat.

Moderator: Moderators

Plaats reactie
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

Hoe bedoel je Hugo,

negatief getal voor wat? Y van waar het doosje moet komen?

nee de x en de y van waar het doosje moet komen zijn beide positief......
begint er op te lijken...:

Code: Selecteer alles

xBoxMid:=to_dint (((1030*cCos30*vScale) + ( 95 *ccos30*vScale))+xoPallet) ;
yBoxMid:=to_dint ((((1030*cSin30*vScale) +(95*cSin30*vScale))) + yoPallet) ;
tekent hij dit:
Afbeelding

het verschalen gaat wel goed... hij blijft hem op de zelfde plek tekenen...

dus Y is nog niet helemaal , want hij ligt nu op de lijn... hij zo iets lager moeten?
Laatst gewijzigd door Swets op 19 jul 2022 00:31, 3 keer totaal gewijzigd.
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door audiomanics »

je hebt een paar plussen en minnen verkeerd staan en voor het gemak en overzicht kun je bij de hoeken ook beter de juiste hoeken hanteren, als is de absolute grootte van zo'n lijnstuk het zelfde..
Om alle "meneer van Dalen wacht op antwoord- en de nieuwe volgorde-problemen uit de wereld te helpen heb ik hier wat overdreven veel haakjes gebruikt..

X = (Px * COS(RADIANS(-30))) + (Py * COS(RADIANS(180+30))) + X0Pallet
Y = (Px * SIN(RADIANS(-30))) +(Py * SIN(RADIANS(180+30))) + Y0Pallet

Als je nu de volgende waarden gebruikt: Px = 1030, Py=90, X0Pallet=100 en Y0Pallet = 1000, dan komt er x = 914 en y= 440 uit.. Dat lijkt me zo op het oog aardig te kloppen..

Als die hoek altijd 30 graden is kun je al die sinussen en cosinussen ook wel vervangen door hun waarde (0,5 en 0,866)
Krijg je dus X = 0,866*Px - 0,866*Py + X0Pallet en Y = Y0Pallet - 0,5*Px - 0,5*Py

Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

xBoxMid:=to_dint (((vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosX*cCos30*vScale) + ( vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosY *ccos30*vScale))+xoPallet) ;
yBoxMid:=to_dint ((((vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosX*cSin30*vScale) +(vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosY*cSin30*vScale))) + yoPallet) ;

ik heb hem nu even 3 punten laten tekenen
x=1030 y=95
x=1056 y=272
x=1056 y=478

en dat geeft dit plaatje:
Afbeelding

dus nu gaat de Y weer de verkeerde kant op...

JA en dat het ergens een min is... of sin of cos dat snap ik ook....
alleen ik wordt ondertussen echt gek... heb bijna alles gewisseld.... maar ik krijg het maar niet goed...

maar ik vraag me af of dit helemaal wel goed gaat.... want als de X van het doosje nu 0 wordt, of dat hij hem dan ook aan de goed kant van x0,y0 van het pallet tekent?
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

audiomanics schreef:je hebt een paar plussen en minnen verkeerd staan en voor het gemak en overzicht kun je bij de hoeken ook beter de juiste hoeken hanteren, als is de absolute grootte van zo'n
Krijg je dus X = 0,866*Px - 0,866*Py + X0Pallet en Y = Y0Pallet - 0,5*Px - 0,5*Py

Kees
heb dit geprobeerd, maar dan staat de Y weer veel te hoog, weer boven het begin punt van de pallet....

0.0 ( coördinaten van het scherm dus bovenin links 0.0)

800,600 (rechts onderin 800,600)

het is dus in het 3de kwadrant....

dus YoPallet - (0,5*px) - (o,5*px) gaat de verkeerde kant op...
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

hehehe.... het werkt...


en voor wie het nu weten wil:

xBoxMid:=to_dint (((vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosX*cCos30*vScale) - ( vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosY * ccos30 * vScale))+ xoPallet) ;
yBoxMid:=to_dint (((vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosX*cSin30*vScale) + ( vPattern.Layer[vCurrentLayer][vBoxNbr].PlacePosY * cSin30 * vScale))+ yoPallet) ;

maar dit is het geworden....

Allemaal heel erg bedankt!!!

Nu de doosje laten tekenen....
Laatst gewijzigd door Swets op 21 jul 2022 21:20, 2 keer totaal gewijzigd.
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door audiomanics »

Dit was aan de hand van het normale cartesisch stelsel waarbij het nulpunt links onder zit..
In jouw geval moet je dus alle Y waarden inverteren:
Y = Y0Pallet + 0,5*Px + 0,5*Py

Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

audiomanics schreef:Dit was aan de hand van het normale cartesisch stelsel waarbij het nulpunt links onder zit..
In jouw geval moet je dus alle Y waarden inverteren:
Y = Y0Pallet + 0,5*Px + 0,5*Py

Kees
Dat dacht ik al, vandaar dat ik ook even vertelde dat we in het 3d Kwadrant zaten te rommelen...

ik ben blij dat het werkt.... je word wel af en toe gek van die sin en cos en die plus en min...

Maar Nogmaals allemaal heel erg bedankt voor het mee denken....!!!!!!

Wist wel dat hier de slimme mensen zitten.. die ook helpen, met dit soort vragen....
tis voor mij ook 30 jaar geleden dak op school zat...

bedoel de pallet en de Doosjes tekenen eigenlijk op de zelfde manier... en dat is allemaal prima gelukt... kreeg alleen het maar niet voor elkaar die punten op de goede plek te krijgen....
aan de hand van het recept....
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door audiomanics »

Swets schreef: tis voor mij ook 30 jaar geleden dak op school zat..

Nog een jonkie dus..... :lol:

Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

Misschien kunnen jullie nog ff mee denken....

ik moet de doosjes achter vandaan naar voren tekenen...

dus ik moet iets maken, welke uit de array van 50 doosje, welke de kleinste x en de kleinste y heb, die tekenen, en dan zo zeg maar van links naar rechts en van achter naar voren de doosjes tekent....

iemand ideeën?

pfff valt niet mee om nu nog te denken... lol...
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
audiomanics
Donateur
Berichten: 5273
Lid geworden op: 28 feb 2007 09:31
Locatie: Appelscha
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door audiomanics »

Schets eens wat je nu bedoelt... :shock: :roll: :?:
Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

ik heb die array, met daarin x,y van elke doosje....

en nu wil ik uit die array, eerst het doosje zoeken met de kleinste y en de kleinste x.... die tekenen.... dan kijken of er in de x richting nog meer doosjes zijn....ja..die tekenen, nee Y verhogen ...

dus ik wil van de kleinste-x,kleinste-y naar de grootste-y, grootste-x ...

dus van links achter , naar rechts voor gaan tekenen....

en ik weet niet hoe die X,Y waarden in die array staat... dus wil niet zeggen dat die 50 x,y waardens netjes van klein naar groot lopen....

dus ik moet eerst de heel array door om de kleinste Y te zoeken.... want dat zou doosje 15 kunnen zijn......
weet ik dan die Y, moet ik bij die Y waarden gaan zoeken naar de kleinste X....
(deze waarde bewaren, zodat ik bij het volgende doosje kan gaan zoeken, of er nog meer in die y rij zit, zo niet van af die Y gaan zoeken naar de volgende Y, welke dus weer de kleinste is, maar groter als de y die we net gehad hebben....
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 11995
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door hugo stoutjesdijk »

Misschien naar een 2e array kopieren en sorteren?
Zijn het allemaal random X en Y waarden of zit er een systeem in ?
Dan zou je misschien gewoon alle mogelijke posities langs kunnen gaan en alleen diegene die ook in de array te vinden is ook tekenen.

En tot slot, je hoeft toch niet zelf te zoeken, daar heb je je computer toch voor ?
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

kan natuurlijk ook de twee arrays afzoeken....

en een 3de array van 50 maken, met de doosnr, in goede volgorden er in......

en een 3de array vullen , met het doos nummer en dan beginnen zoeken naar de laagste Y....
pff
dus ik zet de start getal Y heel hoog, dan begin ik de Y waarden van de doosjes te lezen, is deze y lager , zat hij het doos nummer bovenaan in de nieuwe array....
lees de volgende doos Y, is deze kleiner, overschijf ik dat doosnr in die nieuwe array....

pff ff denken hoor.... :-)
http://www.arjan-swets.com (met cnc filmpjes)
Gebruikersavatar
Swets
Berichten: 2661
Lid geworden op: 09 feb 2007 21:49
Locatie: krimpen aan den IJssel
Contacteer:

Re: Rekenhulp gevraagd...

Bericht door Swets »

hugo stoutjesdijk schreef:Misschien naar een 2e array kopieren en sorteren?
Zijn het allemaal random X en Y waarden of zit er een systeem in ?
Dan zou je misschien gewoon alle mogelijke posities langs kunnen gaan en alleen diegene die ook in de array te vinden is ook tekenen.

En tot slot, je hoeft toch niet zelf te zoeken, daar heb je je computer toch voor ?
nou er zit normaal wel een volgorde in... steeds een rij, maar dat kan al zijn in de x of in de y richting.... maar dat hoef niet....

een robot gaat die doosje op een pallet zetten... dus normaal gesproken doe je dat netjes... je zet niet eerst de ene hoek neer, en dan de andere hoek.... maar het zou wel kunnen....

dus ik wil echt iets maken, dat het altijd klopt... dus ik ga maar van het rotste uit...

ik denk 3 for-next lussen in elkaar...
eerste van 1 tot 50 om de nieuwe array te vullen
daarin een lus van maxY to MinY
daarin een lus van maxX to MinX


zoiets denk ik...
hugo stoutjesdijk schreef:Misschien naar een 2e array kopieren en sorteren?
Zijn het allemaal random X en Y waarden of zit er een systeem in ?
Dan zou je misschien gewoon alle mogelijke posities langs kunnen gaan en alleen diegene die ook in de array te vinden is ook tekenen.

En tot slot, je hoeft toch niet zelf te zoeken, daar heb je je computer toch voor ?
die zie ik nu pas... ja dat kan ook....
dat is misschien nog makkelijker.....

maak 2 tellers een y en een x.....
zet ze allebij op nul.....
ik kijk in de array, of ik een doos je heb met y0 nee, y+1
net zo lang totdat ik een doosje gevonden heb....
ben ik bij Ymax.. tel ik bij x 1 op....

ja dit ga ik eens proberen.... bedankt Hugo!!!
http://www.arjan-swets.com (met cnc filmpjes)
Plaats reactie