From 9532bfc0d935226e714b3d2d4deb91db2ab74bd5 Mon Sep 17 00:00:00 2001
From: 1a8fa007520eaf08a0ff2aa23436817a
<1a8fa007520eaf08a0ff2aa23436817a@app-learninglab.inria.fr>
Date: Mon, 17 Aug 2020 14:58:16 +0000
Subject: [PATCH] Starting own notebook
---
module2/exo4/exercice.ipynb | 463 +++++++++++++++++++++++++++++++++++-
1 file changed, 460 insertions(+), 3 deletions(-)
diff --git a/module2/exo4/exercice.ipynb b/module2/exo4/exercice.ipynb
index 0bbbe37..b329111 100644
--- a/module2/exo4/exercice.ipynb
+++ b/module2/exo4/exercice.ipynb
@@ -1,6 +1,464 @@
{
- "cells": [],
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Exploration of 3D Indoor Scenes Datasets"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Install panda3d and ursina engines that may be useful for exploration then."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "hideCode": true,
+ "hideOutput": true,
+ "hidePrompt": false
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.\n",
+ "Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.\n",
+ "To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: panda3d in /opt/conda/lib/python3.6/site-packages (1.10.6.post2)\n",
+ "Requirement already satisfied: ursina in /opt/conda/lib/python3.6/site-packages (3.0.0)\n",
+ "Requirement already satisfied: panda3d in /opt/conda/lib/python3.6/site-packages (from ursina) (1.10.6.post2)\n",
+ "Requirement already satisfied: pillow in /opt/conda/lib/python3.6/site-packages (from ursina) (7.0.0)\n",
+ "Requirement already satisfied: screeninfo in /opt/conda/lib/python3.6/site-packages (from ursina) (0.6.5)\n",
+ "Requirement already satisfied: dataclasses in /opt/conda/lib/python3.6/site-packages (from screeninfo->ursina) (0.7)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.\n",
+ "Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.\n",
+ "To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: ipyvolume in /opt/conda/lib/python3.6/site-packages (0.5.2)\n",
+ "Requirement already satisfied: traittypes in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (0.2.1)\n",
+ "Requirement already satisfied: Pillow in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (7.0.0)\n",
+ "Requirement already satisfied: traitlets in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (4.3.3)\n",
+ "Requirement already satisfied: pythreejs>=1.0.0 in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (2.2.0)\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.\n",
+ "Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.\n",
+ "To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: ipywebrtc in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (0.5.0)\n",
+ "Requirement already satisfied: requests in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (2.23.0)\n",
+ "Requirement already satisfied: numpy in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (1.15.2)\n",
+ "Requirement already satisfied: ipywidgets>=7.5 in /opt/conda/lib/python3.6/site-packages (from ipyvolume) (7.5.1)\n",
+ "Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from traitlets->ipyvolume) (0.2.0)\n",
+ "Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets->ipyvolume) (4.4.1)\n",
+ "Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets->ipyvolume) (1.14.0)\n",
+ "Requirement already satisfied: ipydatawidgets>=1.1.1 in /opt/conda/lib/python3.6/site-packages (from pythreejs>=1.0.0->ipyvolume) (4.0.1)\n",
+ "Requirement already satisfied: idna<3,>=2.5 in /opt/conda/lib/python3.6/site-packages (from requests->ipyvolume) (2.9)\n",
+ "Requirement already satisfied: chardet<4,>=3.0.2 in /opt/conda/lib/python3.6/site-packages (from requests->ipyvolume) (3.0.4)\n",
+ "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /opt/conda/lib/python3.6/site-packages (from requests->ipyvolume) (1.25.7)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.6/site-packages (from requests->ipyvolume) (2020.4.5.1)\n",
+ "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /opt/conda/lib/python3.6/site-packages (from ipywidgets>=7.5->ipyvolume) (7.12.0)\n",
+ "Requirement already satisfied: widgetsnbextension~=3.5.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets>=7.5->ipyvolume) (3.5.1)\n",
+ "Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets>=7.5->ipyvolume) (5.0.4)\n",
+ "Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets>=7.5->ipyvolume) (5.1.4)\n",
+ "Requirement already satisfied: backcall in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (0.1.0)\n",
+ "Requirement already satisfied: pexpect; sys_platform != \"win32\" in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (4.8.0)\n",
+ "Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (45.2.0.post20200209)\n",
+ "Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (0.16.0)\n",
+ "Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (2.5.2)\n",
+ "Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (0.7.5)\n",
+ "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (3.0.3)\n",
+ "Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (6.0.3)\n",
+ "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets>=7.5->ipyvolume) (3.0.2)\n",
+ "Requirement already satisfied: jupyter-core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets>=7.5->ipyvolume) (4.6.3)\n",
+ "Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.5->ipyvolume) (6.0.0)\n",
+ "Requirement already satisfied: tornado>=4.2 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets>=7.5->ipyvolume) (6.0.3)\n",
+ "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.6/site-packages (from pexpect; sys_platform != \"win32\"->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (0.6.0)\n",
+ "Requirement already satisfied: parso>=0.5.2 in /opt/conda/lib/python3.6/site-packages (from jedi>=0.10->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (0.6.0)\n",
+ "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=7.5->ipyvolume) (0.1.8)\n",
+ "Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (5.6.1)\n",
+ "Requirement already satisfied: terminado>=0.8.1 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.8.3)\n",
+ "Requirement already satisfied: Send2Trash in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (1.5.0)\n",
+ "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.7.1)\n",
+ "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (2.11.0)\n",
+ "Requirement already satisfied: pyzmq>=17 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (17.1.2)\n",
+ "Requirement already satisfied: pyrsistent>=0.14.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7.5->ipyvolume) (0.15.7)\n",
+ "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets>=7.5->ipyvolume) (19.3.0)\n",
+ "Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets>=7.5->ipyvolume) (2.8.1)\n",
+ "Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (3.1.0)\n",
+ "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (1.4.2)\n",
+ "Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.4.4)\n",
+ "Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.3)\n",
+ "Requirement already satisfied: mistune<2,>=0.8.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.8.4)\n",
+ "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.6.0)\n",
+ "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (1.1.1)\n",
+ "Requirement already satisfied: webencodings in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets>=7.5->ipyvolume) (0.5.1)\n"
+ ]
+ }
+ ],
+ "source": [
+ "import pip\n",
+ "\n",
+ "def install(package):\n",
+ " if hasattr(pip, 'main'):\n",
+ " pip.main(['install', package])\n",
+ " else:\n",
+ " pip._internal.main(['install', package])\n",
+ "\n",
+ "# Example\n",
+ "if __name__ == '__main__':\n",
+ " install('panda3d')\n",
+ " install('ursina')\n",
+ " install('ipyvolume')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Explore SceneNN scene"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Copy minimalist scene data as string \"sample_scene_data\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "hideCode": true,
+ "hideOutput": true,
+ "hidePrompt": false
+ },
+ "outputs": [],
+ "source": [
+ "sample_scene_data = \"\"\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Load scene data as xml tree element"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from xml.etree import ElementTree\n",
+ "scene_root = ElementTree.fromstring(sample_scene_data)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "from mpl_toolkits.mplot3d import Axes3D, axes3d\n",
+ "fig = plt.figure()\n",
+ "ax = fig.add_subplot(111, projection='3d')\n",
+ "X, Y, Z = axes3d.get_test_data(1.)\n",
+ "ax.plot_wireframe(X, Y, Z) #, rstride=10, cstride=10)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
"metadata": {
+ "celltoolbar": "Hide code",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
@@ -16,10 +474,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.3"
+ "version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
-
--
2.18.1