[wiskunde] Verschillende afmetingen, zelfde plaats
Hallo,
ik geraak niet uit volgende probleem uit, steeds kloppen de uitkomsten niet. Ik heb al een heel blad volgeschreven maar het heeft niet gewerkt.
ik heb in mijn databank volgende gegevens staan
- img height (800)
- img width (1000)
- div top (300)
- div left (400)
- div height (200)
- div width (200)
Dan krijg je een vierkant in het midden (die div). Nu wil ik de div variabels herberekenen maar dat de positie dezelfde blijft (er wordt rekening gehouden met de aspect ration van de img)
dan heb ik (voor de gemakkelijkheid is het nu X 2 maar dat is niet altijd )
- img height (1600)
- img width (2000)
- div top (A=?)
- div left (B=?)
- div height (C=?)
- div width (D=?)
Hoe kan ik deze vraagtekens wiskundig oplossen?
Als het gemakkelijk is, sorry ik ben geen rekenwonder. Ik krijg het al 2 jaar niet meer op school en dan vergeet je al snel wat je niet vaak nodig hebt.
Alvast bedankt
ik geraak niet uit volgende probleem uit, steeds kloppen de uitkomsten niet. Ik heb al een heel blad volgeschreven maar het heeft niet gewerkt.
ik heb in mijn databank volgende gegevens staan
- img height (800)
- img width (1000)
- div top (300)
- div left (400)
- div height (200)
- div width (200)
Dan krijg je een vierkant in het midden (die div). Nu wil ik de div variabels herberekenen maar dat de positie dezelfde blijft (er wordt rekening gehouden met de aspect ration van de img)
dan heb ik (voor de gemakkelijkheid is het nu X 2 maar dat is niet altijd )
- img height (1600)
- img width (2000)
- div top (A=?)
- div left (B=?)
- div height (C=?)
- div width (D=?)
Hoe kan ik deze vraagtekens wiskundig oplossen?
Als het gemakkelijk is, sorry ik ben geen rekenwonder. Ik krijg het al 2 jaar niet meer op school en dan vergeet je al snel wat je niet vaak nodig hebt.
Alvast bedankt
Gewoon alles met dezelfde factor vermenigvuldigen:
factor = imgHeight1/imgHeight.0 = 1600 / 800 = 2
divTop1 = divTop.0 * factor = 300 * 2 = 600
divLeft1 = divLeft.0 * factor = 400 * 2 = 800
divHeight1 = divHeight.0 * factor = 200 * 2 = 400
divWidth1 = divHeight = 400
Om hier een beetje mee te spelen en te bewijzen heb ik een Geogebra aangemaakt voor dit probleem: http://ggbtu.be/mt93JBrPV
factor = imgHeight1/imgHeight.0 = 1600 / 800 = 2
divTop1 = divTop.0 * factor = 300 * 2 = 600
divLeft1 = divLeft.0 * factor = 400 * 2 = 800
divHeight1 = divHeight.0 * factor = 200 * 2 = 400
divWidth1 = divHeight = 400
Om hier een beetje mee te spelen en te bewijzen heb ik een Geogebra aangemaakt voor dit probleem: http://ggbtu.be/mt93JBrPV
Gewijzigd op 30/10/2014 00:44:56 door Wouter J
Je zult sowieso één variabele moeten bepalen die je gaat vaststellen. Als je geen van de 4 weet kun je nooit aan de andere 3 komen. Toch in ieder geval niet met een wisselende factor.
Indien de factor inderdaad altijd bekend is dan kan het op de manier die Wouter hierboven omschrijft.
Indien de factor inderdaad altijd bekend is dan kan het op de manier die Wouter hierboven omschrijft.
Om het op een andere manier in te steken:
divTop = (imgHeight - divHeight) / 2;
divLeft = (imgWidth - divWidth) / 2;
In de oorspronkelijke post staat overigens niet wat er met de hoogte en breedte van de div moet gebeuren als de img andere afmetingen krijgt: moet de div even groot blijven, of moet hij meeschalen? Dat maakt dat het niet mogelijk is om iets zinnigs te zeggen over divHeight en divWidth.
divTop = (imgHeight - divHeight) / 2;
divLeft = (imgWidth - divWidth) / 2;
In de oorspronkelijke post staat overigens niet wat er met de hoogte en breedte van de div moet gebeuren als de img andere afmetingen krijgt: moet de div even groot blijven, of moet hij meeschalen? Dat maakt dat het niet mogelijk is om iets zinnigs te zeggen over divHeight en divWidth.
Gewijzigd op 30/10/2014 16:11:36 door Willem vp
@Wouter, @peter & @willem
Heel erg bedankt maar ik vrees dat het niet gaat werken vanwege de "divWidth1 = divHeight = 400".
de div is niet perse een vierkant. Deze kan ook rechthoekig van vorom zijn. De bedoeling is dat hij meeschaalt.
Als de div over een bloempot zit en de foto zijn afmetingen veranderen (grote of kleiner) dan moet de div nog steeds op dezelfde plaats over de bloempot zitten.
Heel erg bedankt maar ik vrees dat het niet gaat werken vanwege de "divWidth1 = divHeight = 400".
de div is niet perse een vierkant. Deze kan ook rechthoekig van vorom zijn. De bedoeling is dat hij meeschaalt.
Als de div over een bloempot zit en de foto zijn afmetingen veranderen (grote of kleiner) dan moet de div nog steeds op dezelfde plaats over de bloempot zitten.
> Heel erg bedankt maar ik vrees dat het niet gaat werken vanwege de "divWidth1 = divHeight = 400".
Als je de berekeningen gebruikt die ik noemde, zou het in principe altijd goed moeten gaan. Als imgHeight 1.5x zo groot wordt, moet je divHeight ook 1.5x zo groot maken en uit de berekening rolt dan de juiste divTop.
Als je de berekeningen gebruikt die ik noemde, zou het in principe altijd goed moeten gaan. Als imgHeight 1.5x zo groot wordt, moet je divHeight ook 1.5x zo groot maken en uit de berekening rolt dan de juiste divTop.
ik bedoel dat als de width en de height niet altijd dezelfde zijn, hierdoor kan ik dit stuk dus niet gebruiken wat altijd een vierkant zal geven ookal is de bron een driehoek vierkant ;)
Gewijzigd op 30/10/2014 22:31:54 door php knipper
Huh? Waar komt die driehoek nou ineens vandaan?
Maar zelfs dan moet het nog werken.
Maar zelfs dan moet het nog werken.
sorry was verstrooit




