<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fi">
	<id>https://delta.utu.fi/wiki/index.php?action=history&amp;feed=atom&amp;title=3D-kuvaajat_Gnuplotilla</id>
	<title>3D-kuvaajat Gnuplotilla - Muutoshistoria</title>
	<link rel="self" type="application/atom+xml" href="https://delta.utu.fi/wiki/index.php?action=history&amp;feed=atom&amp;title=3D-kuvaajat_Gnuplotilla"/>
	<link rel="alternate" type="text/html" href="https://delta.utu.fi/wiki/index.php?title=3D-kuvaajat_Gnuplotilla&amp;action=history"/>
	<updated>2026-05-07T19:27:26Z</updated>
	<subtitle>Tämän sivun muutoshistoria</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://delta.utu.fi/wiki/index.php?title=3D-kuvaajat_Gnuplotilla&amp;diff=19942&amp;oldid=prev</id>
		<title>Wh delta: 5 revisions</title>
		<link rel="alternate" type="text/html" href="https://delta.utu.fi/wiki/index.php?title=3D-kuvaajat_Gnuplotilla&amp;diff=19942&amp;oldid=prev"/>
		<updated>2016-01-22T14:00:35Z</updated>

		<summary type="html">&lt;p&gt;5 revisions&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uusi sivu&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Kolmiulotteisten funktioiden kuvaamiseen Gnuplotilla on monta eri tapaa. Menetelmä riippuu tietenkin siitä, mitä haluaa kuvaajallaan esittää. 3D-kuvaajat eroavat siinä mielessä kaksiulotteisista, että niiden piirtämiseen käytetään &amp;lt;tt&amp;gt;splot&amp;lt;/tt&amp;gt;-komentoa.&lt;br /&gt;
&lt;br /&gt;
[[Kuva:Sol1.png|thumb|right|350px|3D-kuvaaja isosamplesin ja rangejen demonstrointiin.]]&lt;br /&gt;
==Pisteet 3D-avaruudessa==&lt;br /&gt;
Ensin määritellään piirrettävä funktio &amp;lt;tt&amp;gt;f(x,t)&amp;lt;/tt&amp;gt;. Huomaa, että nyt voit käyttää mitä vain muuttujia yhtälön määrittämiseen. Esimerkkifunktiossamme muuttujia ovat &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; ja &amp;lt;tt&amp;gt;t&amp;lt;/tt&amp;gt; sekä määrättävänä vakiona &amp;lt;tt&amp;gt;v&amp;lt;/tt&amp;gt;. Allaoleva palauttaa virheen, jos &amp;lt;tt&amp;gt;v&amp;lt;/tt&amp;gt;:tä ei ole määritelty. Lopuksi plotataan käyttäen &amp;lt;tt&amp;gt;splot&amp;lt;/tt&amp;gt;-komentoa. Huomaa, että nyt argumenteiksi ei anneta samoja, kuin ennen, vaan plotattavat akselit &amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; ja &amp;lt;tt&amp;gt;y&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
f(x,t) = (v/2.0)/(cosh(sqrt(v)/2.0*(x - v*t - 5.0))**2.0)&lt;br /&gt;
v = 5.0&lt;br /&gt;
splot f(x,y)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nyt saadaan kuvaaja, joka ei kuitenkaan vielä näytä hääppöiseltä. Gnuplot asettaa oletuksena x- ja y-akselit -10:stä 10:een sekä näytteenottotaajuuden 10x10:ksi. Näitä voimme säätää tutuilla [[Kuvaajan_asetuksia | kuvaajan asetuksilla]] sekä &amp;lt;tt&amp;gt;isosamples&amp;lt;/tt&amp;gt;-asetuksella.&lt;br /&gt;
&lt;br /&gt;
Komennoilla:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set xrange[-2:6]&lt;br /&gt;
set yrange[0:1]&lt;br /&gt;
set isosamples 30:30&lt;br /&gt;
f(x,t) = (v/2.0)/(cosh(sqrt(v)/2.0*(x - v*t - 5.0))**2.0)&lt;br /&gt;
v = 5.0&lt;br /&gt;
splot f(x,y)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Saammekin jo pätevän näköisen kuvaajan ja voimme ehkä jopa havaita mitä siinä tapahtuu.&lt;br /&gt;
&lt;br /&gt;
[[Kuva:Sol3.png|thumb|right|350px|3D-kuvaaja surfin ja hidden3d:n demonstrointiin.]]&lt;br /&gt;
==Piirtäminen datatiedostosta==&lt;br /&gt;
Edellä kuvaaja piirrettiin määritetystä [[Laskeminen ja funktiot Gnuplotissa|funktiosta]], mutta usein tulee vastaan tilanne, jossa kuvaaja pitää piirtää datatiedostosta.&lt;br /&gt;
&lt;br /&gt;
Rajat säädetään kuten edellä. Esimerkkitapauksessa ne on säädetty hyvin spesifistisesti rajaamaan datatiedostosta vain halutut asiat näkyville. Komento &amp;lt;tt&amp;gt;set view&amp;lt;/tt&amp;gt; määrää kuvakulman.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set surf&lt;br /&gt;
set hidden3d&lt;br /&gt;
set xrange[0.82:2.94]&lt;br /&gt;
set yrange[4:14.9]&lt;br /&gt;
set zrange[-0.1:8]&lt;br /&gt;
set view 40,70&lt;br /&gt;
splot &amp;#039;zabuskykruskal-2008-3-23-12.33.44.data&amp;#039; w lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kuva:Sol4.png|thumb|right|350px|3D-kuvaaja everyn]]&lt;br /&gt;
Jos käyttämämme datatiedosto on suuri ja yritämme pyörittää siitä piirrettyä kuvaa saadaksemme paremman kuvakulman huomaamme, että se on melkoisen raskasta. Tätä voi parannella muutamalla eri tavalla. Optio &amp;lt;tt&amp;gt;every x:y&amp;lt;/tt&amp;gt; lisättynä &amp;lt;tt&amp;gt;splot&amp;lt;/tt&amp;gt;-riville, ottaa huomioon datapisteistä vain x- ja y- suunnissa toivotun määrän. Esim&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set surf&lt;br /&gt;
set hidden3d&lt;br /&gt;
set xrange[0.82:2.94]&lt;br /&gt;
set yrange[4:14.9]&lt;br /&gt;
set zrange[-0.1:8]&lt;br /&gt;
set view 40,70&lt;br /&gt;
splot &amp;#039;zabuskykruskal-2008-3-23-12.33.44.data&amp;#039; every 5:5 w lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kuva:Sol2.png|thumb|right|350px|2D-värikartta 3D-datasta]]&lt;br /&gt;
==2D kartta 3D datasta==&lt;br /&gt;
3D-kuvaajat ovat usein näyttävän näköisiä ja käytettäessä terminaalia &amp;lt;tt&amp;gt;wxt&amp;lt;/tt&amp;gt; tai &amp;lt;tt&amp;gt;x11&amp;lt;/tt&amp;gt; (ehkä Windowsillakin) voidaan kuvaajaa jopa pyörittää ja katsella eri kulmista. Kuitenkin lähes aina 3D-kuvaajissa jotain jää jonkin muun taakse.&lt;br /&gt;
&lt;br /&gt;
Ratkaisuna tähän on piirtää 3D-datasta kaksiulotteinen kartta, jossa kolmatta ulottuvuutta ilmentää väri. Tämä tehdään &amp;lt;tt&amp;gt;pm3d&amp;lt;/tt&amp;gt;-moodilla ja &amp;lt;tt&amp;gt;map&amp;lt;/tt&amp;gt;-asetuksella. Rajat asetetaan kuten aikaisemminkin. &amp;lt;tt&amp;gt;zrange&amp;lt;/tt&amp;gt;-asetuksen sijaan käytämme nyt &amp;lt;tt&amp;gt;cbrange&amp;lt;/tt&amp;gt;-asetusta. sen jälkeen plottaaminen normaalisti ja saamme oheisen näköisen kuvan.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set pm3d map&lt;br /&gt;
set xrange[0.82:2.94]&lt;br /&gt;
set yrange[4:14.9]&lt;br /&gt;
set cbrange[-0.1:8]&lt;br /&gt;
splot &amp;#039;zabuskykruskal-2008-3-23-12.33.44.data&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Huomaa, että tämä moodi tarvitsee datatiedoston muotoa&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x_0 y_01 z_01&lt;br /&gt;
...&lt;br /&gt;
x_0 y_0n z_0n&lt;br /&gt;
&lt;br /&gt;
x_1 y_10 z_01&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eli &amp;quot;skannausten&amp;quot; välissä pitää olla tyhjä rivi. Jos datatiedostossa ei näin ole, niin seuraava awk-skirpti muokkaa datan oikean muotoiseksi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;addblanks.awk&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/^[[:blank:]]*#/ {next} # ignore comments (lines starting with #)&lt;br /&gt;
NF &amp;lt; 3 {next} # ignore lines which don&amp;#039;t have at least 3 columns&lt;br /&gt;
$1 != prev {printf &amp;quot;\n&amp;quot;; prev=$1} # print blank line&lt;br /&gt;
{print} # print the line&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Tämän voi ajaa joko komentoriviltä&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ awk -f addblanks.awk datatiedosto.txt &amp;gt; kohde.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
tai Gnuplotissa itsessään&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
splot &amp;#039;&amp;lt;awk -f addblanks.awk datatiedosto.txt&amp;#039; using...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lisää?==&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Gnuplot]]&lt;/div&gt;</summary>
		<author><name>Wh delta</name></author>
	</entry>
	<entry>
		<id>https://delta.utu.fi/wiki/index.php?title=3D-kuvaajat_Gnuplotilla&amp;diff=19939&amp;oldid=prev</id>
		<title>130.232.254.32 (10. maaliskuuta 2008 kello 07.43)</title>
		<link rel="alternate" type="text/html" href="https://delta.utu.fi/wiki/index.php?title=3D-kuvaajat_Gnuplotilla&amp;diff=19939&amp;oldid=prev"/>
		<updated>2008-03-10T07:43:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uusi sivu&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Kolmiulotteisten funktioiden kuvaamiseen Gnuplotilla on monta eri tapaa. Menetelmä riippuu tietenkin siitä, mitä haluaa kuvaajallaan esittää. 3D-kuvaajat eroavat siinä mielessä kaksiulotteisista, että niiden piirtämiseen käytetään &amp;lt;tt&amp;gt;splot&amp;lt;/tt&amp;gt;-komentoa.&lt;br /&gt;
&lt;br /&gt;
==Pisteet 3D-avaruudessa==&lt;br /&gt;
Ensin määritellään piirrettävä funktio&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
f(x,t) = (v/2.0)/(cosh(sqrt(v)/2*(x - v*t - 5))**2)&lt;br /&gt;
splot f(x,y)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>130.232.254.32</name></author>
	</entry>
</feed>