Zephyr Scientific Library (zscilib)
optics.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2020 Kevin Townsend (KTOWN)
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
22 #ifndef ZEPHYR_INCLUDE_ZSL_OPTICS_H_
23 #define ZEPHYR_INCLUDE_ZSL_OPTICS_H_
24 
25 #include <zsl/zsl.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
42 
58  zsl_real_t *o2);
59 
72 
85 
96 
109 
125 int zsl_phy_opt_dif(uint8_t n, zsl_real_t lambda, zsl_real_t o, zsl_real_t *d);
126 
127 #ifdef __cplusplus
128 }
129 #endif
130 
131 #endif /* ZEPHYR_INCLUDE_ZSL_OPTICS_H_ */
132  /* End of optics group */
zsl_phy_opt_focus
int zsl_phy_opt_focus(zsl_real_t sr, zsl_real_t si, zsl_real_t *f)
Calculates the distance of the focus of a curved mirror based on the position of the real (sr) and im...
zsl_phy_opt_power
int zsl_phy_opt_power(zsl_real_t f, zsl_real_t *p)
Calculates the power of a lens based on its focal length.
zsl_phy_opt_dif
int zsl_phy_opt_dif(uint8_t n, zsl_real_t lambda, zsl_real_t o, zsl_real_t *d)
Calculates the distance between two objects when a light beam of wavelength comparable to the distanc...
zsl_phy_opt_critic_angle
int zsl_phy_opt_critic_angle(zsl_real_t n1, zsl_real_t n2, zsl_real_t *oc)
Calculates the critical angle of incision from which the refraction effect does not occur.
zsl_phy_opt_magn
int zsl_phy_opt_magn(zsl_real_t y1, zsl_real_t y2, zsl_real_t *m)
Calculates the magnification of a lens based on the real length of an object and its apparent length ...
zsl_phy_opt_snell
int zsl_phy_opt_snell(zsl_real_t n1, zsl_real_t n2, zsl_real_t o1, zsl_real_t *o2)
Calculates the angle of refraction of a light beam changing the medium of propagation based on the in...
zsl.h
API header file for zscilib.
zsl_phy_opt_refrac_index
int zsl_phy_opt_refrac_index(zsl_real_t v, zsl_real_t *n)
Calculates index of refraction of a medium based on the velocity of light in the medium.
zsl_real_t
double zsl_real_t
Definition: zsl.h:51