3D-Plotter für Funktionen z=f(x,y)
Author: Roman Chijner, Heidelberg
Date: 3. Juni 2011

Durch die Eingabe der Funktionen in Eingabefeld erscheinen entsprechende Schaubilder. Mit Schiebereglern können Sie Intervalls Parameter ändern.

Regler/Maus

Move me

S_{move}

z ein/aus

Achsen

Bildschirmlänge

Rot

Grün

Blau

Startpunkt

γ-Animation ein\aus

Rx

► Winkellage:

► Bildschirmsteuerung: 

► Färbung :

Bildschirmsteuerung

β-Animation ein/aus

α-Animation

R_y 

R_z 

Einstellung α,β-Winkeleingabe mit ▶

x-Achse

y-Achse

z-Achse

Koordinaten-Box

1

2

3

"Move me" ein/aus

Opacity

A1

A4

A2

A3

B4

B3

Fläche:z=(z_{min}+z_{max})/2

Frontfläche (aktuell)

Grundfläche

R

L

Frontfläche(Start)

Fläche z=a_z

$\scalebox{1.4} \text{ \copyright Roman Chijner, Heidelberg 2012}$   
$\scalebox{1.3} \text{      Gestaltungshilfe:}\scalebox{1.3}\text{ Werner Knobloch}$

► Grenzen: 

Färbungsteuerung

►

Deckkraft

Curve

sichtbar

x

► 3D-Fläche: 

N =:

x_{min}=:

x_{max}=:

y_{min}=:

y_{max}=:

z_{min}=:

z_{max}=:

Zoom

► Animation "Zeit"

II←

► Beobachtungspunkte:  P_1, P_2, P_3, P_4

►S (Punktquelle)

►S_{move}

LL

N=4

graphics2

Aufbau

Abbau

I. in einem Durchlauf

P_1

P_2

P_3

P_4

.                                              








.

I oder II

N=40

N=60

                                                                                                             


                                  .

.                                                                                                            

                              .

 A_z= s_z·exp( -δ r_{S1})   - Amplitude                

 k = 2 π/λ  - Wellenzahl
  
 ω = 2 π/T   - Kreisfrequenz
  
 c = λ/T  - Phasengeschwindigkeit

► Wellenparameter:

3D-Darstellung: sinusförmige Kreiswelle

s(r,t) = Amp_z \; ℯ^{(-δ \  r_S)}\;sin(k\; r_S - ω \;t)

.                                              



                         

N=80

s_x = 1 (slider from 0 to 5, step 0.1)
s_z = 4 (slider from 0 to 15, step 0.1)
s_y = 1 (slider from 0 to 5, step 0.1)
γ = 0 (slider from 0 to 6.283185307179586, step 0.1)
α = 4.2 (slider from 0 to 6.283185307179586, step 0.1)
Eckpunkt1 = Corner(1)
c = true
C = (-32.35144659266067, 0.1566791468570527)
c_{Move} = 20 (slider from -50 to 50, step 0.1)
Eckpunkt2 = Corner(2)
dEx: x(Eckpunkt2 - Eckpunkt1)
α1 = If(c, α, x(Eckpunkt2 - C) / dEx * c_{Move})
Eckpunkt3 = Corner(3)
dEy: y(Eckpunkt3 - Eckpunkt2)
β = 0 (slider from 0 to 6.283185307179586, step 0.1)
β1 = If(c, β, y(Eckpunkt3 - C) / dEy * c_{Move})
a13': -cos(α1) * sin(β1) * cos(γ) + sin(α1) * sin(γ)
P13': (-sin(α1) * sin(β1) * cos(γ) + cos(α1) * sin(γ), cos(β1) * cos(γ)) + (-a13') / sqrt(8)
a12': cos(α1) * sin(β1) * sin(γ) + sin(α1) * cos(γ)
P12': (-sin(α1) * sin(β1) * sin(γ) + cos(α1) * cos(γ), -cos(β1) * sin(γ)) + (-a12') / sqrt(8)
a11: cos(α1) * cos(β1)
P11': (-sin(α1) * cos(β1), sin(β1)) + (-a11) / sqrt(8)
x_{min} = -30 (slider from -50 to 50, step 0.1)
x_{max} = 30 (slider from -50 to 50, step 0.1)
y_{min} = -30 (slider from -50 to 50, step 0.1)
y_{max} = 30 (slider from -50 to 50, step 0.1)
N = 4 (slider from 1 to 80, step 10)
dx: (x_{max} - x_{min}) / N
dy: (y_{max} - y_{min}) / N
l1aa = Join(Sequence[Sequence[(y_{min} + i * dy, x_{min} + j * dx), j, 0, N], i, 0, N])
Y1: x(l1aa)
X1: y(l1aa)
P_s = (16.8325471180314, -10.109193961341159)
B = (0.5307058494816338, -0.3080862586855881)
x': (y(B) - y(P_s)) * sqrt(8)
y': x(P_s) - y(P_s) - x(B) + y(B)
P_{S0} = Element(Zip[P11' * a * s_x + P12' * b * s_y + P13' * c * s_z, a, {x'}, b, {y'}, c, {0}] + B, 1)
y'_0: x(P_{S0}) - y(P_{S0}) - x(B) + y(B)
x'_0: y(B - P_{S0}) * sqrt(8)
z_{min} = -6 (slider from -25 to 5, step 0.1)
b = false
t = 0 (slider from 0 to 10 * T, step 0.1)
T = 16 (slider from 0 to 50, step 0.1)
ω: 2 * π / T
λ = 16 (slider from -5 to 30, step 1)
c_0: λ / T
k: 2 * π / λ
δ = 0.02 (slider from 0 to 0.02, step 1)
r_{S}: sqrt((X1 - x'_0)^(2) + (Y1 - y'_0)^(2))
lä: (N + 1)^(2)
Amp_z = Sequence(If[Element[r_{S}, i] < c_0 * t, 1, 0], i, 1, lä)
Z: Amp_z * ℯ^(-δ * r_{S}) * sin(k * r_{S} - ω * t)
zmin0 = Min(RemoveUndefined[Z])
z_{max} = 6 (slider from -5 to 25, step 0.1)
zmax0 = Max(RemoveUndefined[Z])
a13: cos(α1) * sin(β1) * cos(γ) + sin(α1) * sin(γ)
a12: cos(α1) * sin(β1) * sin(γ) - sin(α1) * cos(γ)
a_z = 6 (slider from z_{min} to z_{max}, step 0.1)
P12: (sin(α1) * sin(β1) * sin(γ) + cos(α1) * cos(γ), cos(β1) * sin(γ)) + (-a12) / sqrt(8)
P13: (sin(α1) * sin(β1) * cos(γ) - cos(α1) * sin(γ), cos(β1) * cos(γ)) + (-a13) / sqrt(8)
P11: (sin(α1) * cos(β1), -sin(β1)) + (-a11) / sqrt(8)
zz_{min} = If(b, zmin0, z_{min})
zz_{max} = If(b, zmax0, z_{max})
k_1 = false
zWX1: {x_{max}, x_{max}, x_{min}, x_{min}}
zWY1: {y_{min}, y_{max}, y_{max}, y_{min}}
zWZ1: {1, 1, 1, 1} * (z_{min} + z_{max}) / 2
zWX1' = Sequence(a11 * Element[zWX1, i] + a12 * Element[zWY1, i] + a13 * Element[zWZ1, i], i, 1, 4)
zWW_0: y(Sort[{(Element[zWX1', 1], 1), (Element[zWX1', 2], 2), (Element[zWX1', 3], 3), (Element[zWX1', 4], 4)}])
zW_1 = Element(zWW_0, 4)
zW_2 = Element(zWW_0, 3)
Gitternetz = false
ym: y_{max} - y_{min}
xm: x_{max} - x_{min}
y_1 = -2
Y1_1 = 0
zW_3 = Element(zWW_0, 2)
Länge = 0.38 (slider from 0 to 5, step 0.01)
Eck11: Eckpunkt1 + Länge * (Eckpunkt2 - Eckpunkt1)
Eck12: (x(Eckpunkt1 + Länge * (Eckpunkt2 - Eckpunkt1)), y(Eckpunkt3))
Vieleck2, eckpunkt1, eck11, eck12, a_1 = Polygon(Eckpunkt1, Eck11, Eck12, (x(Eckpunkt1), y(Eck12)))
r_B = 0 (slider from 0 to 1, step 0.1)
g_B = 0.8 (slider from 0 to 1, step 0.1)
b_B = 0.6 (slider from 0 to 1, step 0.1)
fx3 = true
fx2 = true
fx1 = true
d = false
A1 = 1
Blau = 1 (slider from 0 to 1, step 0.1)
v_{Animation} = 0.1 (slider from 0 to 1, step 0.02)
wγ = false
v_γ = 0.4 (slider from 0 to 2, step 0.1)
bs = true
wβ = false
wα = false
v_β = 0.4 (slider from 0 to 2, step 0.1)
v_α = 0.3 (slider from 0 to 2, step 0.1)
zl10: Zip[P11 * a * s_x + P12 * b * s_y + P13 * c * s_z, a, {x_{max}, x_{max}, x_{min}, x_{min}, x_{min}, x_{min}, x_{max}, x_{max}, x_{max}, x_{max}, x_{min}, x_{min}, 1, 0, 0}, b, {y_{min}, y_{max}, y_{max}, y_{min}, y_{min}, y_{max}, y_{max}, y_{min}, y_{min}, y_{max}, y_{max}, y_{min}, 0, 1, 0}, c, {zz_{min}, zz_{min}, zz_{min}, zz_{min}, zz_{max}, zz_{max}, zz_{max}, zz_{max}, a_z, a_z, a_z, a_z, 0, 0, 1}] + B
BoxStr = Sequence(Segment[Element[zl10, i], Element[zl10, i + 1]], i, 1, 7)
BoxStr1: {Segment[Element[zl10, 1], Element[zl10, 8]], Segment[Element[zl10, 5], Element[zl10, 8]], Segment[Element[zl10, 2], Element[zl10, 7]], Segment[Element[zl10, 3], Element[zl10, 6]], Segment[Element[zl10, 1], Element[zl10, 4]]}
zVectx = Vector(Element[zl10, 4], Element[zl10, 1])
zVecty = Vector(Element[zl10, 4], Element[zl10, 3])
zVectz = Vector(Element[zl10, 4], Element[zl10, 5])
b_1 = false
PPxx: (Element[zl10, 1] + Element[zl10, 4]) / 2
PPzz: (Element[zl10, 5] + Element[zl10, 4]) / 2
PPyy: (Element[zl10, 3] + Element[zl10, 4]) / 2
zTT: Zip[P11 * a * s_x + P12 * b * s_y + P13 * c * s_z, a, zWX1, b, zWY1, c, zWZ1] + B
zY1 = Element(zTT, zW_1)
zY2 = Element(zTT, zW_2)
zY3 = Element(zTT, zW_3)
zTTPoly = Polygon(zTT)
i = true
Deckkraft = 0.1 (slider from 0 to 1, step 0.02)
zlN11 = Element(zl10, zW_1)
zlN111 = Element(zl10, 9 - zW_1)
zlN22 = Element(zl10, zW_2)
zlN222 = Element(zl10, 9 - zW_2)
zlN33 = Element(zl10, zW_3)
zW_4 = Element(zWW_0, 1)
zlN44 = Element(zl10, zW_4)
Vgrund01 = Polygon({zlN11, zlN22, zlN222, zlN111})
Vgrund000 = Polygon(Sequence[Element[zl10, i], i, 1, 4])
o_1 = false
p = false
q = false
Step = 0.001 (slider from 0 to 0.2, step 1.0E-4)
P_R = Element(zl10, 7)
P_L = Element(zl10, 8)
Vvrd0 = Polygon({Element[zl10, 1], Element[zl10, 2], Element[zl10, 7], Element[zl10, 8]})
f_1 = false
StrRL = Segment(P_R, P_L)
zlPoly, n, r, s, c_1 = Polygon(Sequence[Element[zl10, i], i, 9, 12])
e_1 = false
mi = 1 (slider from 0 to 1, step 0)
Tachse = 1.2 (slider from 0 to 15, step 0.1)
textpymaxmin: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[(y_{min} + y_{max}) / 2]) + "}"
textpxmaxmin: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[(x_{max} + x_{min}) / 2]) + "}"
textpzmaxmin: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[(z_{max} + z_{min}) / 2]) + "}"
textpxmin: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[x_{min}]) + "}"
textpymax: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[y_{max}]) + "}"
textpzmin: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[z_{min}]) + "}"
textpzmax: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[z_{max}]) + "}"
textpxmax: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[x_{max}]) + "}"
textpymin: "\scalebox{" + (LaTeX[Tachse]) + "}{" + (LaTeX[y_{min}]) + "}"
Text8: "β=" + β1 + " rad"
Text17: "α=" + α1 + " rad"
Grün = 1 (slider from 0 to 1, step 0.1)
Rot = 1 (slider from 0 to 1, step 0.1)
Strx = Ray(B, Element[zl10, 13])
Stry = Ray(B, Element[zl10, 14])
Strz = Ray(B, Element[zl10, 15])
e = true
ylPunkten10: Zip[P11 * a * s_x + P12 * b * s_y + P13 * c * s_z, a, X1, b, Y1, c, Z] + B
lä1: N * (N + 1)
Ro: Sequence[Element[Z, i] - zmin0, i, 1, lä1] / (zmax0 - zmin0) * Rot * fx3
j = 1 (slider from 0 to 1, step 0.1)
g = false
zm: zz_{max} - zz_{min}
vi = true
inputBox1 = Textfield(N)
inputBox5 = Textfield(x_{min})
inputBox6 = Textfield(x_{max})
inputBox7 = Textfield(y_{min})
inputBox8 = Textfield(y_{max})
inputBox9 = Textfield(z_{min})
inputBox10 = Textfield(z_{max})
SFactor = 1 (slider from 0.5 to 2, step 0.1)
yylPolyy = Sequence(If[i ≟ ceil(i / (N + 1)) * (N + 1), Polygon[(0, 0), (0, 0), (0, 0), (0, 0)], Polygon[Element[ylPunkten10, i], Element[ylPunkten10, i + N + 1], Element[ylPunkten10, i + N + 2], Element[ylPunkten10, i + 1]]], i, 1, (N + 1) * N)
TT = 4 (slider from 0 to 50, step 0.1)
läX = Length(Y1)
a = false
h = false
Z1 = 0
f = false
u = false
v_t = 0.3 (slider from 0 to 2, step 0.1)
P_{HV} = (-37.72866365371802, -18.827629768552363)
horizontal = OrthogonalLine(P_{HV}, yAxis)
vertikal = OrthogonalLine(P_{HV}, xAxis)
v = false
g_1 = true
n_a = 1 (slider from 1 to cea + 1, step 1)
n_e = 1 (slider from 1 to cea + 1, step 1)
dN = 50 (slider from 1 to 100, step 1)
zk3: (N + 1) * N
cea: ceil(zk3 / dN)
v_n = 0.12 (slider from 0 to 1, step 0.02)
o = false
nmina1: (n_a - 1) * dN + 1
i_1 = false
ne: n * e
nmina2: (n_e - 1) * dN + 1
P_{SS} = Element(Zip[P11 * a * s_x + P12 * b * s_y + P13 * c * s_z, a, {x'_0}, b, {y'_0}, c, {sin(-ω * t)}] + B, 1)
BP1 = (-44.4353471367695, -4.258592205798091)
BP2 = (45.49675883573277, 3.8748023911982385)
BP3 = (3.43548963412318, 14.215832664522143)
BP4 = (-2.606460637931236, -14.832005181893319)
P_{BP}: {BP1, BP2, BP3, BP4}
Pl_{BP} = Sequence((y(B - Element[P_{BP}, i]) * sqrt(8), x(Element[P_{BP}, i]) - y(Element[P_{BP}, i]) - x(B) + y(B)), i, 1, 4)
Pl_{S0}: Zip[P11' * a * s_x + P12' * b * s_y, a, x(Pl_{BP}), b, y(Pl_{BP})] + B
xy'_0 = Sequence((y(B - Element[Pl_{S0}, i]) * sqrt(8), x(Element[Pl_{S0}, i]) - y(Element[Pl_{S0}, i]) - x(B) + y(B)), i, 1, 4)
rBP_{S}: sqrt((x(xy'_0) - x'_0)^(2) + (y(xy'_0) - y'_0)^(2))
Amp_{BPz} = Sequence(If[Element[rBP_{S}, i] < c_0 * t, 1, 0], i, 1, 4)
Z_{BP}: Amp_{BPz} * ℯ^(-δ * rBP_{S}) * sin(k * rBP_{S} - ω * t)
Pl_{SS}: Zip[P11 * a * s_x + P12 * b * s_y + P13 * c * s_z, a, x(xy'_0), b, y(xy'_0), c, Z_{BP}] + B
Gr: Sequence[Element[Y1, i] - y_{min}, i, 1, lä1] / (y_{max} - y_{min}) * Grün * fx2
Bl: Sequence[Element[X1, i] - x_{min}, i, 1, lä1] / (x_{max} - x_{min}) * Blau * fx1
jh = false
Text15: "n_a= " + n_a + " "
Text16: "n_e = " + n_e + ""
Text13: "II. In " + (cea + 1) + " Teilschritten"
Text1: "" + (LaTeX[N^(2)]) + " Kacheln"
Vieleck1, eck11_1, eckpunkt2, eckpunkt3, eck12_1 = Polygon(Eck11, Eckpunkt2, Eckpunkt3, Eck12)
Text4: "" + headline + ""
Text21: "" + (LaTeX[Text11]) + ""
Autor2_1: "" + (LaTeX[Autor1]) + ""
M_{6501} = Element(yylPolyy, 6501)
M_{6502} = Element(yylPolyy, 6502)
M_{6503} = Element(yylPolyy, 6503)
M_{6504} = Element(yylPolyy, 6504)
M_{6505} = Element(yylPolyy, 6505)
M_{6506} = Element(yylPolyy, 6506)
M_{6507} = Element(yylPolyy, 6507)
M_{6508} = Element(yylPolyy, 6508)
M_{6509} = Element(yylPolyy, 6509)
M_{6510} = Element(yylPolyy, 6510)
M_{6511} = Element(yylPolyy, 6511)
M_{6512} = Element(yylPolyy, 6512)
M_{6513} = Element(yylPolyy, 6513)
M_{6514} = Element(yylPolyy, 6514)
M_{6515} = Element(yylPolyy, 6515)
M_{6516} = Element(yylPolyy, 6516)
M_{6517} = Element(yylPolyy, 6517)
M_{6518} = Element(yylPolyy, 6518)
M_{6519} = Element(yylPolyy, 6519)
M_{6520} = Element(yylPolyy, 6520)
M_{6521} = Element(yylPolyy, 6521)
M_{6522} = Element(yylPolyy, 6522)
M_{6523} = Element(yylPolyy, 6523)
M_{6524} = Element(yylPolyy, 6524)
M_{6525} = Element(yylPolyy, 6525)
M_{6526} = Element(yylPolyy, 6526)
M_{6527} = Element(yylPolyy, 6527)
M_{6528} = Element(yylPolyy, 6528)
M_{6529} = Element(yylPolyy, 6529)
M_{6530} = Element(yylPolyy, 6530)
M_{6531} = Element(yylPolyy, 6531)
M_{6532} = Element(yylPolyy, 6532)
M_{6533} = Element(yylPolyy, 6533)
M_{6534} = Element(yylPolyy, 6534)
M_{6535} = Element(yylPolyy, 6535)
M_{6536} = Element(yylPolyy, 6536)
M_{6537} = Element(yylPolyy, 6537)
M_{6538} = Element(yylPolyy, 6538)
M_{6539} = Element(yylPolyy, 6539)
M_{6540} = Element(yylPolyy, 6540)
M_{6541} = Element(yylPolyy, 6541)
M_{6542} = Element(yylPolyy, 6542)
M_{6543} = Element(yylPolyy, 6543)
M_{6544} = Element(yylPolyy, 6544)
M_{6545} = Element(yylPolyy, 6545)
M_{6546} = Element(yylPolyy, 6546)
M_{6547} = Element(yylPolyy, 6547)
M_{6548} = Element(yylPolyy, 6548)
M_{6549} = Element(yylPolyy, 6549)
M_{6550} = Element(yylPolyy, 6550)