Beta krivulje
"Beta" krivulje
1. Abstract
2. Uvod
3. Kratek matematicni opis
4. Prakticni prikaz izrisa "beta" krivulj
5. Uporabljena literatura
1. Abstract
Like a B-spline, a "Beta" spline curve or surface
is specified by a set of points called control vertices. Althought these
vertices do not generally lie on the generated curve or surface, their
positions completely determine its shape. The vertices for a curve are
an ordered sequence and are connected in succession to form a control polygon.
The Beta spline basis is a local basis; that is, each Beta spline basis
function has local support.
The Beta spline formulation exploits the piecewise representation, in order
to achieve local control, by defining each piece in terms of only a few nearby
vertices. For Beta spline curves, each curve segment is controlled by only four
of the control vertices and it is completely unaffected by all the other control vertices.
2. Uvod
Beta krivulje so dolocene z nizom tock, ki jih imenujemo kontrolne
tocke. S pomocjo beta zlepkov lahko generiramo povrsino oziroma
krivuljo, katera predstavlja ravninski primer. Na tej spletni strani so
predstavljene osnovne lastnosti beta krivulj
(ravninski primer), katere so zaradi svoje enostavne zgradbe
zelo uporabne. Vhodni parametri so kontrolne tocke, katere
dolocajo neko osnovno konturo dane beta krivulje. Pomembna
lastnost beta krivulj je, da omogocajo lokalno kontrolo (
ena kontrolna tocka vpliva na sosednje stiri segmente) ter
da omogočajo spremembo oblike krivulje samo z dvema parametroma
(parameter "beta1" in "beta2").
3.Kratek matematicni opis
Krivulja je v osnovi razdeljena na
segmente, ki so v bistvu polinomi tretjega reda. Vzdolz segmenta
se spreminja zaloga vrednosti "u[k]", katera je vstopna
vrednost v enacbo krivulje segmenta Q(i,k), ki je v bistvu parametricna
funkcija.
Indeks "i" nakazuje i-ti segment beta krivulje, medtem, ko
indeks "k" označuje k-to vrednost intervala
katerega vrednost se giblje v intervalu od [0,1] z nekim
korakom, od katerega je odvisna natancnost izrisa "beta" krivulje.
Parametra "beta1" in "beta2" sta definirana na naslednji nacin.
Kontrolni poligon je sestavljen iz kontrolnih tock
V(j); j=0,1,2,...,m-1,m. Kontrolnih tock je torej m+1. Vsak
segment je torej kontroliran s stirimi sosednjimi tockami, kar
je definirano z naslednjo vrsto:
Pri spremembi parametra u od 0 do 1 je opisan celotni i - ti segment krivulje.
Utezni faktorji so osnovne skalarne funkcije br(beta1,beta2; u) ,
r = -2,-1,0,1 , ovrednoteni pri doloceni vrednosti parametra u in oblikovnih parametrov
beta1, beta2. S pomocjo parametrov beta1 in beta2 so definirani robni
pogoji med dvema sosednjima segmentoma (Q(i-1,u=1) in Q(i,u=0)).
Na skici je prikazano, kako vpliva sprememba enega ogljisca na spremembo
oblike krivulje (na stiri segmente).
Indeks "i+r" torej doloca ogljisca, katera vplivajo na
segment krivulje Q(i)
4. Prakticni prikaz izrisa "beta" krivulj
Graficni program je napisan v
programskem jeziku "Java", zato je potrebno za brezhibno delovanje programa
imeti novejsi brskalnik (npr. Netscape Navigator, Internet Exploler 3.0...)
, ki podpira Javo.
OPIS DELA PRI UPORABI GRAFICNEGA PROGRAMA ZA IZRIS "BETA KRIVULJ" :
a) S kliki miske na zaslom omogocimo vnose kontrolnih
tock . Program
samodejno poveze kontrolne tocke z daljicami.
b) Z vnosom pete tocke se izrisejo segmenti bete krivulje
c) Stevilo segmentov je za eno manjse od stevila kontrolnih tock
d) Z nadaljnim vnosom tock se izrisujejo tekoci segmenti beta krivulje.
e) S pomocjo dveh vnosnih polj, lahko vnasamo vrednosti parametrov
beta1 in beta2, katera lahko zavzameta poljubno realno stevilo (bodisi
pozitivno oziroma negativno).
f) Parametra beta1 in beta2 lahko spreminjamo tudi na ze izrisani krivulji.
g) S pomocjo gumba "Pocisti" lahko izvedemo dve operaciji:
- s prvim klikom nanj samo prekinemo povezavo med zadnjo izrisajoco se daljico. Ce
zelimo risanje beta krivulje nadaljevati preprosto nadaljujemo z vnosom kontrolnih
tock.
- z drugim klikom nanj dokoncno pocistimo graficni zaslon.
5. Uporabljena literatura
- Computer Graphics and Geometric Modeling Using Beta-splines; Brian A.Barsky
- JAVA, programiranje za internet; Uros Mesojedec (Pasadena,1996)
- JAVA za telebane; Aaron E. Walsh (Pasadena,1996)
- Odkrijte visual cafe; David A. Wall, Arthur Griffith (Atlantis, 1998)
- odlicna spletna stran www.sun.com
Download source
Avtor: Sebastjan Gregorsanec, 3.letnik UNI-KGS
Naslov: Mrtvice 48, 8273 Leskovec, SLOVENIA
Tel:386 (0)608-20-506
e-mail:anton.gregorsanec@guest.arnes.si
[NAVZGOR]