f64
  • 2024-08-25题解:P7401 [COCI2020-2021#5] Planine
    题意现有一座上下起伏的山。它可以抽象为一个包含\(n\)(\(n\)为奇数)个点\((x_i,y_i)\)以及\((x_1,-\inf)\)与\((x_n,-\inf)\)的多边形。对于所有满足\(i\neq1\),\(i\neqn\),\(i\bmod2=1\)的整数\(i\),\((x_i,y_i)\)都是山谷。现要放置若干个高度为\(h\)的点光
  • 2024-07-28CF626G Raffles 题解
    Description有\(n\)个奖池,第\(i\)个奖池的奖金是\(p_i\),已经有\(l_i\)张彩票押在上面。现在你有\(t\)张彩票,你需要将你的彩票分配到这些奖池中,并且保证你在每个奖池中押的彩票数不能超过该奖池原有的彩票数。若你在第\(i\)个奖池中押了\(t_i\)张彩票,则你中奖的概
  • 2024-07-220203-透明材质的反射
    环境Time2022-11-17WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标实现透明材质的反射功能。DielectricimplDielectric{pubfnnew(refraction:f64)->Dielectric{Dielectric{re
  • 2024-07-220205-增加景深
    环境Time2022-11-17WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标在相机不对焦的地方,会出现模糊效果,这一节实现这种效果。vector3.rspubfnrandom_in_unit_disk()->Vector3{letmut
  • 2024-07-190197-封装相机逻辑
    环境Time2022-11-16WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标重构相机部分逻辑,将其单独提到一个类中,保持逻辑不变。camera.rsusesuper::ray::Ray;usesuper::vector3::{Point3,Vector3};pub
  • 2024-07-190198-增加抗锯齿
    环境Time2022-11-16WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标之前生成的版本,在交界处,能很明显看到锯齿,增加采样和抗锯齿。颜色显示函数pubfnformat_str(&self,samples:f64)->String{
  • 2024-07-190200-材质和散射
    环境Time2022-11-16WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标不同的材质有不同的散射光线和衰减,这一节将不同的材质进行抽象。向量的乘法implMulforVector3{typeOutput=Self;f
  • 2024-07-190199-漫反射和伽马校正
    环境Time2022-11-16WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标对物体上的光线进行漫反射,然后增加伽马校正。颜色显示函数pubfnformat_str(&self,samples:f64)->String{letir=(256.
  • 2024-07-170195-重构代码逻辑
    环境Time2022-11-15WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标main文件中的逻辑越来越多,考虑将其抽象出来,分成多个文件。hittable.rs可以相交的物体,抽象成一个接口。usecrate::ray::Ray;usec
  • 2024-07-160190-定义三维向量
    环境Time2022-11-14WSL-Ubuntu22.04Rust1.65.0前言说明参考:https://raytracing.github.io/books/RayTracingInOneWeekend.html目标将之前定义的三种颜色,封装到一个三维的向量中,保持原有的逻辑不变。main.rsusecrate::vector3::Color;modvector3;fnmain(){
  • 2024-01-151月13日总结
    ,python性能比较差,尤其在计算密集型的任务当中,所以机器学习领域的算法开发,大多是将python做胶水来用,他们会在项目中写大量的C/C++代码然后编译为so动态文件供python加载使用。那么时至今日,对于不想学习c/c++的朋友们,rust可以是一个不错的替代品,它有着现代化语言的设计和并肩c/c++语
  • 2024-01-15初探: 通过pyo3用rust为python写扩展加速
    众所周知,python性能比较差,尤其在计算密集型的任务当中,所以机器学习领域的算法开发,大多是将python做胶水来用,他们会在项目中写大量的C/C++代码然后编译为so动态文件供python加载使用。那么时至今日,对于不想学习c/c++的朋友们,rust可以是一个不错的替代品,它有着现代化语言的设计和并
  • 2023-03-16【Irrlicht引擎 笔记】Core模块
    irr::core向量、平面、数组、列表等基础类都可以在这个命名空间中找到irr::coreirr::core::vector2d<T>irr::core::vector3d<T>irr::core::vector2d<T>1.判断
  • 2022-12-03error: #20: identifier "arm_cfft_instance_f64" is undefined
    在使用Keil5的过程中,偶尔遇到这个问题,以及类似的问题,报错的数量大概200多个。errortype>(42):error:#20:identifier"arm_cfft_instance_f64"isundefined其他的kei
  • 2022-09-300065-Tui-Canvas 示例
    环境Time2022-08-17Rust1.63.0Tui0.18.0前言说明参考:https://github.com/fdehau/tui-rs/blob/master/examples/canvas.rs目标使用tui-rs显示Canvas。定义
  • 2022-08-15rust f64 比较
      (val1-val2).abs()<f64::EPSILON  val1.to_ne_bytes()==val2.to_ne_bytes()或者 val1.to_bits()==val2.to_bits()