/ray-optics

Derivate work from https://ricktu288.github.io/ray-optics/, funded by a grant from ANR (Agence Nationale de la Recherche), under the scope of [ANR-20-NCUN-0001] project.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Ray-Optics

Derivate work from https://ricktu288.github.io/ray-optics/, funded by a grant from ANR (Agence Nationale de la Recherche), under the scope of [ANR-20-NCUN-0001] project.

Online version of the simulator is available here

Original features

  • various light sources: ray, beam, and point source
  • reflection in plane or arc mirror
  • refraction in plane or arc interfaces, including both refracted and reflected rays
  • ideal lens/mirror, which obeys lens/mirror equation
  • extensions of rays to see if they converge to a virtual image
  • real images, virtual images and virtual objects directly
  • images that can be observed from some given position
  • Distance and angular measurement

Added features

  • Objects rotation
  • object grouping/moving
  • guides (lines)
  • labels
  • mode highlighting (create/update/move)
  • easier object creation (by angles, sizes, ...)
  • easier object selection
  • french i18n support
  • Cauchy's law (dispersion)
  • canvas export (png, transparent background)
  • variable light intensity for extended or ghost rays
  • cm units support

License

Copyright 2016-2018 Rick Tu, Johnson

Copyright 2021 Atarox30, sebastienjean

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Third-Party Software

Ray Optics Simulation includes or depends upon the following third-party software, either in whole or in part. Each third-party software package is provided under its own license.

FileSaver.js

Popper.js

Bootstrap

jQuery

jQuery-UI

Knockout