webForumDet fria alternativet

Varför blir värdet för stort?

2 svar · 208 visningar · startad av pettsson

pettssonMedlem sedan jan. 20021 122 inlägg
#1

Jag ska beräkna två värden, tempX och tempY, som beror av x och y. Jag använder denna kod för att sätta tempX och tempY:

tempX = swid * ( (x - xmin) / (xmax - xmin));
tempY = shei * ( (y - ymin) / (ymax - ymin));

Där swid och shei är skärmbredd och skärmhöjd respektive, xmin och ymin är negativa double, xmax är positiva doubles. Av någon anledning fortsätter tempY att öka tills det är 10 ggr större än shei. Varför? :q

temp variablerna sätts i varsin for-slinga, med denna kod

for (x = xmin; x <= swid; x += (xmax - xmin) / swid) {
   for (y = ymin; y <= shei; y += (ymax - ymin) / shei) {
   }
}

Förstår inte att det inte fungerar :(

PeWMedlem sedan juni 200010 432 inlägg
#2

Av någon anledning fortsätter tempY att öka tills det är 10 ggr större än shei. Varför?

Jag vet inte vad det är du vill göra, men om ymin är negativt värde och

tempY = shei * ( (y - ymin) / (ymax - ymin));

så blir det ju detsamma som

tempY = shei * ( (y + ymin) / (ymax + ymin));
pettssonMedlem sedan jan. 20021 122 inlägg
#3

Jag vet inte riktigt varför det inte funkade, men det gjorde det efter ett tag igen... Skummt :OO

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)