Javascript
canvas
HTML5
canvas
Børre Stenseth
biblioteker > KineticsJS >Casteljau

De Casteljau

Hva

Casteljau algoritmen [1] tar utgangspunkt i en lineær Bezier funksjon og anvender denne til å dele opp linjene mellom kontrollpunktene.

Flytt de blå kontrollpunktene og dra tallet nederst for å endre t. Den røde sirkelen viser det punktet som beregnes for en gitt t og de 4 kontrollpunktene,

P(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3
1
P(t)=(1-t)P0+tP1 
	
2
  
A(t)=(1-t)P0+tP1
B(t)=(1-t)P1+tP2
P(t)=(1-t)A(t)+tB(t)
P(t)=(1-t)2P0+2t(1-t)P1+t2P2
	
1
A(t)=(1-t)P0+tP1
B(t)=(1-t)P1+tP2
C(t)=(1-t)P2+tP3
D(t)=(1-t)A(t)+tB(t)
E(t)=(1-t)B(t)+tC(t)
P(t)=(1-t)D(t)+tE(t)
P(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3

Javascriptet som lastes når siden er lastet og drar det hele er slik:

_test3.js

Du kan teste og inspisere koden på en enklere webside:
test3.html https://borres.hiof.no/wep/can/kincast/test3.html

Referanser
  1. De Casteljau's algorithm Wikipedia en.wikipedia.org/wiki/De_Casteljau%27s_algorithm 02-04-2014
biblioteker > KineticsJS >Casteljau