Au départ je m'étais posé la question de l'aire définie entre un arc de Bézier et la base du triangle qui lui est associé. Et par tâtonnement j'avais trouvé un rapport de 2/3 entre cette aire et celle du triangle. La démonstration qui suit confirme ce résultat. Comme dans la macro Bezier4 la courbe de Bézier est définie par un lieu, j'ai bricolé une macro-commande qui permet de mesurer l'aire délimitée par un arc de courbe de type lieu et une droite quelconque. A. Principe de la construction L'aire est calculée par la méthode des trapèzes (16 en l'occurence). La macro-commande définit une fenêtre de dimensions et d'orientation variables, adaptée à un lieu particulier. Cette fenêtre peut être déplacée en différents endroits de la courbe. B. La macro-commande Macro Cabri II Plus vers. MS-Windows 1.2.5 Aire16, no name Help: "axes, 1, lieu, point, 2 segments" - les axes sont nécessaires car on utilise les coordonnées des points d'intersection de la grille avec le lieu ; - le nombre 1 définit le rayon du rapporteur qui permet d'orienter la fenêtre de l'intégrateur ; il peut être modifié (augmenté) quand on veut affiner la rotation de cette fenêtre) ; - le lieu doit évidemment être désigné ; - le point est le centre du rapporteur ; il permet de translater la fenêtre de l'intégrateur ; - les deux segments, dont la position et la longueur pourront être modifiées par la suite, vont supporter chacun un point courant qui permet de fixer les dimensions (largeur, hauteur) de la fenêtre. Mth: 0 CN:6, ON:173, FN:67, PO:0 CT: number, CS 0, default settings, locus, CS 0, thicker, point, CS 0, color:Bl, thick, CIRCLE, segment, CS 2, default settings, segment, CS 2, default settings, coordinate system, CS 1, default settings, Const: Pt/, Mth:1, 1, CN:1, VN:2, Const: 6, thick, CIRCLE, Pt/, Mth:1, 1, CN:1, VN:2, Const: 9, thick, CIRCLE, on place un point courant sur chacun des deux segments (les segments sont représentés par trois nombres, par exemple le premier par 4, 5 et 6 ; 4 et 5 sont les deux points qui délimitent le segment et 6 représente le segment lui-même) Transf, Mth:2, 0, CN:2, VN:1, Const: 3 1 Cir, Mth:1, 0, CN:2, VN:2, Const: 3 14 cercle de rayon le nombre 1 et de centre le point 3 Par, Mth:0, 0, CN:2, VN:4, axis:x, Const: 3 11 Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 16 15, invisible, Int, Mth:0, 1, CN:2, VN:1, int ind:0x10000, Const: 16 15, invisible, parallèle à l'axe des x passant par le centre du rapporteur 3 et intersection de cette parallèle avec le cercle (point 17, à gauche, et point 18, à droite) Line, Mth:1, 0, CN:2, VN:4, Const: 3 17 droite 19 d'origine 3, passant par le point 17 (parallèle à l'axe des x) Perp, Mth:0, 0, CN:2, VN:4, Const: 3 19 perpendiculaire 20 à cette droite en 3 (parallèle à l'axe des y) Pt/, Mth:0, 0, CN:1, VN:2, Const: 20 point 21 sur cette droite AngVal, Mth:0, 0, CN:3, VN:1, Const: 17 3 21 mesure de l'angle droit (90°) Rot, Mth:0, 1, CN:3, VN:1, Const: 17 3 22, invisible, rotation directe de 90°, de centre 3, amenant l'image du point 17 sur la direction verticale, en 23 Arc, Mth:0, 1, CN:3, VN:5, Const: 17 23 18, default settings, tracé de l'arc inférieur du rapporteur Pt/, Mth:4, 1, CN:1, VN:2, Const: 24, color:Bl, thick, CIRCLE, point courant 25 sur le rapporteur Sym, Mth:0, 0, CN:2, VN:1, Const: 25 3 symétrique 26 de ce point par rapport au centre du rapporteur Line, Mth:1, 0, CN:2, VN:4, Const: 3 26 Perp, Mth:0, 0, CN:2, VN:4, Const: 3 27 tracé des deux directions 27 et 28 de la fenêtre d'intégration passant par le centre 3 du rapporteur Pt/, Mth:0, 0, CN:1, VN:2, Const: 28 AngVal, Mth:0, 0, CN:3, VN:1, Const: 26 3 29 Rot, Mth:0, 0, CN:3, VN:1, Const: 26 3 30 mesure d'un angle de 90° (on aurait pu s'en passer car cela a déjà été fait !) puis image 31 du point 26 par rotation directe de 90° Axes, Mth:1, 0, CN:3, VN:3, cart, Const: 3 26 31 tracé d'un repère orthonormé d'origine le centre du rapporteur, et d'unité le rayon du rapporteur Seg, Mth:0, 1, CN:2, VN:2, Const: 17 18, color:lBl, diamètre du rapporteur en bleu clair Lgth, Mth:1, 1, CN:2, VN:1, Const: 7 13, default settings, Text, Mth:0, 1, CN:2, VN:3, Const: 7 13, inc.elmts: 34, default settings, ""#" Lgth, Mth:1, 1, CN:2, VN:1, Const: 4 12, default settings, Text, Mth:0, 1, CN:2, VN:3, Const: 4 12, inc.elmts: 36, default settings, ""#" mesure des positions des points courants sur les deux segments (largeur et demi-hauteur de la fenêtre d'intégration) Transf, Mth:0, 1, CN:2, VN:1, axis:x, Const: 32 36, default settings, Transf, Mth:0, 1, CN:2, VN:1, axis:y, Const: 32 34, default settings, report sur les axes de la fenêtre de ces deux longueurs Perp, Mth:0, 0, CN:2, VN:4, axis:y, Const: 39 32 Perp, Mth:0, 0, CN:2, VN:4, axis:x, Const: 38 32 Pt/, Mth:0, 0, CN:1, VN:2, Const: 40 Refl, Mth:0, 0, CN:2, VN:1, axis:x, Const: 42 32 Pt/, Mth:0, 0, CN:1, VN:2, Const: 40 Refl, Mth:0, 0, CN:2, VN:1, axis:x, Const: 44 32 Line, Mth:1, 0, CN:2, VN:4, Const: 43 45 Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 41 40, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 46 41, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0x10000, Const: 46 32, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 49 39 47 48, default settings, construction du polygone (rectangle) définissant la fenêtre d'intégration Formula, Mth:0, 0, CN:1, VN:1, Const: 36, formula: a/16 division de la largeur de la fenêtre par 16 Transf, Mth:0, 1, CN:2, VN:1, axis:x, Const: 32 51, default settings, report de cette valeur sur l'axe x de la fenêtre Seg, Mth:0, 0, CN:2, VN:2, Const: 49 39 Vec, Mth:0, 0, CN:2, VN:2, Const: 3 52 Tran, Mth:0, 0, CN:2, VN:1, Const: 49 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 39 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 55 56 Tran, Mth:0, 0, CN:2, VN:1, Const: 55 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 56 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 58 59 Tran, Mth:0, 0, CN:2, VN:1, Const: 58 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 59 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 61 62 Tran, Mth:0, 0, CN:2, VN:1, Const: 61 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 62 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 64 65 Tran, Mth:0, 0, CN:2, VN:1, Const: 64 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 65 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 67 68 Tran, Mth:0, 0, CN:2, VN:1, Const: 67 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 68 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 70 71 Tran, Mth:0, 0, CN:2, VN:1, Const: 70 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 71 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 73 74 Tran, Mth:0, 0, CN:2, VN:1, Const: 73 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 74 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 76 77 Tran, Mth:0, 0, CN:2, VN:1, Const: 76 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 77 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 79 80 Tran, Mth:0, 0, CN:2, VN:1, Const: 79 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 80 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 82 83 Tran, Mth:0, 0, CN:2, VN:1, Const: 82 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 83 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 85 86 Tran, Mth:0, 0, CN:2, VN:1, Const: 85 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 86 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 88 89 Tran, Mth:0, 0, CN:2, VN:1, Const: 88 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 89 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 91 92 Tran, Mth:0, 0, CN:2, VN:1, Const: 91 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 92 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 94 95 Tran, Mth:0, 0, CN:2, VN:1, Const: 94 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 95 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 97 98 Tran, Mth:0, 0, CN:2, VN:1, Const: 97 54 Tran, Mth:0, 0, CN:2, VN:1, Const: 98 54 Seg, Mth:0, 0, CN:2, VN:2, Const: 100 101 division en 16 parties égales de la largeur de la fenêtre Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 57 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 60 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 60 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 63 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 63 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 66 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 66 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 69 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 69 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 72 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 72 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 75 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 75 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 78 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 78 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 81 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 81 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 84 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 84 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 87 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 87 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 90 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 90 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 93 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 93 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 96 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 96 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 99 2, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 99 32, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 53 2, default settings, intersection des segments constituant la grille verticale avec le lieu Pol, Mth:0, 1, CN:4, VN:5, Const: 3 132 103 52, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 52 103 104 105, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 105 104 106 107, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 107 106 108 109, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 109 108 110 111, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 111 110 112 113, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 113 112 114 115, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 115 114 116 117, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 117 116 118 119, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 119 118 120 121, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 121 120 122 123, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 123 122 124 125, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 125 124 126 127, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 127 126 128 129, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 129 128 130 131, default settings, Int, Mth:0, 1, CN:2, VN:1, int ind:0, Const: 102 2, default settings, Pol, Mth:0, 1, CN:4, VN:5, Const: 131 130 148 38, default settings, tracé des trapèzes Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 103 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 104 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 106 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 108 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 110 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 112 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 114 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 116 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 118 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 120 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 122 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 124 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 126 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 128 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 130 32 Eq/Co, Mth:0, 0, CN:2, VN:3, X2A2PY2B2EG1, cart, Const: 148 32 coordonnées des points d'intersection du lieu avec la grille verticale Area, Mth:0, 0, CN:1, VN:1, Const: 133 Area, Mth:0, 0, CN:1, VN:1, Const: 134 Area, Mth:0, 0, CN:1, VN:1, Const: 135 Area, Mth:0, 0, CN:1, VN:1, Const: 136 Area, Mth:0, 0, CN:1, VN:1, Const: 137 Area, Mth:0, 0, CN:1, VN:1, Const: 138 Area, Mth:0, 0, CN:1, VN:1, Const: 139 Area, Mth:0, 0, CN:1, VN:1, Const: 140 Area, Mth:0, 0, CN:1, VN:1, Const: 141 Area, Mth:0, 0, CN:1, VN:1, Const: 142 Area, Mth:0, 0, CN:1, VN:1, Const: 143 Area, Mth:0, 0, CN:1, VN:1, Const: 144 Area, Mth:0, 0, CN:1, VN:1, Const: 145 Area, Mth:0, 0, CN:1, VN:1, Const: 146 Area, Mth:0, 0, CN:1, VN:1, Const: 147 Area, Mth:0, 0, CN:1, VN:1, Const: 149 mesure des aires des trapèzes Formula, Mth:0, 0, CN:16, VN:1, Const: 150 166 151 167 152 168 153 169 154 170 155 171 156 172 157 173, formula: sign(a)*b+sign(c)*d+sign(e)*f+sign(g)*h+sign(i)*j+sign(k)*l+sign(m)*n+sign(o)*p Formula, Mth:0, 0, CN:16, VN:1, Const: 158 174 159 175 160 176 161 177 162 178 163 179 164 180 165 181, formula: sign(a)*b+sign(c)*d+sign(e)*f+sign(g)*h+sign(i)*j+sign(k)*l+sign(m)*n+sign(o)*p Formula, Mth:0, 1, CN:2, VN:1, Const: 182 183, default settings, , formula: a+b calcul en deux fois de la somme des aires (apparemment Cabri n'accepte pas des formules dépassant un certain nombre de caractères) C. Exemples 1. Arc de Bézier La vérification de la formule donnant l'aire délimitée par l'arc de Bézier et la base du triangle dans lequel il est défini a été faite en deux temps. Sur le premier schéma, le rapporteur a un rayon de 1 et sa rotation est approximative. Le résultat théorique est 6 cm2. On obtient 5,92 cm2. Dans le schéma suivant, le rayon du rapporteur a été augmenté (doublé) et la précision de positionnement de la fenêtre d'intégration en rotation a été améliorée. On arrive à un résultat tout à fait acceptable : 5,99 cm2. 2. Courbe y = 4 sin(x/8 + x2/12) Le premier schéma présente un résultat d'intégration proche de zéro (deux aires opposées). Le second schéma traite un cas général, avec fenêtre d'intégration inclinée. D. Remarques
|