Le modèle povray.mod
+4
F.Couvreur
Pascalgeh
samuel.biton
P.Fradin
8 participants
Page 5 sur 8
Page 5 sur 8 • 1, 2, 3, 4, 5, 6, 7, 8
Re: Le modèle povray.mod
Tout à fait!!!P.Fradin a écrit:Dans ce cas, pas besoin de povray! Par exemple (fichier source)
Mais dans ce cas là, on serait hors sujet vu que ce fil parle de POVray!!!
F.Couvreur a écrit:Bah pour moi, la méditerranée est bleue !
Ouais, mais le Gange est marron!!!
Re: Le modèle povray.mod
Alphonse Capriani a écrit:
Mais dans ce cas là, on serait hors sujet vu que ce fil parle de POVray!!!
Tu as raison. BON ANNIVERSAIIIIIIIIIIIIIIIIIIIRE
Re: Le modèle povray.mod
Bon : je viens de ragarder vite fait la manière dont est fait le code POV ray, et je dois admettre que j'ai du mal a tout comprendrre!!!
Une question Patrick : le premier lien que tu as donné dans un de tes post précédent (celui ou tu donne de la doc pour POVray), c'est quoi au juste? Des librairies de textures? Si c'est le cas, il faut les installer? Comment on les utilise?...
Une question Patrick : le premier lien que tu as donné dans un de tes post précédent (celui ou tu donne de la doc pour POVray), c'est quoi au juste? Des librairies de textures? Si c'est le cas, il faut les installer? Comment on les utilise?...
Re: Le modèle povray.mod
Alphonse Capriani a écrit:Bon : je viens de ragarder vite fait la manière dont est fait le code POV ray, et je dois admettre que j'ai du mal a tout comprendrre!!!
La partie déclaration n'est pas adpatée au bricolage manuel! Par contre la partie "rendu": oui, et c'est pour cela que j'ai séparé les deux.
Une question Patrick : le premier lien que tu as donné dans un de tes post précédent (celui ou tu donne de la doc pour POVray), c'est quoi au juste? Des librairies de textures? Si c'est le cas, il faut les installer? Comment on les utilise?...
Il ya des librairies de textures prédéfinies livrées avec povray (textures.inc, woods.inc, glass.inc, ...), je n'ai donc rien installé du tout en plus. Ce sont des fichiers textes (dossier include), on peut donc les éditer et voir ce qu'il y a dedans. Pour les utiliser, il faut les déclarer, par exemple
- Code:
# include "glass.inc"
à partir de là tu peux utiliser tout ce qu'il y a dedans. Pour l'exemple du récipient avec l'eau, j'ai carrément copier-coller une partie de textures.inc
Quant au deuxième lien, prends la peine de fouiller, il y a justement des exemples. C'est comme ça que je procède moi-même!
Re: Le modèle povray.mod
La nouvelle version test de TeXgraph (1.94-beta-huit) a nécessité une mise à jour du modèle povray.mod (dans le post initial de ce fil).
Re: Le modèle povray.mod
Ok merci pour ta réponse Patrick.
En fait, entre temps, j'ai trouvé une doc succinte décrivant POVray. Ca m'a pas mal aidé.
Je l'ai pas sous la main, mais si j'y pense, je la posterai dans un de mes prochains messages...
En fait, entre temps, j'ai trouvé une doc succinte décrivant POVray. Ca m'a pas mal aidé.
Je l'ai pas sous la main, mais si j'y pense, je la posterai dans un de mes prochains messages...
Re: Le modèle povray.mod
Bonsoir,
J'ai une requête (et je suis surement le seul à l'avoir).
Serait-il possible de rajouter une option dans povPlan et dans povPlanEqn à savoir le contour dans la représentation d'un plan?
Il faut donc a priori que povPlan et povPlanEqn appelle la macro povLine.
Que faudrait-il modifier dans povray.mac?
Merci
J'ai une requête (et je suis surement le seul à l'avoir).
Serait-il possible de rajouter une option dans povPlan et dans povPlanEqn à savoir le contour dans la représentation d'un plan?
Il faut donc a priori que povPlan et povPlanEqn appelle la macro povLine.
Que faudrait-il modifier dans povray.mac?
Merci
Re: Le modèle povray.mod
Bonsoir,
Mais non Joffrey, tu n'es pas le seul.J'ai une requête (et je suis surement le seul à l'avoir).
Jean-François- Nombre de messages : 38
Age : 50
Date d'inscription : 19/11/2008
Re: Le modèle povray.mod
Jean-François a écrit:Bonsoir,Mais non Joffrey, tu n'es pas le seul.J'ai une requête (et je suis surement le seul à l'avoir).
Hou là! Je sens la pression qui monte! Je vais regarder cela de près, sans doute une option border := 1/0 et l'option bordercolor qui va avec.
Re: Le modèle povray.mod
Depuis la version 0.4 il y a une option border:= 0/1 et une option bordercolor:= couleur pour les macros povPlan et povPlanEqn. Par défaut, la couleur du bord est celle du plan, et border vaut 0. Exemple:
- Code:
[
Marges(0,0,0,0),view(-6,6,-6,6), size(7.5), theta:=-10*deg, phi:=60*deg, backcolor:=lightgray,
P1:=planEqn([1,1,1,2]), P2:=[Origin, vecK-vecJ],
D:= interPP(P1,P2),
a:=Copy(getdroite(D),1,2),
b:=Copy(getplan(P1,0.75),11,2),
c:=Copy(getplan(P2,0.75),3,2),
texify:= (context=povray),
povScene(
povPlan(P1, [color:=red, opacity:=0.7,
scale:=0.75, border:=1, bordercolor:=black, width:=8 ]),
povPlan(P2, [color:=blue,opacity:=0.7,
scale:=0.75, border:=1, bordercolor:=black, width:=8 ]),
povDroite(D, [color:=darkgreen,
width:=12]),
povAxes([0,0],[color:=gold, arrows:=1, arrowscale:=1.5]),
povLabel(a,"D",[TeXify:=texify, labelpos:=[0.5,-i]]),
povLabel(b,"P_1",[TeXify:=texify, labelpos:=[0.5,i]]),
povLabel(c,"P_2",[TeXify:=texify, labelpos:=[1,i]])
),
display3D()
]
Dernière édition par P.Fradin le Ven 3 Avr - 22:57, édité 2 fois
Re: Le modèle povray.mod
Bonsoir,
Je confirme !merci c'est parfait!!
Jean-François- Nombre de messages : 38
Age : 50
Date d'inscription : 19/11/2008
Re: Le modèle povray.mod
Bonsoir Patrick,
(en ce moment je n'ai pas beaucoup de temps, mais ça va venir )
Merci, je note !!S'il y a d'autres suggestions, ne pas hésiter!
(en ce moment je n'ai pas beaucoup de temps, mais ça va venir )
Jean-François- Nombre de messages : 38
Age : 50
Date d'inscription : 19/11/2008
Re: Le modèle povray.mod
Mise à jour du modèle povray.mod vers la version 0.4 dans le post initial de ce fil.
Nouveautés:
- Il y a une option border:= 0/1 et une option bordercolor:= couleur pour les macros povPlan et povPlanEqn. Par défaut, la couleur du bord est celle du plan, et border vaut 0.
- Pour chaque élément graphique il y a deux options supplémentaires:
* l'option render := 0/1: qui vaut 1 par défaut, cette option active ou désactive le rendu de l'élément.
* l'option shadow := 0/1: qui vaut 1 par défaut sauf pour les labels, cette option active ou désactive l'ombre pour cet élément. Pour l'ombre il y a aussi une option globale defaultshadow, qui vaut 1 par défaut.
- On peut ajouter du code povray dans le fichier exporté en créant un élément: povSpecial( chaine ), cette chaine sera écrite telle quelle dans le fichier, après la déclaration de tous les éléments de la scène. Cela peut permettre par exemple d'écrire son propre rendu.
Une petite illustration à voir en boucle:
Le source: robot.teg.
Nouveautés:
- Il y a une option border:= 0/1 et une option bordercolor:= couleur pour les macros povPlan et povPlanEqn. Par défaut, la couleur du bord est celle du plan, et border vaut 0.
- Pour chaque élément graphique il y a deux options supplémentaires:
* l'option render := 0/1: qui vaut 1 par défaut, cette option active ou désactive le rendu de l'élément.
* l'option shadow := 0/1: qui vaut 1 par défaut sauf pour les labels, cette option active ou désactive l'ombre pour cet élément. Pour l'ombre il y a aussi une option globale defaultshadow, qui vaut 1 par défaut.
- On peut ajouter du code povray dans le fichier exporté en créant un élément: povSpecial( chaine ), cette chaine sera écrite telle quelle dans le fichier, après la déclaration de tous les éléments de la scène. Cela peut permettre par exemple d'écrire son propre rendu.
Une petite illustration à voir en boucle:
Le source: robot.teg.
Re: Le modèle povray.mod
Toujours aussi impressionant.
P. Fradin, j'aurais voulu connaître la méthode qui te permet de gérer en interne les formules de mathématiques. Je voudrai essayer de faire comme toi mais au sein d'un programme en Python.
P. Fradin, j'aurais voulu connaître la méthode qui te permet de gérer en interne les formules de mathématiques. Je voudrai essayer de faire comme toi mais au sein d'un programme en Python.
projetmbc- Nombre de messages : 42
Age : 50
Date d'inscription : 08/01/2009
Re: Le modèle povray.mod
projetmbc a écrit:j'aurais voulu connaître la méthode qui te permet de gérer en interne les formules de mathématiques. Je voudrai essayer de faire comme toi mais au sein d'un programme en Python.
Bonsoir Christophe,
Comme tu vas t'en rendre compte ce n'est pas simple! TeXgraph écrit la formule dans un fichier intitulé formula.tex. Ce fichier est appelé par le document tex2FlatPs.tex dont voici le contenu:
- Code:
\documentclass[12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{fourier}
\pagestyle{empty}
\begin{document}
\large
\input{formula.tex}%
\end{document}
Puis on appelle le script tex2FlatPs.sh dont voici le contenu:
- Code:
#!/bin/sh
pdflatex -interaction=nonstopmode tex2FlatPs.tex
pstoedit -dt -pta -f ps -psarg -r2400x2400 tex2FlatPs.pdf tex2FlatPs.eps
Il faut que l'utilitaire pstedit soit installé, il sert ici à traduire le fichier pdf en un eps contenant du flattened postscript où les contours de la formule ont été traduits en chemins (succession de courbes de bezier et/ou de segments. Il ne reste plus qu'à parser ce fichier eps pour récupérer tous ces chemins pour pouvoir dessiner la formule...
Povray permet ensuite de construire des prismes dont la base peut être un contour constitué de courbes de béziers, c'est ainsi que la formule TeX se retrouve sous forme de prisme droit dans povray.
Dernière édition par P.Fradin le Ven 3 Juil - 22:51, édité 1 fois
Re: Le modèle povray.mod
Merci pour ces infos. Je vais essayer dès que j'ai du temps.
La lecture du contenu fichier eps (et non son "parsage") se fait comment. Directement ou via une bibliothèque spéciale ?P.Fradin a écrit: Il ne reste plus qu'à parser ce fichier eps pour récupérer tous ces chemins pour pouvoir dessiner la formule...
Dernière édition par projetmbc le Lun 20 Avr - 22:12, édité 1 fois
projetmbc- Nombre de messages : 42
Age : 50
Date d'inscription : 08/01/2009
Re: Le modèle povray.mod
projetmbc a écrit:
La lecture du contenu du contrenu (et non son "parsage") fichier eps se fait comment. Directement ou via une bibliothèque spéciale ?
La lecture et l'analyse du fichier eps obtenu, et sa traduction en chemins "à la texgraph", c'est la partie que j'ai programmée directement dans TeXgraph, il n'y a donc pas de bibliothèques supplémentaires.
Si cela t'intéresse et si tu connais le pascal, je peux t'indiquer où trouver la procédure qui fait ceci dans les sources de texgraph. Sinon, si tu connais le perl j'ai un script perl qui m'a été signalé sur le net et qui ma servi de base de travail: en bas de ce message.
Dernière édition par P.Fradin le Lun 20 Avr - 22:19, édité 1 fois
Re: Le modèle povray.mod
Je ne connais ni le Pascal, ni le Perl mais cela m'intérese tout de même.
projetmbc- Nombre de messages : 42
Age : 50
Date d'inscription : 08/01/2009
Re: Le modèle povray.mod
projetmbc a écrit:Je ne connais ni le Pascal, ni le Perl mais cela m'intérese tout de même.
Voici la fonction en Pascal:
- Code:
function TReadFlatPs.executer;
var f1:Pcorps;
source:text;
resultat:type_liste;
nb:byte;
x,y:real;
erreur:integer;
fichier:string;
couleur:longint;
epaisseur,x1,x2,y1,y2: real;
car:char;
function cmyk2rgb(c,m,y,k:real):longint;
var r,g,b:real;
begin
r:=1-c-k; if r<0 then r:=0;
g:=1-m-k; if g<0 then g:=0;
b:=1-y-k; if b<0 then b:=0;
result:=Rgb(Round(r*255),Round(g*255),Round(b*255))
end;
function Trouve_newpath:boolean;
var s:string; i,p:longint;
c:string; c1,c2,c3,c4:real;
begin
repeat readln(source,s); c:='';
p:=pos('setlinewidth',s);
if p<>0 then begin
delete(s,p-1,13);delete(s,1,1);
val(s,epaisseur,erreur);
end;
p:=pos('setcmykcolor',s);
if p<>0 then begin
i:=1;
while s[i]=' ' do inc(i);
while (s[i] in ['0'..'9','.']) do begin c:=c+s[i]; inc(i) end;
val(c,c1,erreur); while s[i]=' ' do inc(i); c:='';
while (s[i] in ['0'..'9','.']) do begin c:=c+s[i]; inc(i) end;
val(c,c2,erreur); while s[i]=' ' do inc(i); c:='';
while (s[i] in ['0'..'9','.']) do begin c:=c+s[i]; inc(i) end;
val(c,c3,erreur); while s[i]=' ' do inc(i); c:='';
while (s[i] in ['0'..'9','.']) do begin c:=c+s[i]; inc(i) end;
val(c,c4,erreur);
couleur:=cmyk2rgb(c1,c2,c3,c4);
end;
result:= (s='newpath')
until eof(source) or (result);
end;
function lire_mot:string;
var s:string;
c:char;
begin
s:='';
repeat read(source,c) until c in ['0'..'9','a'..'z','.'];
while c in ['0'..'9','a'..'z','.'] do begin s:=s+c; read(source,c) end;
result:=s
end;
procedure lire_path;
var c:string;
xfirst,yfirst:real;
begin resultat.ajouter_fin(new(Paffixe,init(couleur,epaisseur)));
repeat
c:=lire_mot;
if c[1] in ['0'..'9','.'] then
If nb=1 then
begin
val(c,x,erreur);
if x<x1 then x1:=x; if x>x2 then x2:=x;
nb:=2;
end
else
begin
if erreur=0 then
begin
val(c,y,erreur);
if y<y1 then y1:=y; if y>y2 then y2:=y;
resultat.ajouter_fin(new(Paffixe,init(x,y)));
end;
nb:=1;
end
else
if c='curveto' then resultat.ajouter_fin(new(Paffixe,init(jump^.x,3))) {bezier}
else
if c='lineto' then resultat.ajouter_fin(new(Paffixe,init(jump^.x,1))) {line}
else
if c='moveto' then begin xfirst:=x; yfirst:=y;
resultat.ajouter_fin(new(Paffixe,init(jump^.x,6))) {move};
end
else
if c='closepath' then begin
http://resultat.ajouter_fin(new(Paffixe,init(xfirst,yfirst)));
resultat.ajouter_fin(new(Paffixe,init(jump^.x,10))) {closepath}
end;
until (c='eofill') or (c='stroke') or (c='fill') or (c='clip');
if c='eofill' then
resultat.ajouter_fin(new(Paffixe,init(jump^.x,-1))) //-1=eofill,
else if c='fill' then
resultat.ajouter_fin(new(Paffixe,init(jump^.x,-2))) //-2=fill
else if c='stroke' then
resultat.ajouter_fin(new(Paffixe,init(jump^.x,-3))) //-3=stroke
else
resultat.ajouter_fin(new(Paffixe,init(jump^.x,-4))); //-4=clip
end;
begin
executer:=nil;
if arg=nil then exit;
f1:=PCorps(arg^.tete);
if (f1=nil) then exit;
fichier:=MakeString(f1);
if not FileExists(fichier) then
begin
AfficheMessage(fichier+': fichier introuvable.');
exit;
end;
assign(source,fichier);
{$I-}
system.reset(source);
{$I+}
if eof(source) then begin close(source);exit;end;
chaine:='';nb:=1;resultat.init; x1:=1000; x2:=0; y1:=1000; y2:=0;
while trouve_newpath do lire_path;
close(source);
resultat.ajouter_debut(new(Paffixe,init(x2,y2)));
resultat.ajouter_debut(new(Paffixe,init(x1,y1)));
executer:=Paffixe(resultat.tete);
end;
{=======================}
Quant au script perl il est dans le lien de mon précédent message.
Re: Le modèle povray.mod
Merci.
projetmbc- Nombre de messages : 42
Age : 50
Date d'inscription : 08/01/2009
Ligne de commande sous Windows, une piste...
Bonjour, on m'a indiqué la discussion suivante : cette discusion sur le forum de POV-Ray. On y lit :P.Fradin a écrit:Sous linux la compilation povray est lancée à chaque image, mais je ne sais pas si cela peut se faire automatiquement sous windows (il est possible que oui), sinon tu peux faire un "glisser-déposer" des 36 fichiers simultanés sur l'icône de povray.
A essayer donc... Ne compilant jamais de programme (car je suis un Pythonien), j'ai essayé mais sans succès. J'ai obtenu le message suivant :I installed cygwin. Then i downloaded unix source file of POV-Ray and compiled
it by cygwin. It created the povray.exe which has not any GUI. Then i found two
required dll file on Internet: cygwin1.dll and cygz.dll. I copied them into the
same folder with the povray.exe. So the povray.exe now works on Windows XP
without any GUI.
- Code:
configure:2280: checking for egrep
configure:2290: result: grep -E
configure:2307: checking for style of include used by make
configure:2335: result: none
configure:2415: checking for g++
configure:2444: result: no
configure:2415: checking for c++
configure:2444: result: no
configure:2415: checking for gpp
configure:2444: result: no
configure:2415: checking for aCC
configure:2444: result: no
configure:2415: checking for CC
configure:2444: result: no
configure:2415: checking for cxx
configure:2444: result: no
configure:2415: checking for cc++
configure:2444: result: no
configure:2415: checking for cl
configure:2444: result: no
configure:2415: checking for FCC
configure:2444: result: no
configure:2415: checking for KCC
configure:2444: result: no
configure:2415: checking for RCC
configure:2444: result: no
configure:2415: checking for xlC_r
configure:2444: result: no
configure:2415: checking for xlC
configure:2444: result: no
Au passage, si quelqu'un arrive à le faire je suis preneur de la solution..
projetmbc- Nombre de messages : 42
Age : 50
Date d'inscription : 08/01/2009
Re: Le modèle povray.mod
Bonjour Christophe,
Merci pour l'info, cela va intéresser les windosiens. L'idéal serait que la personne qui a réalisé la compilation accepte de diffuser l'exécutable obtenu et indique où trouver les 2 bibliothèques dll.
A l' occasion je ferai un essai, mais cela me fait bizarre de simuler un environnement linux sous windows sachant que mon windows est déjà virtualisé sous linux...
Merci pour l'info, cela va intéresser les windosiens. L'idéal serait que la personne qui a réalisé la compilation accepte de diffuser l'exécutable obtenu et indique où trouver les 2 bibliothèques dll.
A l' occasion je ferai un essai, mais cela me fait bizarre de simuler un environnement linux sous windows sachant que mon windows est déjà virtualisé sous linux...
Page 5 sur 8 • 1, 2, 3, 4, 5, 6, 7, 8
Page 5 sur 8
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|