» »

Kubična interpolacija

Kubična interpolacija

Steinkauz ::

Torej za faks mam narest skaliranje slik s kubično interpolacijo pa mam en problem.
Najdu sm eno formulo za zračunat približek.
http://local.wasp.uwa.edu.au/~pbourke/m...
Koda v javi:
	
static int CubicGetValue (int[] p, double x) 
	{
		int a0=  p[3] - p[2] - p[0] + p[1];
		int a1 = p[0] - p[1] - a0;
		int a2 = p[2] - p[0];
		int a3 = p[1];
		return (int)Math.round(a0*x*x*x+a1*x*x+a2*x+a3);
	}


Zdej pa če to kličem
public static void main(String[] args)
	{
		int[] temp = new int[4];
		temp[0]= 1;
		temp[1]= 4;
		temp[2]= 9;
		temp[3]= 16;
		System.out.println(CubicGetValue(temp, 0));  //dobim 4
		System.out.println(CubicGetValue(temp, 0.5));  //dobim 6
		System.out.println(CubicGetValue(temp, 1));  //dobim 9
		System.out.println(CubicGetValue(temp, 1.5));  //dobim 21
		System.out.println(CubicGetValue(temp, 2));  //dobim 48
		System.out.println(CubicGetValue(temp, 2.5));  //dobim 99
		System.out.println(CubicGetValue(temp, 3));  //dobim 181
	}


Ta testni primer sm si zamislu kot da je
temp[0] točka (1,1)
temp[1] točka (2,4)
temp[2] točka (3,9)
temp[3] točka (4,16)

Išče pa se točka x, ki je nekje vmes. X koordinata narašča za 1.

Rezultati pa niso pravilni.
Zakaj?
  • spremenilo: Steinkauz ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[JAVA] HTTPS client

Oddelek: Programiranje
173190 (1920) peterv6i
»

Java skeniranje map in podmap

Oddelek: Programiranje
61164 (1053) nightrage
»

Java metode;

Oddelek: Programiranje
354994 (4186) ragezor
»

[Java]Problem z vektorjem

Oddelek: Programiranje
91477 (1346) KernelPanic
»

[Java] Kako filtrirati, katera števila lahko vpišeš?

Oddelek: Programiranje
182095 (1797) fiction

Več podobnih tem