/usr/include/giac/plot3d.h is in libgiac-dev 1.2.3.57+dfsg1-2build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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
|