Changeset 151 for trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/TRIANGULATION/triangule_c.html
- Timestamp:
- 08/09/06 12:21:11 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/TRIANGULATION/triangule_c.html
r138 r151 696 696 </div> 697 697 698 <div id="file_comments"></div> 698 <div id="file_comments"> 699 Construct the triangulation array. 700 701 The idea is: construct a list of triangle which link points between them. 702 This is automatically done by the function TRIANGULATE 703 Here: 704 we consider the fact that points are disposed on a grid (regular or not, 705 but not unstructured, that is to say that points are written following a 706 rectangular matrix). A easy way to do triangles between all points is then: 707 708 for each point (i,j) of the matrix -exept those of the last line and of 709 the last column- we call rectangle (i,j) the rectangle made of the four 710 points (i,j), (i+1,j), (i,j+1), (i+1,j+1). To trace all triangle, we just 711 have to trace the 2 triangles contained in rectangles (i,j) 712 713 We notice that each rectangle (i,j) have 2 diagonals (it is true... Make a 714 drawing to make sure!!), so there are two possible choice for each rectangle 715 we want to cut in 2 triangles... 716 717 It is thanks to this choice that we will be able to trace coast with right 718 angles. At each angle of coast remarkable by the existence of an unique land 719 point or of an unique ocean point on one of the four summit of a rectangle (i,j), 720 we have to cut the rectangle following the diagonal passing by this point. 721 </div> 699 722 700 723 … … 711 734 <div class="routine_details" id="_triangule_c"> 712 735 713 <h2><a class="top" href="#container">top</a>triangule_c </h2> 736 <h2><a class="top" href="#container">top</a>triangule_c <span class="categories"> 737 graphic 738 </span></h2> 714 739 715 740 <p class="header"> 716 <span class="result">result = </span>triangule_c(<span class="result"> <a href="#_triangule_c_param_maskentree">maskentree</a></span>, <a href="#_triangule_c_keyword_COINMONTE">COINMONTE</a>=<span class="result">COINMONTE</span>, <a href="#_triangule_c_keyword_COINDESCEND">COINDESCEND</a>=<span class="result">COINDESCEND</span>, <a href="#_triangule_c_keyword_BASIC">BASIC</a>=<span class="result">BASIC</span>, <a href="#_triangule_c_keyword_KEEP_CONT">KEEP_CONT</a>=<span class="result">KEEP_CONT</span>)</p>741 <span class="result">result = </span>triangule_c(<span class="result">[<a href="#_triangule_c_param_maskentree">maskentree</a>]</span>, <a href="#_triangule_c_keyword_COINMONTE">COINMONTE</a>=<span class="result">COINMONTE</span>, <a href="#_triangule_c_keyword_COINDESCEND">COINDESCEND</a>=<span class="result">COINDESCEND</span>, <a href="#_triangule_c_keyword_BASIC">BASIC</a>=<span class="result">BASIC</span>, <a href="#_triangule_c_keyword_KEEP_CONT">KEEP_CONT</a>=<span class="result">KEEP_CONT</span>)</p> 717 742 718 743 <div class="comments"> 719 NAME:triangule_c 720 721 PURPOSE:construit le tableau de triangulation. 722 723 L''idee est de 724 construire une liste de triangles qui relient les points entre 725 eux. Ceci est fait automatiquement avec la fonction TRIANGULATE. 726 ICI: 727 on tient compte du fait que les points sont disposes sur une grille 728 (reguliere ou pas, mais pas destructuree, cad que les points sont 729 ecrits suivant une matrice rectangulaire). Un moyen tres simple de 730 faire des triangles entre tous les points est alors: 731 732 pour chaque point (i,j) de la matrice -sauf ceux de la derniere 733 ligne et de la derniere colonne- on on appelle le rectangle 734 (i,j) le rectangle forme par les 4 points (i,j), (i+1,j), 735 (i,j+1), (i+1,j+1). Pour tracer tous les triangles, il suffit de 736 tracer les 2 triangles contenus ds les rectangles (i,j) 737 738 au passage on remarque que chaque rectangle (i,j) possede 2 diagonales (si 739 si faites un dessin c''est vrai), il y a donc 2 choix possibles pour 740 chaque rectangles qd on veut le couper en 2 triangles... 741 742 C''est grace a ce choix que l''on va pouvoir tracer les cotes avec 743 des angles droits. A chaque angle de cote remarquable par 744 l''existance d''un unique point terre ou d''un unique point mer sur 745 les 4 cotes d''un rectangle (i,j), il faut couper le rectangle 746 suivant la diagonale qui qui passe par le point singulier. 747 748 CATEGORY:pour faire de beaux graphiques masques 749 750 CALLING SEQUENCE:res=triangule([mask]) 751 752 INPUTS:optionnel:mask c''est le tableau 2d qui sevira a masquer le 753 champ que l''on tracera apres avec CONTOUR, 754 ...TRIANGULATION=triangule(mask) 755 si cet argument n''est pas specifie, la function utilise tmask. 756 757 KEYWORD PARAMETERS: 758 759 /BASIC: specifie que le masque est sur une grille basice 760 (utiliser pour la triangulation ds les coupes verticales et 761 des hovmoellers) 762 763 /KEEP_CONT: to keep the triangulation even on the continents 764 765 COINMONTE=tableau, pour obtenir le tableau de "coins de terre 766 montant" a traiter avec completecointerre.pro ds la variable 767 tableau plutot que de la faire passer par la variable globale 768 twin_corners_up. 769 770 COINDESCEND=tableau cf COINMONTE 771 772 OUTPUTS: 773 res: tableau 2d (3,nbre de triangles). 774 chaque ligne de res represente les indices des points 775 constituants les sommets d''un triangle. 776 cf. comment on trace les triangles ds dessinetri.pro 777 778 COMMON BLOCKS: 779 common.pro different.pro definetri.pro 780 781 SIDE EFFECTS: 782 783 RESTRICTIONS:les donnees dont un veut ensuite faire le contour 784 doivent etre disposees dans une matrice. Par contre dans la matrice, 785 la disposition des points peut ne pas etre irreguliere. Si les 786 donnees sont disposees completement de facon irreguliere, utiliser 787 TRIANGULE. 788 789 EXAMPLE: 790 </div> 791 792 744 </div> 745 746 <h3>Return value</h3><div class="preformat"> 747 res: tableau 2d (3,nbre de triangles). 748 Each line of res represent indexes of points constituing summits of a triangle. 749 See how we trace triangles in definetri.pro 750 </div> 793 751 794 752 … … 797 755 798 756 <h4 id="_triangule_c_param_maskentree">maskentree 799 800 801 757 <span class="attr">in</span> 758 759 <span class="attr">optional</span> 802 760 803 761 … … 807 765 </h4> 808 766 809 <div class="comments"></div> 767 <div class="comments"> 768 It is a 2d array which will serve to mask the field we will trace after with CONTOUR, 769 ...TRIANGULATION=triangule(mask) 770 If this argument is not specified, the function use tmask 771 </div> 810 772 811 773 … … 827 789 </h4> 828 790 829 <div class="comments"></div> 791 <div class="comments"> 792 It is an array. To obtain the array of "ascending land corner" to be treated with 793 completecointerre.pro in the variable array instead of make it pass by the global 794 variable twin_corners_up. 795 </div> 830 796 831 797 <h4 id="_triangule_c_keyword_COINDESCEND">COINDESCEND … … 840 806 </h4> 841 807 842 <div class="comments"></div> 808 <div class="comments"> 809 It is an array. See COINMONTE 810 </div> 843 811 844 812 <h4 id="_triangule_c_keyword_BASIC">BASIC … … 853 821 </h4> 854 822 855 <div class="comments"></div> 823 <div class="comments"> 824 Specify that the mask is on a basic grid (use the triangulation for vertical cuts and hovmoellers) 825 </div> 856 826 857 827 <h4 id="_triangule_c_keyword_KEEP_CONT">KEEP_CONT … … 866 836 </h4> 867 837 868 <div class="comments"></div> 838 <div class="comments"> 839 To keep the triangulation even on the continents 840 </div> 869 841 870 842 871 843 872 844 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 845 <h3>Version history</h3> 846 847 <h4>Version</h4><div class="preformat"> 848 $Id: triangule_c.pro 150 2006-08-09 10:12:54Z navarro $ 849 </div> 850 <h4>History</h4><div class="preformat"></div> 851 852 853 <h3>Known issues</h3> 854 855 856 <h4>Todo items</h4><div class="preformat"> 857 seb L.267->268 je ne pense pas que ce soit ce que tu voulais dire mais 858 c'est la traduction de ce qu'il y avait écrit. Correction si besoin.</div> 859 <h4>Restrictions</h4><div class="preformat"> 860 Datas whose we want to do the contour must be disposed in a matrix. 861 On the other hand, in the matrix, the points's arrangement can not be 862 irregular. If it is, use TRIANGULE. 863 </div> 864 865 <h3>Other attributes</h3> 866 867 868 <h4>Uses routines</h4><div class="preformat"> 869 common.pro 870 different.pro 871 definetri.pro 872 </div> 889 873 890 874
Note: See TracChangeset
for help on using the changeset viewer.