Skip to content

npiperni/Geometric-Optics-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GUI JavaFX: Geometric Optics Simulator

Team DANG


  1. Program Description
    • Concept Description
    • Implementation Descriptions
  2. Program Features

Program Description

Concept

  • Optical geometry : An abstract concept of determining the path of light rays.
  • In our case optical geometry is mixed with optics (from physics), to approximate the position and dimensions of the final image.
geometry optics

Implementations

  1. The program reads values imputed by the user.
  2. The program calculates the resulting values (hi, ho, M).
  3. The program then creates the animations that it animated depending on the location and height of the image, found through the calculations.
Formulas used in calculations

1f = 1di + 1do, M = hiho = -dido

    f = focal length
    M = magnification
    hi = image height 
    ho = image height
    di = object distance
    do = object height
    
Pythagorean theorem : a2 + b2 = c2 ; was also used to calculate the ray lengths and trigonometry was used to calculate the ray angles in the animation.

Features

Features - Animations

Dynamic Animations
  • Animation changes depending on the settings chose (i.e: if image is real, the rays will merge on the opposite side of the lens)

Features - Animations

Settings Table
  • Multiple custom settings input
  • Can select any setting already in table with radio button

Features - Theme

Customizable Theme
  • The theme of the program can be changed between the ones available

Features - Path - Error Windows

Path Changer
  • Allows the user to input a custom file path for the database.
  • A window that displays the error that occurred when accessing the database, allowing the user to debug without the use of an IDE

© 2020 | All Rights Reserved - DANG Team

About

Geometric Optics Simulator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors