首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【笔记】《计算机图形学》(1&2)——导言与数学工具

关于IEEE浮点数标准关键要记住几个特殊情况: 所有有限数都小于+∞ 所有有限数都大于-∞ -∞小于+∞ 任何包含了NaN表达式结果也是NaN 任何得到NaN表达式转为bool为false...浮点数计算法则和高等数学计算差不多,想清楚再用即可,尽量不要让函数返回值特殊数字防止加大后续判断开销 ?...这里要注意尽管我们脑内对这个式子可能仍然想象是一个曲面,但是实际更加合适想象是一条有颜色曲线,因为二维处理部分我们真正面对一个三维曲面二维平面上切面,对于z值我们无法操控 ?...即是对所取点处xy平面进行偏导,得到向量xy平面上能使得f变化最大方向 我们常说梯度与法线方向相同,仍然要谨记这里二维有值曲线,也就不难理解梯度为什么与切线垂直了,因为这里切线恰恰三维曲面切平面在这个点平面上交线...重心,对于均质物体等同于形心,三角形重心位于三角形三边中线交点 而重心坐标系在三角形中描述一个非常实用坐标系,图形学中由于三角形大多数图形程序中组成模型最基本元素,因此用三角形定位各个三角形内部点坐标非常重要

1.8K42

关于数字前端面试题

如下面的代码: 事实,isNaN逻辑“输入参数是否不是NaN,也不是数字”。...这句话《你不知道JavaScript(中卷)》 2.4.3中提到理解isNaN()逻辑可以理解为“输入参数是否可以转化为数字”更加贴切和容易理解。...JavaScript中,0.1+0.2 不等于0.3一个经典问题,他时刻提醒你,对于浮点数来说,他并不能像普通数学题那样简单比较。...4.对于一个数字进行取整,你能说出多少种方法? parseInt()这个方法你肯定能想到。但你可能想不到他坑还真不少,未必是无懈可击方法。 最后一个问题中,详细解答。...下面parseInt()最经典一个坑: 如果不亲自一试,你绝不会相信上面代码输出18。

1.3K60
您找到你想要的搜索结果了吗?
是的
没有找到

格物致知-Floating Point

而今天要讲"浮点运算"绝对不少程序员知其表不知其内一个知识点,甚至某些人编程世界里已经慢慢沦为鸡肋。...这个翻译就复用Excel说法,免得引起无谓理解门槛,其实向上应该叫直接进位,向下就是直接舍位。...问:如何测试变量是否具有NaN值? 答:使用方法Double.isNaN()。请注意,NaN无序,因此涉及一个或两个NaN比较操作和==始终计算为false。...在数学无限,但是计算机中只能有限(资源有限),所以就有了ulp。...答:不相同,x和y一个或两者为NaN时候。 问:为什么不使用十进制浮点代替二进制浮点? 答:十进制浮点比二进制浮点提供了几个优点,特别是对于财务计算。

2K20

Excel催化剂功能第4波-一大波自定义函数高级应用,重新定义Excel函数学习和使用方法

知道函数=开始,再写个SUM函数名 知道点fx图标把函数向导打开 知道怎样向导输入参数 知道各参数位置下方有参数含义说明 知道输入参数后fx右方显示出来函数体结构,每个参数之间有英文逗号分开...简单说一下觉得好用及经常用到几个系列自定义函数 文件/文件夹相关 此类功能,实现效果很复杂,用现有的Excel函数各样嵌套可能部分函数还可以实现,但实话说,开发这些函数不是微软程序猿们...,只是把他们开发好函数(C#/VB.NET里使用)搬到Excel而已,也是用它们黑箱,不是自己造,有现成谁不去用还自己傻傻地写代码!!...当普通Excel用户不需要在编程环境中就可以使用正则表达式功能,这是不是很让人惊喜万分事情 当然开发人员可以随时Excel简单一个公式就可以调用出正则表达式功能,也是一件十分愉快事情。...最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任,外面的世界仍然一个广阔世界,Excel只是其中一枚耀眼明星,还有其他更多同样精彩强大技术

1.3K20

Pandas看这一篇即可

Pandas应用 PandasWes McKinney2008年开发一个强大「分析结构化数据」工具集。...Top-N”,实际不需要对所有的值进行排序,可以使用nlargest()和nsmallest()方法来完成,如下所示。...) ser9.plot(kind='bar', color=['r', 'g', 'b', 'y']) # x轴坐标旋转到0度(中文水平显示) plt.xticks(rotation=0) # 柱状图柱子绘制数字...下面的代码中,read_excel函数skiprows参数一个Lambda函数,通过该Lambda函数指定只读取Excel文件表头和其中10%数据,跳过其他数据。...上面的代码连接我部署阿里云MySQL数据库,公网IP地址:47.104.31.138,用户名:guest,密码:Guest.618,数据库:hrs,表名:tb_emp,字符集:utf8mb4。

1.6K20

来挑战下这 10 个 Python 问题

正确结果 0: 这个不难,因为 Python 函数定义其实是可执行语句,函数在被调用前都是不存在,实际调用时才会绑定变量。...在上面的示例中,函数定义期间,Python 允许引用尚未定义类或函数。但是,执行期间,A 已经 int 类,这意味着函数方法将返回一个新创建 int 实例,int 实例默认值就是 0。...iterable 一般数字,起始值不允许是字符串。 在上述所有情况下,空字符串都被视为空序列,因此 sum 将简单地将起始参数作为总结果返回。...9、见过负数 0.0 max(-0.0, 0.0) 为什么会这样?出现这种情况由于两个原因。负零和零 Python 中被视为相等。max 逻辑,如果多个最大值,返回遇到一个。...10、违反数学规则 >>> x = (1 << 53) + 1 >>> x + 1.0 > x False 正确结果 False,这违反了数学规则啊,为什么呢?

47310

前端入门8-JavaScript语法之数据类型和变量声明正文-数据类型、变量

之所以不加区分,是因为, JavaScript 里,所有数字,不管整数还是小数,都用浮点数来表示,采用 IEEE 754标准定义 64 位浮点格式表示数字。...可以告诉你,没有,没有任何场景下某个变量或某个属性值默认会是 null,除非你程序中手动将某个变量赋值为 null,那么此时这个变量值才会是 null。...意思就是说,null JavaScript 设计出来一个表示空值含义数据类型,用来给你程序中当有需要给某个变量手动设置为空值场景时使用。...这也是为什么用 typeof 运算符获取 null 数据类型时,会发现输出 Object。因为 null 实际个实际存在数据值,只是它含义空值意思,用于赋值给对象类型变量。...也就是, JavaScript 里,函数和数组,本质也是对象。 变量相关 由于我本身有 Java 基础了,所以 JavaScript 一些很基础语法可能会漏掉了,但影响不大。

1.4K30

Python 竞赛题-02-Python 函数是否很赖

所有类型,如 int、str 和 object 都是 type 类实例,而 type 类本身也是 type 类实例,因此 Python 中一切都是对象。...这意味着只有我们实际调用该方法时才会检查变量是否定义,并绑定变量值。因此,在上面的例子中,方法定义期间,Python 允许我们引用尚未定义类 fol。...但是,调用时候,Python 会从外部范围绑定名称 fol = int,这意味着函数方法将返回一个新创建 int 实例,是不是相当懒啊?...第 4 题:会不会报错 猜一下这段代码输出: print(sum([a.imag for a in [0,5,10e9,float('inf'),float('nan')]])) 正确结果 0.0...这是因为 Python 中所有数值类型,如 int、float 等;从基础对象类继承,它们都返回包括 Infinity 和 NaN 在内实部和虚部。

55210

JavaScript数字(数值)

JavaScript 程序中,直接输入任何数字都被视为数值直接量。 示例1 数值直接量可以细分为整型直接量和浮点型直接量。浮点数就是带有小数点数值,而整数不带小数点数值。...JavaScript 中所有数字都是以 64 位浮点数形式存储,包括整数。例如,2 与 2.0 一个数。 示例2 浮点数可以使用科学计数法来表示。...表示正无穷大数值 Number.NEGATIVE_INFINITY 表示负无穷大数值 NaN NaN(Not a Number,非数字值) IEEE 754 中定义一个特殊数值。...+ '0' //0 + 'oops' //NaNNaN 参与数学运算时,运算结果也是 NaN。因此,如果表达式运算值为 NaN,那么可以推断其中至少一个运算数 NaN。...因此,可以使用它来检测 NaN、正负无穷大。如果有限数值,或者可以转换为有限数值,那么将返回 true。如果只是 NaN、正负无穷大数值,则返回 false 。

15220

一起学Excel专业开发02:专家眼中Excel及其用户

然而,越深入地使用Excel,会越多地了解Excel,就会发现Excel不仅仅这些,特别是看到精心设计制作、清新工作表,看到认为专业程序软件开发作品而实际就是Excel时,会彻底颠覆你对Excel...工作表:用于程序数据存储 程序代码中,程序代码处理中,经常要用到一些数据,而工作表就是一个天然数据存放地,我们可以工作表单元格中存放数字、文本、表格或图片,供程序使用,而VBA程序代码可以方便地访问这些数据...图2 这里向导2中列表框项目数据读取工作表中列A中数据,向导2中选取“Client Detail”后,向导3中会出现该指定项报表选项,并读取工作表中相应单元格中数据作为其复选框选项。...Excel更擅长数字计算,VBA擅长通用编程,将两者合理结合运用,可以开发出高效应用程序。 4. VBA与用户窗体 VBA一种专业编程语言,内嵌于Excel中。...Excel对象模型 我们Excel中进行各种操作,实际对相应对象操作,例如常用单元格操作,包括单元格中输入数据、设置格式等,就是对单元格对象操作。

4.3K20

Pandas 2.2 中文官方教程和指南(一)

Linux ,剪贴板要操作,系统必须安装xclip或xsel中一个 CLI 工具。 压缩 使用pip install "pandas[compression]"进行安装。...社区约定 pandas 别名pd,因此假定将 pandas 加载为pd所有 pandas 文档标准做法。 pandas 数据表表示 想存储泰坦尼克号乘客数据。...表格有 3 列,每列都有一个列标签。 列标签分别是Name、Age和Sex。 列Name由文本数据组成,每个值都是一个字符串,列Age数字,列Sex文本数据。...表格有 3 列,每列都有一个列标签。列标签分别是 Name、Age 和 Sex。 列 Name 包含文本数据,每个值为字符串,列 Age 数字,列 Sex 文本数据。...=,<,<=,…)实际一个具有与原始DataFrame相同行数布尔值(True 或 False) pandas Series。

2810

Python 实现Excel自动化办公《下》

一讲我们讲到了Python 针对Excel 里面的特殊数据处理以及各种数据统计,本讲我们将引入Pandas 这个第三方库来实现数据统计,只要一个方法就可以统计到上一讲数据统计内容,本讲也会扩展讲讲...类型索引对象 print(pd1.columns.values) #输出序号名字,返回一个一维ndarray print(pd1.shape) #输出 指定输出 #指定输出 print(pd1....values[0]) #输出第一行值 print(pd1.values[0:2])#查看第一二行值,返回一个二维ndarray print(pd1[0:3]) #返回DateFrame类型前三列数据...ndarray print(pd1['工号'].values) #查看某一列所有的值,返回一维ndarray 转置输出 #转置输出 print(pd1.T)#整个数据集翻转展示 print(pd1...print(len(pd1.index)) #输出索引长度 合并操作 #合并操作 pd3=pd.concat([pd1,pd2],axis=0) #将两个excel数据进行合并操作,注意保持数据格式一致

76220

【Java 进阶篇】JavaScript 中全局对象和变量

JavaScript 一门非常强大编程语言,它提供了许多全局对象和变量,以便于整个应用程序中共享数据和功能。...示例: var x; console.log(x); // 输出 undefined 2. NaN 变量 NaN 变量表示 “Not-a-Number”,通常用于表示数学运算无法生成有效数字结果。...示例: var person = null; // 表示 person 变量没有值 全局函数 JavaScript 中有一些全局函数,它们提供了各种功能,可以整个应用程序调用。...= isNaN("Hello"); // 返回 true var result2 = isNaN(42); // 返回 false 3. isFinite() 函数 isFinite() 函数用于检查一个值是否为有限数...、全局变量和全局函数提供了丰富功能和方法,可以整个应用程序中使用。

20410

「Sqlserver」数据分析师有理由爱Sqlserver之七-最刚需数据导入导出功能-导入篇

,导出量太大,应用程序负荷过重,不允许。...所以数据分析师面临很大刚需将零散文件型数据重新整合起来,放到数据库中进行集中式存放(Excel容量有限,就算现在PowerBI技术加入,也不能有一个完美的数据集中式管理并按需提取所需数据效果...Sqlserver数据导入向导功能 对数据有一定了解的人都知道,数据有数据类型区分,特别是在数据库层面更是如此,Excel虽然有数据显示格式设置,但它不强制进行数据转换,导入数据库过程中,...同一列数据,只能保留一种数据类型,所以Excel表格加工数据,需要自行进行数据规范,若同一列数据包含数字和文本格式时,最好将其数据格式高速为文本格式。...一般数据导入、导出,需要重点告之程序内容为:数据源是什么类型,数据源在哪里,具体对应到哪个表(Excel有多个工作表或其他数据库也有多个表),要导入到目标数据库哪个数据库(一个Sqlserver可以有多个数据库对象

2.7K30

JS中数据类型转换

+1; =>'31' i+=1; =>'31' i++; =>4 i++就是单纯数学运算,已经摒弃掉字符串拼接规则 基于“==”比较时候,有时候也会把其它值转换为数字类型 ... 2.转换规律...//=>转换方法:Number(浏览器自行转换都是基于这个方法完成) 【把字符串转换为数字】 只要遇到一个非有效数字字符,结果就是NaN '' ->0 ' ' ->0 空格(Space) '\n...等方法输出内容时候,会把输出值转换为字符串,然后再输出 alert(1) =>'1' 基于“+”进行字符串拼接时候 把引用类型值转换为数字时候,首先会转换为字符串,然后再转换为数字 给对象设置属性名...,如果不是字符串,首先转换为字符串,然后再当做属性存储到对象中(对象属性只能数字或者字符串) 手动调用toString/toFixed/join/String等方法时候,也是为了转换为字符串 var...=>'NaN佳佳trueundefinedtrue' 特殊情况:“==”进行比较时候,如果左右两边数据类型不一样,则先转换为相同类型,再进行比较 对象==对象:不一定相等,因为对象操作引用地址

3.6K10

Java 中 NaN

概述 简单来说可以认为 NaN 一个数字数据类型变量值,这个类型变量被定义为 这不是一个数字。...例如,你尝试将数字 0 去除以 0,这个在数学不存在,同时 Java 中定义 NaN 也确实就是通过这个不存在操作来定义。 我们通常也使用 NaN 来表示不能显示变量值。 ...NaN 绝大部分情况下都不是一个有效输入参数,因此 Java 方法中,需要对输入参数进行比较,以确保输入参数中值不是 NaN,然后我们能够对输入参数进行正确处理。...最常见情况就是对数字进行计算时候,这个算法在数学中还没有被定义,或者被定义不可以这样做。 如最常见 0 除以 0 情况。 因为在数学中,这种情况被定义为非法。...同时有关数字操作和计算结果并不能产生数字情况下也会输出NaN

3.3K20

《计算机图形学基础》读书笔记(一)

首先,IEEE 浮点数标准对于实数有三个「特殊值」: 正无穷( ):一个比其他所有有效数字(valid number)都大有效数字。 负无穷( ):一个比其他所有有效数字都小有效数字。...非数字NaN):未定义结果操作所产生无效数字,例如 0 除 0。 基于上述特殊值,IEEE 制定了一些特殊运算规则: 其中 和 只部分场景下存在差异。...除了上述特殊规则外,还有一些符合预期操作,具体如下: 关于特殊值布尔表达式包括: 所有有限合法数字都小于 所有有限合法数字都大于 小于 关于 NaN 表达式还具有如下规则...将图像作为调试输出 很多情况下,图形学程序中最简单获取调试信息方式输出图像本身。...一种有效方法为 bug 设置一个“陷阱”。首先,确保程序确定性所有的随机数都基于固定种子生成),然后,找到有问题像素或三角形,怀疑有问题代码前添加一条语句,仅针对怀疑情况执行。

1.6K20
领券