webForumDet fria alternativet

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

Java

2 svar · 208 visningar · startad av pettsson

Medlem sedan jan. 20021 122 inlägg
Frågan#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 :(

Medlem 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));
Medlem 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

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)