刚才才发现弄错了一点... 这个 y x (数轴)它放反了.... 不过因为两个都是反的所以没关系
我没有保存图表的... 所以不能修正了
我没有保存图表的... 所以不能修正了
fun x2y(x: Int) = if (b == 0) c / a else -(a * x + c) / b这是两个算点的公式,首先有一个 case 优化:x2y, 如果 y 是一条直线上(平行 y 轴),则直接返回 (c / a)
fun y2x(y: Int) = if (a == 0) c / b else -(b * y + c) / a
(Math.min(one.x, two.x)..Math.max(one.x, two.x)).forEach { x -> set.add(Point(x, x2y(x))) }
(Math.min(one.y, two.y)..Math.max(one.y, two.y)).forEach { y -> set.add(Point(y2x(y), y)) }
(two.x * one.y - one.x * two.y) / two.y - one.y... 不明白,虽然之前说了是对『方向』的综合
y2x 同理
-(b * y + c) / a这个情况就用到了参数 y 了,是一般的直线,首先我们得求斜率,然后去 c 是什么鬼...
(b*y) 还是『当前』长方形的面积,然后 c 的作用是叠加一个方向,a 则是最终求关于原矩形的位置?不懂...
/tmp/duangsuse.sock
模型的总结: Area(其实这个和 Box 有点混淆的说):就是一个 java.awt.image.BufferedImage 的扩展 + 可以 draw 一个 Point + 可以 drawLine 一组 Point 构成的 Line + 可以 drawTriangle 一组 Line 构成的 Triangle fun draw(points: Set<Point>) = points.forEach { p -> draw(p) } fun draw(p: Point) = image.setRGB(p.x…
#Math 总而言之,数学尤其是这类解析几何是十分复杂难懂的...
因为模拟需要消耗大量的资源 而且我不是一般的不擅长计算 所以一次,显然是不够用的,还是做我其他的事情吧
这个内容,其实还不如拿纸笔去算
其实我觉得数学家是尤其值得被尊重的,视计算机科学完全独立于数学或者说数学存在着各种各样非常不好的地方,是原罪,而且比 CS 差 是十分错误的想法
不应该继续这种傲慢和偏见,尤其是现在当的确,很多工程师就不知道自己做的其实是非常 trivial 的事情,我现在觉得 真的不如数学,数学是真的难,是深度上不一般的变化而不是死着傻记
作为一个 还没有彻底脱离复杂而且愚蠢的编程的人来说,我是没有资格去对数学评头论足的,做概论的都是傻瓜
上面这种公式,我是无法列出来的... 应该说要我去弄可能要算斜率、比较两个点的位置情况什么的,我无法理解那个 c 对数值的综合,我不知道为啥 c 是在 dy 后才被加上的,显然这些得笔纸做很多实验才好...
简洁虽然是难懂,但是背后真正暗含着金玉珠玑才是真正应该关注的内容
数学的逻辑、推导和变形 是非常巧妙的事情,尤其是如果这些东西能够被显示地列出来的话 就更好了
计算机图形学是对于 CS 爱好者来说,接触数学的一个相当好的方法,当然机器学习也是
这次的话会推荐一篇关于线性代数的博客文章(和一个博客)
和 Telegram 上一个学数学的开发者 @LEXUGE 学弟,曾经写了 XCH 化学等式配平器,在他的频道上可以找到关于 XCH 原理的文章(就是转化为关于原子个数的齐次线性方程组,然后高斯—约当法消元求解)
计算机科学是解决问题的科学,但是也和数学有着一样的本性,可以从 Scala, Haskell, Agda, Racket 之类稍微好一点的代码里看到 其实都是对自己想法的描述而已,但思路才是最重要的,trivial 的东西 才不算什么
因为模拟需要消耗大量的资源 而且我不是一般的不擅长计算 所以一次,显然是不够用的,还是做我其他的事情吧
这个内容,其实还不如拿纸笔去算
其实我觉得数学家是尤其值得被尊重的,视计算机科学完全独立于数学或者说数学存在着各种各样非常不好的地方,是原罪,而且比 CS 差 是十分错误的想法
不应该继续这种傲慢和偏见,尤其是现在当的确,很多工程师就不知道自己做的其实是非常 trivial 的事情,我现在觉得 真的不如数学,数学是真的难,是深度上不一般的变化而不是死着傻记
作为一个 还没有彻底脱离复杂而且愚蠢的编程的人来说,我是没有资格去对数学评头论足的,做概论的都是傻瓜
上面这种公式,我是无法列出来的... 应该说要我去弄可能要算斜率、比较两个点的位置情况什么的,我无法理解那个 c 对数值的综合,我不知道为啥 c 是在 dy 后才被加上的,显然这些得笔纸做很多实验才好...
简洁虽然是难懂,但是背后真正暗含着金玉珠玑才是真正应该关注的内容
数学的逻辑、推导和变形 是非常巧妙的事情,尤其是如果这些东西能够被显示地列出来的话 就更好了
计算机图形学是对于 CS 爱好者来说,接触数学的一个相当好的方法,当然机器学习也是
这次的话会推荐一篇关于线性代数的博客文章(和一个博客)
和 Telegram 上一个学数学的开发者 @LEXUGE 学弟,曾经写了 XCH 化学等式配平器,在他的频道上可以找到关于 XCH 原理的文章(就是转化为关于原子个数的齐次线性方程组,然后高斯—约当法消元求解)
计算机科学是解决问题的科学,但是也和数学有着一样的本性,可以从 Scala, Haskell, Agda, Racket 之类稍微好一点的代码里看到 其实都是对自己想法的描述而已,但思路才是最重要的,trivial 的东西 才不算什么
Share
Share View @Pages
🐕 duangsuse’s shared files(e.g. productive software projects, documents)
/tmp/duangsuse.sock
比起我一直是数学菜鸡来说,真的很难熬啊
也是最近的事,这个暑假之前我从没动过数学
就很菜,而且数学能力居然可以和算法能力是绑定的... 之前一直不这么想,现在看来还真是有点意思
为什么一个人会把树图转来转去 的 却不能把数字和图形扭来扭去呢... 也是很正规思路
现在我还太工程(指水平)了,从抽象和模拟、模式识别开始,吃枣有一天要学数学的,💊
就很菜,而且数学能力居然可以和算法能力是绑定的... 之前一直不这么想,现在看来还真是有点意思
为什么一个人会把树图转来转去 的 却不能把数字和图形扭来扭去呢... 也是很正规思路
现在我还太工程(指水平)了,从抽象和模拟、模式识别开始,吃枣有一天要学数学的,💊
#Project #Math #statement https://duangsuse-valid-projects.github.io/Share/
里面放了很多闲杂分享,基本都是那种特别长... 的东西,也算是代表了我现在的水平(虽然一直也就那样,不高不低)
也有不是我的东西,比如打算学高斯-约当消元法没学成(好像是因为数学基础太差)排版的原文 PDF
也有这个暑假的东西,比如那两篇超长的文本... 链接放在后面
里面放了很多闲杂分享,基本都是那种特别长... 的东西,也算是代表了我现在的水平(虽然一直也就那样,不高不低)
也有不是我的东西,比如打算学高斯-约当消元法没学成(好像是因为数学基础太差)排版的原文 PDF
也有这个暑假的东西,比如那两篇超长的文本... 链接放在后面
Share
Share View @Pages
🐕 duangsuse’s shared files(e.g. productive software projects, documents)
/tmp/duangsuse.sock pinned «#Project #Math #statement https://duangsuse-valid-projects.github.io/Share/ 里面放了很多闲杂分享,基本都是那种特别长... 的东西,也算是代表了我现在的水平(虽然一直也就那样,不高不低) 也有不是我的东西,比如打算学高斯-约当消元法没学成(好像是因为数学基础太差)排版的原文 PDF 也有这个暑假的东西,比如那两篇超长的文本... 链接放在后面»
/tmp/duangsuse.sock
其实,我应该认清楚现况。 一方面,我学的知识的确是很『冷门』 冷门到资深的工程派里很少有人会出来讲,因为它也不是热门学科的知识(比如永远热门的算法、信息学、计算机图形学、软件工程和软件架构、数据库、大数据分析、分布式、机器学习、计算机视觉、实时处理什么的) 另一方面,我学的的确不够深,比如我都没有用 LLVM 写哪怕一个编译器出来 再从读者的角度看,一方面,Telegram 中文圈多是『工程』居多的人,而且基本都是『做出来就行』的风格,找到一个或者几个支持的库、服务,会用即可,他们不追求我所想的东西…
改天我就会拿 LLVM 写我的第一个能用的语言实现了,现在二元解析的问题已经解决、Essay-LLVM-FirstTry 的 IR 构造 API 也基本了解了(虽然 JIT 一直 Segfault...) C++ 也基本入门了
Telegram
/tmp/duangsuse.sock
#PLT #Parsing 下面我会告诉大家一些关于编写二元操作解析器的事情
calc.c++ 是我练习写 parser 的一个小程序,它的打算是成为一个二元运算计算器(也没有必要成为更多了)
二元计算是什么呢?上过小学的人知道有四则运算(加减乘除)
并且,当加法和乘法同时出现的时候先算乘法,比如
1 + 2 * 3
= 1 + (2 * 3)
= 1 + 6 = 7
然后要『按顺序执行计算』(当然也有交换律(commutative law)什么的)。
3 + 2 + 1
= (3 + 2)…
calc.c++ 是我练习写 parser 的一个小程序,它的打算是成为一个二元运算计算器(也没有必要成为更多了)
二元计算是什么呢?上过小学的人知道有四则运算(加减乘除)
并且,当加法和乘法同时出现的时候先算乘法,比如
1 + 2 * 3
= 1 + (2 * 3)
= 1 + 6 = 7
然后要『按顺序执行计算』(当然也有交换律(commutative law)什么的)。
3 + 2 + 1
= (3 + 2)…
Forwarded from Deleted Account
啊,也是,我不熟悉 C++... 虽说写弱智级别的 Qt 是几个月前就有,前几天才真正学 C++ 的... 我还不知道乘方的 infix 不是 (^)...
和 bitwise xor 弄混了... 刚才还以为是 C++ 操作符重载的说(
你这个能力也太强了吧,我看了一会才意识到上文的 100000 是 (2**5)... 等等好像是 32(10) 啊 log_2 16 不是 4 来着
想了一会才把
但不管怎么样这也太... 不可思议 这么说你平时都看直接二进制的?我能看二进制也是很刻意地算才可以... 😳
和 bitwise xor 弄混了... 刚才还以为是 C++ 操作符重载的说(
你这个能力也太强了吧,我看了一会才意识到上文的 100000 是 (2**5)... 等等好像是 32(10) 啊 log_2 16 不是 4 来着
想了一会才把
(2^0) 0b1, (2^n) 0b1_0{repeats for n} 对应上...但不管怎么样这也太... 不可思议 这么说你平时都看直接二进制的?我能看二进制也是很刻意地算才可以... 😳