yay enkore plus de slides

Co-authored-by: pejour <pejour@users.noreply.github.com>
This commit is contained in:
Laureηt 2023-01-26 20:05:32 +01:00
parent 0bc66b1d3f
commit bbeeee6aee
Signed by: Laurent
SSH key fingerprint: SHA256:kZEpW8cMJ54PDeCvOhzreNr4FSh6R13CMGH/POoO8DI
7 changed files with 1382 additions and 11 deletions

Binary file not shown.

BIN
docs/figs/fvi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
docs/figs/lvl7_2D.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 MiB

BIN
docs/figs/lvl7_3D.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 MiB

View file

@ -2,8 +2,7 @@
theme: academic
class: text-white
coverAuthor: Laurent Fainsin, Damien Guillotin, Pierre-Eliot Jourdan
coverBackgroundUrl: >-
https://images.unsplash.com/photo-1655720408861-8b04c0724fd9?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8
coverBackgroundUrl: https://images.unsplash.com/photo-1655720408861-8b04c0724fd9?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8
coverBackgroundSource: unplash
coverBackgroundSourceUrl: https://unsplash.com/photos/Vc0CmuIfMg0
coverDate: '2023-01-05'
@ -27,6 +26,12 @@ Sujet 6 - Reformulation du MVS par level sets
---
## Level sets 2D animé
<img src="figs/lvl7_2D.gif" class="m-auto mt-5"/>
---
## Exemple Level sets 2D
<img src="figs/lvl7_2D.png" class="m-auto h-110"/>
@ -36,3 +41,39 @@ Sujet 6 - Reformulation du MVS par level sets
Variational principles, surface evolution, PDEs, level set methods, and the stereo problem - Olivier Faugeras, Renaud Keriven, 1998
</Footnote>
</Footnotes>
----
## Exemple Level sets 3D
<img src="figs/lvl7_3D.gif" class="m-auto -mt-1 h-125"/>
---
## Approximation du volume
$\mu_t = \{ Q \in \mathbb{R}^3, u(Q) = t \}, t\in [0,1]\ \text{ou}\ t \in \{0, 1\}$
---
## Raytracing
<img src="https://cdn.discordapp.com/attachments/953586522572066826/1068141883810914427/fvi2.png" class="m-auto -mt-10 h-125"/>
---
## Raytracing
<img src="https://cdn.discordapp.com/attachments/953586522572066826/1068141884242931712/fvi4.png" class="m-auto -mt-10 h-125"/>
---
## Raytracing
<img src="https://cdn.discordapp.com/attachments/953586522572066826/1068141884679147602/fvi6.png" class="m-auto -mt-10 h-125"/>
---
## Raytracing
<img src="https://cdn.discordapp.com/attachments/953586522572066826/1068141885056622661/fvi8.png" class="m-auto -mt-10 h-125"/>

View file

@ -1,9 +1,9 @@
import imageio.v2 as imageio
import matplotlib.pyplot as plt
import mcubes
import numpy as np
import matplotlib.pyplot as plt
import imageio.v2 as imageio
import perlin_noise
from rich.progress import track
# X, Y, Z = np.mgrid[:100, :100, :100]
# V = np.sqrt((X - 50)**2 + (Y - 50)**2 + (Z - 50)**2)
@ -15,25 +15,29 @@ import perlin_noise
noise = perlin_noise.PerlinNoise(octaves=6, seed=1)
X, Y = np.mgrid[:100, :100]
V = [[10 * noise([x/100, y/100]) + np.sqrt((x-50)**2 + (y-50)**2) for y in range(100)] for x in range(100)]
V = [[10 * noise([x / 100, y / 100]) + np.sqrt((x - 50) ** 2 + (y - 50) ** 2) for y in range(100)] for x in range(100)]
V = np.array(V)
V = (V - V.min()) / (V.max() - V.min())
frame_list = []
for i in np.linspace(0.05, 0.55, 100):
for i in track(np.linspace(0.05, 0.55, 100)):
plt.clf()
plt.subplot(1, 2, 1)
plt.imshow(V, cmap="gray")
plt.contour(V, [i], colors="r")
plt.plot([0, 0, 100, 100, 0], [0, 100, 100, 0, 0], "k-")
plt.axis('off')
plt.xlim(0, 100)
plt.ylim(0, 100)
plt.axis("off")
plt.subplot(1, 2, 2)
plt.imshow(V > i, cmap="gray")
plt.plot([0, 0, 100, 100, 0], [0, 100, 100, 0, 0], "k-")
plt.axis('off')
plt.xlim(0, 100)
plt.ylim(0, 100)
plt.axis("off")
plt.savefig(f"/tmp/frame.png")
plt.savefig(f"/tmp/frame.png", dpi=300, bbox_inches="tight", pad_inches=0, transparent=True)
frame_list.append(imageio.imread(f"/tmp/frame.png"))
imageio.mimsave('picture.gif', frame_list + frame_list[::-1], fps=60)
imageio.mimsave("docs/figs/lvl7.gif", frame_list + frame_list[::-1], fps=60)

1326
tmp.py Normal file

File diff suppressed because it is too large Load diff