Analytische Geometrie mit POV-Ray
Tabellarischer Überblick über die wichtigsten Kommandos zur schnellen Orientierung
Definition der Punkte:
Bereits definiert sind:
o = <0,0,0>,(Usprung)
x = <1,0,0>, y = <0,1,0>, z = <0,0,1>
Platzhalter für eigene Punkte und Vektoren definieren, z.B:
P1 = < 2, 1.5, -3>;
V1 = < -3, 1.25, 1>;
In der Beispiel-Datei "a_geo_00.pov"
ist vordefiniert:
Rp = 0.105 = Radius der Punkte, Rl = 0.055 = Radius der Linien.
und die nebenstehenden Grundfarben.
Darstellung von Objekten:
(Die meisten hier verwendeten Makros sind iN meiner Include-Datei
analytical_g.inc definiert.)
Alternativ: downloaden Sie analytical_g.txt und speichern sie
die Datei unter dem Namen "analytical_g.inc"
|
Texturen des
Schablonentextes "a_geo_00.pov"
oder Schablonentextes "a_geo_00.txt"
|
Punkt P1:
....................... sphere{ P1, Rp pigment{ color Red } }
Eindeutige Positionsmarkierung:
1) Wire_box-Methode (Drahtgitter-Quader):
object{ Wire_Box( o, P,Rl/2,0) pigment{ color Yellow }},
2) Unterstürzungszylinder in y-Richtung:
object{ Show_Y( P, Rl/2) pigment{ color Yellow } }.
Strecke P1P2:
.............. cylinder{ P1, P2, Rl pigment{ color Green}}
Gerade P1P2:
................ cylinder{ P1–10*(P2-P1), P2+10*(P2-P1), Rl pigment{ color Green}}
Vektor P1P2:
.................. object{ Vector (P1, P2, Rl) pigment{ color Green}}
Distanz-Marker P1P2:
object{ Distance_Marker(P1, P2, Rl) pigment{ color Green}}
Dreieck P1P2P3:
.............. triangle { P1, P2, P3 pigment{ color Yellow transmit 0.5 }
Normale auf Dreieck P1P2P3:
......... object{ Triangle_Normal (P1, P2, P3) pigment{ color Yellow }
Schwerpunkt des Dreiecks P1P2P3:
object{ Triangle_Mass_Center (P1, P2, P3) pigment{ color Yellow }
Fläche des Dreieck P1P2P3:
........... Triangle_Area ( P1, P2, P3 )
Umfang des Dreieck P1P2P3:
......... Triangle_Circum ( P1, P2, P3 )
Ebene
in Parameterform:
..... object{ Plane_Dir( Start, Dir1, Dir2, Start, End ) pigment{ color Green}}
in Normalenform, N=<A,B,C>, D:
..... object{ Plane_Nor( Normale, D, Start, End) pigment{ color Green}}
Normalenform, mit N durch P:
... object{ Plane_NoP( Normale, P, Start, End) pigment{ color Green}}
Schnittpunkt Gerade - Ebene
Gerade durch Punkt und Richtung #declare P = <x1,x2,x3> #declare M = <m1,m2,m3>
Ebene als Objekt deklariert: #declare Ebene = ...; s.o.
#declare Schnittpunkt = trace ( Ebene, A, M )
Mit Normalenvektor im Schnittpunkt - Bezeichnung vordeklariert durch: #declare Normale = <0,0,0>
#declare Schnittpunkt = trace ( Ebene, A, M, Normale)
Kreis (M,r) um Achse:
Kreislinie: ............... object{ Circle_Line ( Mitte, Radius, Rl, Achse) pigment{ color Yellow }}
Kreisfläche ............. object{ Circle_Disc ( Mitte, Radius, Achse) pigment{ color Yellow transmit 0.5 }}
Umkreis um Dreieck P1P2P3:
Kreislinie: ............... object{ Circle_Line_out( P1, P2, P3, Rl) pigment{ color Yellow }}
Kreisfläche ............. object{ Circle_Disc_out( P1, P2, P3 ) pigment{ color Yellow transmit 0.5 }}
Umkreis-Mittelpunkt. object{ Triangle_M_out( P1, P2, P3 ) pigment{ color Green }}
Umkreisradius ......... Triangle_R_out( P1, P2, P3 )
Inkreis um Dreieck P1P2P3:
Kreislinie: ............... object{ Circle_Line_in ( P1, P2, P3, Rl) pigment{ color Yellow }}
Kreisfläche ............. object{ Circle_Disc_in ( P1, P2, P3 ) pigment{ color Yellow transmit 0.5 }}
Inkreis-Mittelpunkt .. object{ Triangle_M_in ( P1, P2, P3 ) pigment{ color Green }}
Inkreisradius ........... Triangle_R_in ( P1, P2, P3 )
Tetraeder
mit den Kantenvektoren V1,V2,V3:
object{ Tetrahedron_by_Edges ( V1,V2,V3, Rl,Rp, Filled) pigment{ color Green transmit 0.5}}
mit den Eckpunkten P1P2P3P4:
.... object{ Tetrahedron_by_Corners ( P0,P1,P2,P3, Rl,Rp, Filled) pigment{ color Green transmit 0.5}}
Parallelflach, Spat
mit den Kantenvektoren V1,V2,V3:
object{ Parallelepiped_by_Edges ( V1,V2,V3, Rl,Rp, Filled) pigment{ color Green transmit 0.5}}
mit den Eckpunkten P1P2P3P4:
.... object{ Parallelepiped_by_Corners ( P0,P1,P2,P3, Rl,Rp, Filled) pigment{ color Green transmit 0.5}}
Kugel um Mittelpunkt M mit Radius R:
........... sphere { M, R pigment{ color White }
Ellipsoid, Mittelpunkt M, Radien Rx,Ry,Rz:
.. sphere { M, R scale pigment{ color Green transmit 0.5 }
Zylinder, Endmittelpunkte M1 und M2 und Radius R:
................................................... cylinder { M1,M1, R pigment{ color Green transmit 0.5 }
Kegel mit den Basismittelpunkt M1, Basisradius R1 und Spitze M2:
......................... cone { M1,R1, M2, 0 pigment{ color Green transmit 0.5 }
Kegelstumpf, Endmittelpunkte M1, M2 und Radien R1 und R2:
..................................... cone { M1,R1, M2, R2 pigment{ color Green transmit 0.5 }
Textobjekt zur Bezeichnung von Objekten:
Bezeichnung "P": |
text { ttf "ARIAL.TTF", "P",0.1,0
scale 0.5 rotate<20,-45,0>
translate P + <-0.2,0.3,0>
pigment{ color Red } no_shadow} |
Bezeichnung "|PQ|"
+ Wert: |
text{ ttf "ARIAL.TTF"
concat( "|PQ| = " , str(vlength( Q-P),3,4)
), 0.1, 0
scale 0.35 rotate<20,-45,0>
translate P+<0.4,0.3,0>
pigment{ color rgb<1,0,0.25> } no_shadow } |
Bezeichnung "N"
+ Vektor: |
text{ ttf "ARIAL.TTF"
concat( "M(PQ) = (" , vstr(3,(P+Q)/2,"/",0,1) , ")"
), 0.1, 0
scale 0.35 rotate<20,-45,0>
translate (P + Q)/2 + <0.4,0.3,0>
pigment{ color Violet } no_shadow } |
|
|
|