gplot potpowierzchnie


Rysowanie wykresów 3D z wykorzystaniem gnuplota
Bogdan Kreczmer
ZPCiR ICT PWr
pokój 307 budynek C3
kreczmer@ict.pwr.wroc.pl
Copyright ©2004 Bogdan Kreczmer
Niniejszy dokument zawiera materiały do wykładu na temat wizualizacji danych sensorycznych. Jest on udostępiony
pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości,
razem z ninijeszą stroną tytułową.
Metoda pola potencjału


Y


10


x - 5 = 0








Obszar zajety


l




5








przez przeszkode






X




10

O
5






Ogólna postać funkcji potencjału liczonej względem prostej:
1
Pl(x,y) =
ax + bx + c + |ax + bx + c| + 1
Postać funkcji potencjału dla rozważanego przypadku:
1
Pl(x,y) =
x - 5 + |x + 5| + 1
1
Rysowanie powierzchni
1
x-5+|x-5|+1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
10
-5
5
0
0
5
set xzeroaxis lt 1 lw 2
-5
10
15 -10
set yzeroaxis lt 1 lw 2
set zeroaxis lt 1 lw 2
set xrange [-5:15]
set yrange [-5:15]
set hidden3d
set view 50, 40
PotL(x,y,a,b,c) = 1/(a*x+b*y+c + abs(a*x+b*y+c) + 1)
splot PotL(x,y,1,0,-5) notitle
pause -1
2
Metoda pola potencjału


Y


10




Obszar zajety


x - 5 = 0


przez przeszkode




l1




5


-y - 5 = 0
l2
X
10
O
5
Ogólna postać funkcji potencjału liczonej względem dwóch prostych:
P(x,y) = min(Pl1(x,y),(Pl2(x,y))
Postać funkcji potencjału dla rozważanego przypadku:
1 1
P(x,y) = min( , )
x - 5 + |x + 5| + 1 y - 5 + |y + 5| + 1
3
Rysowanie powierzchni
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
15
-5
10
0
5
5
set xzeroaxis lt 1 lw 2
0
10
15 -5
set yzeroaxis lt 1 lw 2
set zeroaxis lt 1 lw 2
set xrange [-5:15]
set yrange [-5:15]
set hidden3d
set view 50, 40
min(x,y) = x < y ? x : y
PotL(x,y,a,b,c) = 1/(a*x+b*y+c + abs(a*x+b*y+c) + 1)
splot min(PotL(x,y,1,0,-5),PotL(x,y,0,-1,5))notitle
pause -1
4
Rysowanie poziomic
15
0.9
0.8
0.7
0.6
0.5
10
0.4
0.3
0.2
0.1
5
0
set xzeroaxis lt 1 lw 2
-5
set yzeroaxis lt 1 lw 2
-5 0 5 10 15
set zeroaxis lt 1 lw 2
set xrange [-5:15]
set yrange [-5:15]
set view 0, 0
set nosurface
set contour
set size 1, 1.3
min(x,y) = x < y ? x : y
PotL(x,y,a,b,c) = 1/(a*x+b*y+c + abs(a*x+b*y+c) + 1)
splot min(PotL(x,y,1,0,-5),PotL(x,y,0,-1,5))notitle
pause -1
5
Metoda pola potencjału
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
15
-5
10
0
5
5
0
10
15 -5
Ogólna postać funkcji potencjału liczonej dla czworoboku:
P(x,y) = min(Pl1(x,y),(Pl2(x,y),Pl3(x,y),(Pl4(x,y))
Ogólna postać funkcji potencjału liczonej dla wieloboku:
P(x,y) = min(Pl1(x,y),(Pl2(x,y),...,(Pln(x,y))
6
Rysowanie powierzchni
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
15
-5
10
0
set xzeroaxis lt 1 lw 2 5
5
0
10
set yzeroaxis lt 1 lw 2
15 -5
set zeroaxis lt 1 lw 2
set xrange [-5:15]
set yrange [-5:15]
set hidden3d
set view 50, 40
min(x,y) = x < y ? x : y
PotL(x,y,a,b,c) = 1/(a*x+b*y+c + abs(a*x+b*y+c) + 1)
splot min(min(min(PLine(x,y,1,0,-5),PLine(x,y,0,-1,5)),\
PLine(x,y,-1,0,-1)),PLine(x,y,0,1,-10))notitle
pause -1
7
Rysowanie poziomic
15
0.9
0.8
0.7
0.6
0.5
10
0.4
0.3
0.2
0.1
5
0
set xzeroaxis lt 1 lw 2
set yzeroaxis lt 1 lw 2
-5
set zeroaxis lt 1 lw 2
-5 0 5 10 15
set xrange [-5:15]
set yrange [-5:15]
set view 0, 0
set nosurface
set contour
set size 1, 1.3
min(x,y) = x < y ? x : y
PotL(x,y,a,b,c) = 1/(a*x+b*y+c + abs(a*x+b*y+c) + 1)
splot min(min(min(PLine(x,y,1,0,-5),PLine(x,y,0,-1,5)),\
PLine(x,y,-1,0,-1)),PLine(x,y,0,1,-10))notitle
pause -1
8
Metoda pola potencjału
Y
l8
y - 10 = 0
10








l5
P
P


2 x - 10 = 0
1








l6
5
-y - 6 = 0
l7
-x - 8 = 0
X
10
O
5
Ogólna postać funkcji potencjału liczonej dla całej sceny:
n
P(x,y) =
i
"P(x,y)
i=1
9
Rysowanie powierzchni
1.2
1
0.8
0.6
0.4
0.2
0
15
-5
10
0
5
5
0
10
15 -5
15
1
0.8
0.6
0.4
0.2
10
5
0
-5
-5 0 5 10 15
10
Metoda pola potencjału
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
15
-5
10
0
5
5
0
10
15 -5
Funkcja potencjału dla punktu docelowego:
k
PCel(x,y) = -
(xCel - x)2 + (yCel - y)2 + 1
Ogólna postać funkcji potencjału liczonej dla całej sceny i punktu docelowego:
n
P(x,y) = PCel(x,y) +
i
"P(x,y)
i=1
11


Wyszukiwarka