User Tools

Site Tools


Sidebar

spin:esc203_fs2023

This is an old revision of the document!


Advanced Simulation in the Natural Sciences

ESC203: Spring 2023: Monday Lecture: 10:15-11:00 in Y27-H-35/36 with Joachim, Exercises: 11:15-12:00 in Y27-H-35/36 with Sebastian

TA: Sebastian Schulz

Lectures

Assignments

Assignments should be individual and should be in python and, if you are using non-standard python libraries, provide a correct virtual environment!

For help getting started with virtual environments, please read carefully Python Virtual Environments for Pip and Python Virtual Environments for Conda.

You should email 3 things to Sebastian (sebastian.schulz@uzh.ch):

  1. The working python source code
  2. The requirements.txt file for your virtual environment
  3. A .pdf or .png image or animation of the output of your program

Template: template.zip

Instructions:

Please add the names of the people you work together (if you do) to the comment section of your python scripts.

Create a virtual environment using

Pip

- run virtualenv yourenv_name to create a virtual environment

- run source yourenv_name/bin/activate to activate yourenv_name

- install necessary libraries that you want using pip install package_name

- work in that directory, get your outputs (*.pdf, *.png, *jpeg, *.mp4, etc…)

- run pip freeze > requirements.txt to get your list of libraries

Conda

- run conda create -n yourenvname python=x.x anaconda to create a virtual environment

- run source activate yourenvname to activate yourenv_name

- install necessary libraries that you want using conda install -n yourenv_name package_name

- work in that directory, get your outputs (*.pdf, *.png, *jpeg, *.mp4, etc…)

- run conda list –export > requirements.txt to get your list of libraries

List of assignments

Raytracing:

  1. Write a basic ray tracing algorithm for spheres illuminated by a single light source (hand in by Monday, February 27th, 2023).
  2. Implement the Phong model described in the lecture. Once you are done, you can implement reflection and refraction for transmissive materials (glasses, coatings) into your model. Optional: try out the approximations that make the code run faster (Blinn-Phong model, Schlick's approximation, replacing the power alpha with gamma, assuming beta is small) (hand in by Monday, March 6th 2023).
  3. Ray trace the triangulated Utah tea pot. You can start by implementing the bounding volume hierarchy treewalk algorithm to quickly find the intersection point on the triangles. You can then interpolate the surface normals using the barycentric coordinate system on the triangle (hand in by Monday, March 13th, 2023).
spin/esc203_fs2023.1678371093.txt.gz · Last modified: 2023/03/09 15:11 by sebastian