{"cells": [{"cell_type": "markdown", "id": "fed67b73", "metadata": {}, "source": ["# 1A - Enonc\u00e9 3 mars 2022- rattrapage\n", "\n", "Correction de l'examen du 3 mars 2022. L'objectif est de construire un arbre de fa\u00e7on algorithmique."]}, {"cell_type": "code", "execution_count": 1, "id": "5c7c88b5", "metadata": {}, "outputs": [{"data": {"text/html": ["
run previous cell, wait for 2 seconds
\n", ""], "text/plain": [""]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "markdown", "id": "4d6219c6", "metadata": {}, "source": ["## Dessin d'une liste de segments"]}, {"cell_type": "code", "execution_count": 2, "id": "423979d4", "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["import matplotlib.pyplot as plt\n", "\n", "\n", "def draw(segments, L=1):\n", " fig, ax = plt.subplots(1, 1, figsize=(4, 4))\n", " maxxy = 0\n", " for seg in segments:\n", " ax.plot([seg['x1'], seg['x2']], [seg['y1'], seg['y2']], 'b-', lw=seg['E'] * 10000)\n", " ax.set_xlim([0, 2 * L])\n", " ax.set_ylim([-L, L])\n", " return ax\n", "\n", "draw([{'x1': 0, 'y1': 0, 'x2': 1.0, 'y2': 0.0, 'E': 0.001, 'angle': 0}]);"]}, {"cell_type": "markdown", "id": "aa56697d", "metadata": {}, "source": ["## Distance d'un segment"]}, {"cell_type": "code", "execution_count": 3, "id": "8cde6f66", "metadata": {}, "outputs": [{"data": {"text/plain": ["1.0"]}, "execution_count": 4, "metadata": {}, "output_type": "execute_result"}], "source": ["def distance(seg):\n", " x1, x2, y1, y2 = seg['x1'], seg['x2'], seg['y1'], seg['y2']\n", " return ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5\n", "\n", "distance({'x1': 0, 'y1': 0, 'x2': 1.0, 'y2': 0.0, 'E': 0.001, 'angle': 0})"]}, {"cell_type": "markdown", "id": "a10ca2b8", "metadata": {}, "source": ["## Calcul du segment suivant"]}, {"cell_type": "code", "execution_count": 4, "id": "f65183df", "metadata": {}, "outputs": [{"data": {"text/plain": ["{'x1': 0, 'y1': 0, 'x2': 1.0, 'y2': 0.0, 'E': 0.001, 'angle': 0}"]}, "execution_count": 5, "metadata": {}, "output_type": "execute_result"}], "source": ["from math import cos, sin, pi\n", "\n", "\n", "def segment(x=0, y=0, angle=0, L=1, E=0.001):\n", " x2 = x + cos(angle) * L\n", " y2 = y + sin(angle) * L\n", " return dict(x1=x, y1=y, x2=x2, y2=y2, E=E, angle=angle)\n", "\n", "segment()"]}, {"cell_type": "markdown", "id": "68f1a950", "metadata": {}, "source": ["## Calcul des trois segments suivants"]}, {"cell_type": "code", "execution_count": 5, "id": "b94ef6c2", "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["def tree3(seg, angle=pi/3, re=0.33, rl=0.66):\n", " x, y = seg['x2'], seg['y2']\n", " e = seg['E'] * re\n", " le = distance(seg) * rl\n", " a = seg['angle']\n", " segments = [\n", " segment(x, y, angle=a-angle, L=le, E=e),\n", " segment(x, y, angle=a, L=le, E=e),\n", " segment(x, y, angle=a+angle, L=le, E=e),\n", " ]\n", " return segments\n", "\n", "premier = segment()\n", "segs = [premier] + tree3(premier, 1)\n", "draw(segs);"]}, {"cell_type": "markdown", "id": "ace78731", "metadata": {}, "source": ["## Construction de tous les niveaux de l'arbre"]}, {"cell_type": "code", "execution_count": 6, "id": "d21515d6", "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["def tree_recursive(level, seg, angle=pi/6, re=0.6, rl=0.95):\n", " all_segs = [seg]\n", " iter_segs = [seg]\n", " for i in range(level):\n", " new_segs = []\n", " for seg in iter_segs:\n", " new_segs.extend(tree3(seg, angle=angle, re=re, rl=rl))\n", " all_segs.extend(new_segs)\n", " iter_segs = new_segs\n", " return all_segs\n", "\n", "premier = segment()\n", "segs = tree_recursive(3, premier)\n", "draw(segs, L=3);"]}, {"cell_type": "markdown", "id": "ee2945c8", "metadata": {}, "source": ["## Construction de trois segments al\u00e9atoires"]}, {"cell_type": "code", "execution_count": 7, "id": "bea39e8a", "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["import random\n", "\n", "def tree3_alea(seg, angle=pi/3, re=0.33, rl=0.66, rnd=0.1):\n", " re_rnd = re * (1 + random.random() * rnd)\n", " rl_rnd = rl * (1 + random.random() * rnd)\n", " \n", " x, y = seg['x2'], seg['y2']\n", " e = seg['E'] * re_rnd\n", " le = distance(seg) * rl_rnd\n", "\n", " a = seg['angle']\n", " a1 = a - (1 + random.random() * rnd) * angle\n", " a2 = a + random.random() * rnd * angle\n", " a3 = a + (1 + random.random() * rnd) * angle\n", " \n", " segments = [\n", " segment(x, y, angle=a1, L=le, E=e),\n", " segment(x, y, angle=a2, L=le, E=e),\n", " segment(x, y, angle=a3, L=le, E=e),\n", " ]\n", " return segments\n", "\n", "premier = segment()\n", "segs = [premier] + tree3_alea(premier, 1)\n", "draw(segs);"]}, {"cell_type": "markdown", "id": "9ab893ca", "metadata": {}, "source": ["## Construction d'un arbre al\u00e9atoire\n", "\n", "L'id\u00e9e est d'ajouter 40% d'al\u00e9atoire sur trois param\u00e8tres : la r\u00e9duction des longueurs, la r\u00e9duction des \u00e9paisseurs, les angles des trois segments suivants."]}, {"cell_type": "code", "execution_count": 8, "id": "68cf03b7", "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["def tree_recursive_alea(level, seg, angle=pi/6, re=0.6, rl=0.95, rnd=0.4):\n", " all_segs = [seg]\n", " iter_segs = [seg]\n", " for i in range(level):\n", " new_segs = []\n", " for seg in iter_segs:\n", " new_segs.extend(tree3_alea(seg, angle=angle, re=re, rl=rl, rnd=rnd))\n", " all_segs.extend(new_segs)\n", " iter_segs = new_segs\n", " return all_segs\n", "\n", "premier = segment()\n", "segs = tree_recursive_alea(3, premier)\n", "draw(segs, L=3.5);"]}, {"cell_type": "code", "execution_count": 9, "id": "a1be3ff5", "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["premier = segment()\n", "segs = tree_recursive_alea(4, premier)\n", "draw(segs, L=5);"]}, {"cell_type": "code", "execution_count": 10, "id": "62f70df7", "metadata": {}, "outputs": [], "source": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.5"}}, "nbformat": 4, "nbformat_minor": 5}