AKIRA's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

关于这个博客

2024 年的十一月十七日晚上的 8:09 时,输入最后一条指令”hexo s”,修改的网页终于出现在我的眼前,我知道我的工作进行的差不多了。 也许有人会觉得:”不就是一个个人博客吗?真的有这么难配置吗?” 是啊,好像是不难。可是我却常常不愿意思考:仅仅只是照着网上的教程照葫芦画瓢,遇到问题就问 AI。我肯定是有能力去搞清背后的原理的,但是背后总有一股力量在催促我别管那么多快点建成,哪怕我花了一
2024-11-07
杂文
#思考 #杂文 #介绍

cg中的浮点数问题

简单来说,直接用 ==来比较两个浮点数是否相等是极其危险的,因为计算机无法精确地表示所有小数。 使用一个极小值 epsilon 就是为了将“绝对相等”的判断,变成“在可接受的误差范围内,认为它们相等”的判断。 1. 问题的根源:浮点数的“不精确”表示 在计算机内部,数字是用二进制(0和1)存储的。整数(如 1, 10, -5)可以被精确地表示。但是,很多常见的小数(如 0.1, 0.3)在二进制中
2026-03-15
cs
#c++ #cg

C++中的const关键字

1. 为什么 const Point3& 可以接受临时变量?这与 C++ 中 “左值 (lvalue)” 和 “右值 (rvalue)” 的概念有关。 左值 (lvalue):可以简单理解为有固定内存地址、有名字的变量。你可以对它取地址。例如:Point3 my_point;,这里的 my_point 就是一个左值。 右值 (rvalue):通常指临时的、没有名字的表达式结果。例如 P
2026-03-13
cs
#c++

C++ 多项式类代码详解

1. auto 关键字auto 是一个类型说明符,它告诉编译器自动推断变量的类型。编译器会根据变量初始化表达式的类型来确定 auto 变量的实际类型。 作用: 简化代码:当你处理复杂类型(尤其是模板和迭代器)时,auto 可以使代码更简洁易读。 提高可维护性:如果初始化表达式的类型发生变化,你不需要手动修改变量的类型声明,编译器会自动适应。 示例(来自你的代码): C++ 1234567891
2026-03-10
cs
#c++

期末面向对象复习大纲

C++ 面向对象程序设计 知识点总大纲I. 基础语法与控制流 (C++ Basics, Ch 2) A. C++ 概述与词法结构 C++ 产生和发展历史(C++11/14/17/20 等标准)。 C++ 语言的最小词法单元:关键字、标识符、文字(字面量)、操作符、分隔符、空白符 。 标识符命名规则(起始字符、组成、大小写敏感性)。 B. 数据类型、常量与变量 C+
2025-12-23
cs
#c++ #面向对象 #学业

期末数据结构复习大纲

按考点一、 算法设计核心:线性结构 (分值占比 20%)这一部分要求能够书写代码,重点在于对指针操作和逻辑结构的理解。 线性表 (Linear List) 顺序表:随机存取特性,插入和删除需移动元素,平均时间复杂度为 $O(n)$。 **链表 (Linked List)**:顺序存取特性,插入和删除无需移动元素,只需修改指针。例如:单链表,双链表,循环链表… 双链表——相比单链表可以向前索引,例
2025-12-22
cs
#c++ #数据结构 #学业

Ray tracing in one weekend笔记(1~6)

2. Output an Image为什么使用 255.999 而不是 255? 主要目的是为了处理浮点数精度问题并确保颜色范围的正确映射。 目标: 代码的目的是将一个范围在 [0.0, 1.0] 之间的浮点数(如变量 r, g, b)映射到范围在 [0, 255] 之间的整数,用于表示PPM图像格式中的颜色分量。 问题: 计算机在表示浮点数时存在精度限制。一个本应是 1.0 的值,在计算过程
2025-08-01
cs
#c++ #面向对象 #cg

调试的方法

前言 本文全部例子来源于我在学习《Ray Tracing In One Weekend》时遇到的困难 方法一:代码审查与“橡皮鸭调试法” (Code Review & Rubber Duck Debugging)这是最简单,也往往是最有效的第一步。它完全在大脑和屏幕上进行。 逐行通读与逻辑验证: 不要只是扫视代码,而是像编译器一样,逐行“执行”它。在心里问自己:“这一行代码的目的是什
2025-08-01
cs
#c++

从实现一个Vector3f向量类,深入了解运算符重载

问题 练习 A:实现一个 Vector3f向量类。 目标: 这是图形学编程的“Hello World”。 要求: 创建一个 Vector3f.h和 .cpp,类中包含 float x, y, z;三个成员。您需要为它实现: 构造函数(Vector3f(float x, float y, float z))。 成员函数,如计算向量长度 length()和归一化 normalize()。 操作符
2025-07-22
cs
#c++ #面向对象 #cg

2-x-x-x 形而上学

2-形而上学(Metaphysics) 场域:冲突 本体: 现象: 目的: 如果仅在实在论下,里面不会有任何东西产生,仅仅是秩序的“再生产”,这是无意义的。 它的出现是有原因的,是不得不出现的。例如:我是谁(预设了“我”的存在,为什么会有“我”;为什么存在“是”) 三、3-观念论(Idealism) 场域:中心 本体: 现象: 目的: 唯心主义,通过我的思想和反思去探索场域的本体、现
2025-06-04
ISMISM
#哲学 #笔记
12

搜索

Hexo Fluid