6663b6c9
adorian
projet complet av...
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
/* -*- mode:C++ ; compile-command: "g++ -I.. -g -c plot3d.cc" -*- */
#ifndef _GIAC_PLOT3D_H
#define _GIAC_PLOT3D_H
/*
* Copyright (C) 2000,2014 B. Parisse, Institut Fourier, 38402 St Martin d'Heres
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "first.h"
#include <stdexcept>
#include <cmath>
#include <cstdlib>
#include "gen.h"
#include <stdio.h>
// #include <stdiostream.h>
#ifndef NO_NAMESPACE_GIAC
namespace giac {
#endif // ndef NO_NAMESPACE_GIAC
gen remove_pnt_vect(const gen & g);
extern const unary_function_ptr * const at_sphere ;
extern const unary_function_ptr * const at_cylindre ;
extern const unary_function_ptr * const at_plan ;
gen hypersurface(const gen & args,const gen & equation,const gen & vars);
gen do_point3d(const gen & g);
bool is3d(const giac::gen & g);
bool perpendiculaire_commune(const gen & d1,const gen & d2,gen & M, gen & N,vecteur & n,GIAC_CONTEXT);
gen similitude3d(const vecteur & centrev,const gen & angle,const gen & rapport,const gen & b,int symrot,GIAC_CONTEXT);
gen hypersphere_equation(const gen & g,const vecteur & xyz);
vecteur interpolyedre(const vecteur & p,const gen & bb,GIAC_CONTEXT);
vecteur interdroitehyperplan(const gen & a,const gen &b,GIAC_CONTEXT);
vecteur interhyperplan(const gen & p1,const gen & p2,GIAC_CONTEXT);
vecteur interhypersurfacecurve(const gen & a,const gen &b,GIAC_CONTEXT);
vecteur inter2hypersurface(const gen & a,const gen &b,GIAC_CONTEXT);
// a hyperplan, b hypersphere
vecteur interplansphere(const gen & a,const gen & b,GIAC_CONTEXT);
vecteur remove_face(const vecteur & face,const vecteur & v,GIAC_CONTEXT);
gen hyperplan2hypersurface(const gen & g);
gen hypersphere2hypersurface(const gen & g);
gen hypersphere_equation(const gen & g,const vecteur & xyz);
vecteur hypersphere_parameq(const gen & g,const vecteur & st);
gen hypersurface_equation(const gen & g,const vecteur & xyz,GIAC_CONTEXT);
bool hyperplan_normal_point(const gen & g,vecteur & n,vecteur & P);
vecteur rand_3d();
// Given a 3-d vector n, find 2 vectors normal to n
bool normal3d(const gen & n,vecteur & v1,vecteur & v2);
gen plotparam3d(const gen & f,const vecteur & vars,double function_xmin,double function_xmax, double function_ymin, double function_ymax,double function_zmin,double function_zmax,double function_umin,double function_umax,double function_vmin,double function_vmax,bool clrplot,bool f_autoscale,const vecteur & attributs,double ustep,double vstep,const gen & eq,const vecteur & eqvars,GIAC_CONTEXT);
gen _plot3d(const gen & args,GIAC_CONTEXT);
extern const alias_type alias_at_plot3d;
extern const unary_function_ptr * const at_plot3d ;
extern const unary_function_ptr * const at_hypersurface;
extern const unary_function_ptr * const at_hyperplan;
gen hypersurface(const gen & args,const gen & equation,const gen & vars);
gen _hypersurface(const gen & args,GIAC_CONTEXT);
gen hypersurface_equation(const gen & g,const vecteur & xyz,GIAC_CONTEXT);
extern const unary_function_ptr * const at_hypersphere;
vecteur hyperplan_normal(const gen & g);
gen _hyperplan(const gen & args,GIAC_CONTEXT);
gen _plan(const gen & args,GIAC_CONTEXT);
extern const unary_function_ptr * const at_hyperplan;
gen _cone(const gen & args,GIAC_CONTEXT);
gen _demi_cone(const gen & args,GIAC_CONTEXT);
gen _cylindre(const gen & args,GIAC_CONTEXT);
gen _perpendiculaire_commune(const gen & args,GIAC_CONTEXT);
gen _polyedre(const gen & args,GIAC_CONTEXT);
gen _prisme(const gen & args,GIAC_CONTEXT);
gen _parallelepipede(const gen & args,GIAC_CONTEXT);
gen _pyramide(const gen & args,GIAC_CONTEXT);
gen _tetraedre_centre(const gen & args,GIAC_CONTEXT);
gen _cube(const gen & args,GIAC_CONTEXT);
gen _cube_centre(const gen & args,GIAC_CONTEXT);
gen _octaedre(const gen & args,GIAC_CONTEXT);
gen _icosaedre(const gen & args,GIAC_CONTEXT);
gen _dodecaedre(const gen & args,GIAC_CONTEXT);
gen _aretes(const gen & args,GIAC_CONTEXT);
gen _faces(const gen & args,GIAC_CONTEXT);
gen _hypersphere(const gen & args,GIAC_CONTEXT);
gen _sphere(const gen & args,GIAC_CONTEXT);
gen _quadrique(const gen & args,GIAC_CONTEXT);
extern const unary_function_ptr * const at_hypersphere;
gen plotparam3d(const gen & f,const vecteur & vars,double function_xmin,double function_xmax, double function_ymin, double function_ymax,double function_zmin,double function_zmax,double function_umin,double function_umax,double function_vmin,double function_vmax,bool densityplot,bool f_autoscale,const vecteur & attributs,double ustep,double vstep,const gen & eq,const vecteur & eqvars,GIAC_CONTEXT);
gen plotimplicit(const gen& f_orig,const gen&x,const gen & y,const gen & z,double xmin,double xmax,double ymin,double ymax,double zmin,double zmax,int nxstep,int nystep,int nzstep,double eps,const vecteur & attributs,bool unfactored,const context * contextptr);
bool est_cospherique(const gen & a,const gen & b,const gen & c,const gen & d,const gen & f,GIAC_CONTEXT);
gen _est_cospherique(const gen & args,GIAC_CONTEXT);
extern const unary_function_ptr * const at_est_cospherique;
// convert 2-d graphic object to 3-d (with z=0)
gen convert3d(const gen & g,GIAC_CONTEXT);
#ifndef NO_NAMESPACE_GIAC
} // namespace giac
#endif // ndef NO_NAMESPACE_GIAC
#endif // _GIAC_PLOT3D_H
|