陪家人,逛漫展
今天陪老婆、孩子一起去首钢园逛icos漫展,目测现场至少6000人,规模宏大、场面壮观。满场的俊俏,赏心悦目。 老婆喜欢国乙、大儿偏爱原神、小儿还没到挑剔的年龄,只要好看好玩的新奇都有着十足的兴趣。我满心期待能收获一些手办,结果现场主题是cosplay,商家寥寥,心愿落空。好在美女如云也算饱了眼福。 漫展是在原焦化厂改建的首钢会展中心举办,群明湖畔、五一剧场附近,那里的一切对我而言,并不陌生。 小学时,每年都会去五一剧场“红五月歌咏比赛”,我五音不全只能滥竽充数。对于小学生,当众表演本就十分紧张,只开口不发声更增加了惶恐,所以不用任何的粉饰,我的脸就已经通红到了耳垂。老师并不会考虑到这个因素,在入场前总会给我们涂上浓重的腮红和口红。现在回忆起来,还能感到脸颊阵阵发热。 父亲喜欢钓鱼,盛夏时总会带我去群明湖。父亲钓鱼时、我用铁丝圈套蜘蛛网,等蛛网套上几层后,便会在湖畔粘蜻蜓。运气好时能粘住个头巨大的“老干儿”,那会让我兴奋的手舞足蹈。可父亲总会十分严厉的告诫我要小心,骗我说湖水深不见底。我是相信的,因为任人看过那个人工净水湖,就会想当然地以为它是个“倒金字塔型”,一旦落水就会一路滑入湖中心、巨大的深渊。 焦化厂并不像五一剧场或群名湖,那是闲人免进的厂区。从围墙外远远的,便能看到六座巨大的料仓,如首钢厂区内其他巨大的仓、釜、塔、罐……这些远超常规尺寸的巨大设备,与周边的建筑形成鲜明对比,有种巨物压迫感、像是来自外星的科技、十分恐怖。 火车穿行于首钢各个厂区之间、铁路从外部直通整个厂区,将各类原材料、成品,送入、送出。我家村子就在首钢边上,村里的小孩儿每逢放假就会去铁路周边玩耍:抓蜻蜓、逮蚂蚱……更多的时候,则是三五成群,沿着铁道捡拾散落在草丛里的各类“宝贝”,不知是送入还是送出焦化厂的焦炭,便是我们共识的宝贝之一。 拿着蜻蜓跑回家,往往会被莫名的踹上几脚;但如果拎着一箩筐、哪怕其中只有3、5块的焦炭回去,无论是在草地里打过滚儿、还是和小伙伴彼此往对方脸上抹过泥,都会因为帮家里寻得了“宝藏”而免受皮肉之苦。 再去首钢园,儿时回忆不禁涌上心头。
电容电压计算过程中的小困惑已经解决
一、初期问题 在之前的文章中,我尝试自己推导出电容被充电时,电容上的电压变化过程。 起初因为在等式变换过程中搞错了一个“正负号”,结果无论如何也推导不出来。并且因为这个“正负号”的错误很难看出来,所以一直被卡住。 昨天晚上又仔细地推敲了一遍推导过程,搞清楚了自己把正负号弄错的原因: 等号左边我做了一次分母两项调换、等号右边就应该相应的增加一个“负号”,但是忘记了。等到想起来要在右边增加符号的时候,又想当然的认为应该在等号两边同时增加负号。 这就导致了从一开始左右因数就差了一个“-1”,后来自以为的找到了问题时左右同乘-1后,其实还是左右相差一个“-1”。 所以这就令我误以为:无论是否找到了错误、修正了错误,都无法正确的完成推导。其实本质原因是:我找到了错误,但是修正之后还是错误的。 二、关联问题 在等式存在错误的阶段,我尝试基于错误的等式先完成后面的推导过程。这里其实是存在隐患的:基于错误的等式继续往后做不定积分计算时,只能在常数项在等号右边时,才能令结果与正确结果错得不多、如果将常数项放在等号左边,会令计算结果错的非常离谱。 因为有了上面的结论,我就想当然地认为:纵使今后找到了问题、修正了问题之后,常数项也只能放在等号的右边。 于是我就在上面的“假象”下,认定了:常数项必须放在等号的右边。于是进一步的:我就开始怀疑起原因:为什么常数项只能放在等号的右边呢? 其实上面所有的现象和想法,都是被误导了的。 在真正的找到了那个该死的“负号”错误之后,今天我分别将常数项放在等号左边、放在等号右边,都是可以正常完成推导、计算、得出相同的结论的。 所以这就解释了:不定积分得出的常数项,无所谓放在哪里,都是可以的。
电容跟随电压过程公式推导(1)
一、基尔霍夫电压定律: 在《电容电压跟随电源电压的过程》中给出了电容电压跟随恒定电源电压的公式,但是没有进行具体的推导过程。这个推导过程在参考文章里面有、不过比较简略。在具体推导时,正负号、常数项等细节容易产生错误,所以我还是想比较详细的记录一下推导过程。 首先根据基尔霍夫电压定律知道:沿着闭合回路所有器件两端的电势差(电压)的代数和等于零。也就是说: 在这个电路中有电池、电容、电阻,它们3个电子元件构成了闭合回路,其中电池升压、电容降压、电阻降压。 电容的压降,因为是“压降”,所以取负数。 电阻的压降,同样也是因为在电阻上电压也是“降压”,所以也是取负数。关于正负符号的选取,其实我现在还不是十分的肯定,只是因为参考文献中是这样写,所以就先“强行解释”,但具体的、本质的取负号原因,还要再进一步的推敲。 将以上3个公式合并之后,得到整个环路的基尔霍夫电压计算式。 经过电阻的电流(也是整个电路中的电流)I,这里用到了微分式。这里其实还有一个细节问题,可能需要额外的一篇blog进一步的推敲(为什么电容电压直接用Q/C,而无需加上微分项)。 再次带入,便得到了准备进行求解的方程,如上所示。 经过整理,可被整理成标准的微分方程形式。 此时可以看出来: 1、欲求解的就是Q(t)这个函数,它意味着随着时间t,电容器上积累的电荷量是多少,换言之,也就是随着时间t,电容器上的电压(Vc = Q/C)是多少; 2、虽然现在还没有解出Q(t),但也能看出来Q(t)的变化率是随着t的变化而变化的; 二、推导、求出Q(t)方程: 下面开始具体的求解推导。首先对上式进行变换,得到: 将微分符号dQ(t)和dt分别放在等号的两边,这样便可以分别对左右两边进行积分。注意上面的公式中右边多出来一个负号,是因为在变换等式时,左边的分母中的两项位置进行了调换。之所以左边分母要进行前后项调换,目的是令左边在进行积分时是标准的ln积分式、以方便积分。 两边同时进行积分,左边是“ln积分”,右边是“幂积分”,都是简单形式的积分,可以直接得到结果。 因为两边都是不定积分,所以左、右都是有常数项的,将常量合并成1个、并暂定名K,放在等式右边。这里额外的还有一个困惑:为什么常数项要放在右边?如果将常数项K放在等式的左边,似乎会对最终的结果有影响? 答:上面的“困惑”是不存在的,详见《这篇文章》。 去掉绝对值符号:推敲一下绝对值符号内部,会发现:这个为电容充电的过程,是电源将电荷给予到电容器上,而电容器始终不会“吐出”电荷,所以电源电量始终大于(最终时刻等于)电容电荷量,所以去掉绝对值符号时,绝对值符号内部的减法项要颠倒一下,才能确保正确的符号取值。 求出常量K的值:带入初始条件,开始t=0时刻,电容内电量为0,即Q(0)=0。 求出常量K的值。 将已求得的K值,带回Q(t)的方程中。如上得到一般方程。 将ln表达式合并到等式左侧。 ln表达式“外减”变换成“内除”(这里有没有更准确一些的数学表述呢?)。…
儿童节的礼物
买了一台“服务器”。不是那种巨大的、能够安装系统、部署软件的“大电脑”。而是一台RS232 to Ethernet的信号转换服务器。我不知道为什么它的名字要叫“服务器”,也许是因为它能够提供这种服务,所以叫服务器吧。 之所以买只是因为想买。有的时候我感到彷徨、空虚、无助的时候,就喜欢买东西。而且是越没有钱的时候越想花钱买东西。 记得去年某个时期,我手中只剩几十元了,巨大的生活压力压在身上、喘不过气。那个时候就是每天晚上睡觉之前在网上逛网店,看到2元、3元包邮的东西,也不管有用没有,就下单买回来。然后就蒙头呼呼大睡,等着快递送来。 其实那时买回来的不过是一些纸巾、牙刷……一点儿用也没有的东西,但就是停不下来,总想买些什么、每天都在买,似乎只有购物才能缓解我心中的焦虑。 还有更早一些时候也是这样,当时有几个IC网站都是包邮的,纵使只买0.5元的一包电阻,也会包邮到家。我就会买下来,对我而言那些电容、电容,一点儿用也没有,只是因为他们便宜、并且包邮,我钱包中的钱也只能买它们,所以就陆陆续续的邮寄到了家里。 这些毫无用途的东西买回来之后,多多少少可以填补一些我的生活,收快递、拆包装、端详一阵、把玩一翻……总之就是消磨一些时间罢了。 更有钱时、当然“更有钱”也只是相对的,无论多少都还不足以买到每日吃穿。我会买一些图书,图书远比上面提到的那些电阻、电容、纸巾、牙刷要好很多,因为一本图书可以翻来覆去看很久。尤其是科学方面的图书(例如数学、物理、化学) ,它所能消磨的时间远比小说或散文更多、只是故事性和阅读时的顺畅感会少一些。所以我会买书,买回来之后翻看,这样的日子几乎在我的人生中反复的重复着。 最近买回来的RS232-Ethernet服务器,显然比图书更昂贵一些,说明我最近的“羞涩”少一些、出手便更阔绰一些。昨天收到了快递,我并没有急着拆开。而是将他放在桌子上,当是自己送给自己的“儿童节礼物”吧。 今天上厕所时慢慢的将它拆开了,翻看着外包装、印刷文字、内附的广告插页……内心其实很迫切的想尽快将这台有趣的电子设备拿在手中把玩,但我知道要克制。如果只是一股脑地端详、把玩、上电测试……一股脑地将它拆开、抄板、解读……那么它所能带给我的乐趣将会很快结束。 所以我克制着,希望能够一点点的玩味,直到下一个儿童节的到来。
文字输入框开发小进展
在《看似简单的输入控件,工作量巨大》中提到了我正在制作InputControl控件,其中工作量巨大,但没有办法,谁叫我想自己实现这个程序呢?不得不硬着头皮一点点的将每一个细节实现出来。 不过距离上一次代码撰写已经过去14天了(中间插入了其他的工作:要基于electron.js开发另外一个项目),今天又重新开始对纯原生小应用进行开发。 一、今日已经完成工作: 1、完成了光标的跟随:在InputControl获得焦点之后,可以出现光标,之前这个光标是“死”的,今天已经可以根据InputControl里面的内容,自动计算出内容长度,然后令光标跟随在文字的后面。 2、预输入文字也可以出现在InputControl中:涉及到借助IME进行内容输入时(例如中文输入),输入内容是分为2部分的:预输入文字+正式输入文字。现在预输入文字已经可以同时展现出来了。 3、IME弹出位置在正式文字输入完成或删除完成之后,根据InputControl的内容,重新计算,重新指定IME下一次可能出现的位置。 二、InputControl里面欠缺的主要细节: 0、【bug】预输入文字的删除存在多个问题:预输入文字会在某些情况下一次性全部删除、预输入文字的最初一个字符的删除事件得不到; 1、通过键盘的方向按键调整光标的位置; 2、通过鼠标调整光标的位置; 3、通过键盘或鼠标进行内部文字的框选,进而再通过组合按键进行复制、剪贴、黏贴等操作; 4、鼠标右键在InputControl中可以弹出上下文菜单,进而进行复制、剪贴、黏贴等操作; 5、预输入阶段的光标位置控制; 6、内容过长时怎么办? 7、对于可换行InputControl的处理; 8、正式输入文字和预输入文字的渲染形式应该不同; 9、具有了方向键调整光标位置的功能之后,预输入文字可能是插在正式文字中间的,这种情形也要考虑并实现。