thingjsä¸threejsçåºå«ï¼
html5canvasåwebglåthree.jsæä»ä¹åºå«
åºäºwebglç3Dæ¡æ¶ä¹ç®å§ï¼ä¼æå¨ç¥å°ºé èï¼WebGLä½ä¸ºOpenGLçåéï¼å¨HTML5ä¸æå¾å¤§çæ¿æ¦æ¯æå度ï¼ä¸è¿webglæ¯å¾åºå±çä¸ç§ææ¯ï¼ä¸å®¹æå½¢æ3Då¼åæ¦å¿µï¼æ以æå¾å¤åºäºwebglç3Dæ¡æ¶äº§çï¼å¸¸è§çæthree.jsãthingjsãd3.jsççã
thingjsæ¯è¿ä¸¤å¹´çæ°å ´æ¡æ¶ï¼æ¯three.jsæ´ä¸ºé¡¶å±ï¼ç¸å½äºä¸éè¦ä»»ä½3Dä¸ä¸ç¥è¯å¨å¤ï¼åªæå¾js,html5,canvaså¼åé»è¾å°±å¯éµå以è°è¯3Dææï¼å éå¼åæçï¼æ以åå°ä¸å°ä¼ä¸å¼åè ç欢è¿ã
thingjså¨çº¿å¹³å°æä¾3Då¯è§åå¼åå¥ä»¶ï¼3D模ååºæåä¸å¤ä¸ªæ¨¡åååºæ¯ï¼é¡¹ç®å¯¼å ¥å¹³å°æé»è®¤ç¯å ï¼å©ç¨3Dæºç å¼åç¯å ææãåæ¢2D/3dçï¼å 费注åthingjsè´¦æ·å¯çå°ä»¥ä¸3Dç¼è¾å¨ææã
javascriptç¨ä»ä¹å¼åå·¥å ·JavaScriptèªæ¨åºå就大åå¼åè çéçï¼åºäºJavaScriptçå¼åå·¥å ·ï¼è¿éå å«å¤§éçJSå¼åèµæºï¼å æ¬å端ãæ¡æ¶ãéç¨ç±»çï¼ä¸è®¡å ¶æ°ï¼å¼åè 们å¯ä»¥çµæ´»éæ©ï¼è½»æ¾æ建åºç¨ãæ¬æå享å款JavaScriptå¼å工仿æå ·
1.Kreate
è¿æ¬¾å·¥å ·æå©äºå¯¹jQuery对象快éçæDOMãä½ å¯ä»¥å建å个æå¤ä¸ªå ç´ ã
2.NightWatchjs
Nightwatchjsæ¥æä¸ä¸ªç®æ´è强大çè¯æ³ï¼è½å¤å è®¸ä½ å¿«éç¼åæµè¯ãå®æ¯ä¸ç¨äºæµè§å¨åºç¨åç½ç«çä¸æ¬¾ç«¯å°ç«¯çæµè¯è§£å³æ¹æ¡ã
3.Gulpjs
Gulpæ¯æ¯è¾ç«çå¼æºé¡¹ç®ï¼é ç½®æ´ç®æ´ãæ´ç´è§ï¼åå°å¾å¤å¼åè çéçã
4.EasyStarjs
Easystarjsæ¯å©ç¨JavaScriptAPIç¼åçï¼å¸¸ç¨è¯æ建HTML5游æãå¼åè å¯ä»¥å°å ¶ä¸ç°æçJSæ¡æ¶æé 使ç¨ã
5.Headroom.js
Headroom.jsæ¯ä¸æ¬¾è½»é级ãé«æ§è½çJSç»ä»¶ï¼æ ä¾èµæ§ï¼ã
6.Harpjs
Harpæ¯ä¸æ¬¾å¿«éçãè½»é级çWebæå¡å¨ãHarpservesJadeï¼Markdownï¼EJSï¼CoffeeScript,Sass,LESS以åStylusasHTMLãCSSJavaScripåå¯è½»æ¾é ç½®ã
7.GanttTwproject
Twoprojectæ¯ä¸æ¬¾å¨çº¿å è´¹çJSå¼åå·¥åµçå ·ï¼åºäºjqueryå建èæ¥ï¼æ¥æ强大迷人çå大åç¹æ§ï¼å æ¬CSSç®è¤æ ·å¼ãèµæºç¼è¾çã
8.Mocha
Mochaæ¯ä¸æ¬¾åè½ä¸°å¯çJavaScriptæµè¯æ¡æ¶ï¼å¯åºäºnode.jsåæµè§å¨è¿è¡ï¼å®ä½¿å¼æ¥æµè¯åå¾æ´ä¸ºç®åæ趣ï¼æ¯æçµæ´»ä¸åç¡®çè¾åºï¼ææå¼å¸¸ç°è±¡ã
9.ResponsiveNav
ResponsiveNavæ¯ä¸æ¬¾è½»é级çæ件ï¼å¸®å©ä½ 为å°å±å¹å建è¿æ¥å¯¼èªãæ¯æ为移å¨è®¾å¤å建触æ¸äº¤äºè®¾è®¡ä»¥åCSS转æ¢çç¹æ§ã
.FileAPI
æ³è¦å¼åç©èç½3Dåºç¨ï¼ç¨thingjsæ¹ä¾¿è¿æ¯threejsæ¹ä¾¿ï¼
æ¨è使ç¨thingjsæ¥å¼åï¼æ们å¯ä»¥å¯¹æ¯çä¸ä¸threejsåthingjsï¼é¦å äºè§£ä¸ä¸webGLã
WebGLå¯ä»¥å¤ç3Då¾åï¼å¬èµ·æ¥æ¯é常é«å ´çä¸ä»¶äºï¼ä½æ¯WebGLå®å¨æ¯å¤ªåºå±äºï¼WebGl解å³æ¯å¦ä½åç»å¸ä¸ç»å¾çé®é¢ï¼æä¹ç»ç¹ï¼çº¿ï¼é¢ï¼ææ¸ å«æ£ä¹ä¸è²ï¼æä¹è´´å¾ï¼æä¹å¤çå 线ï¼è§è§è½¬å¨ä¹åæä¹æ¢ç®ç»å¶ççãè¿äºå¯¹äºä¸ä¸ªå3Dåºç¨çå¼åè æ¥è¯´è¦å¦çä¸è¥¿å¤ªå¤äºãThreejsåºçåºç°è§£å³äºåºå±ç渲æç»èåå¤æçæ°æ®ç»æï¼ç»äºå°å¤æçåºå±ç»èæ½è±¡åºæ¥ï¼ä½¿å¾å¤§å®¶å¼å3dåºç¨æ´å®¹æäºä¸äºãåå¾å¤å¼åè 交æµthreejsé½æ¯ä»ä»¬é¦æ¬¡æ¥è§¦çWebGL3Dåºï¼å¹¶è½å¾å®¹æçå°±è½å¼å§åä¸èç»äºå®éªãä½æ¯ä½¿ç¨Threejså¼ååºç¨è¿æ¯é¨æ§å¾é«ï¼ä½å°±ä¸ä¸ªå 载模åï¼è°å ï¼éæ©æ¨¡åå¼¹æ¡çåè½ï¼å°±è½å¹²åºThreejsä¸ç¾è¡ä»£ç ãåæ¶è¿æå¾å¤å¤æç3Dæ¦å¿µéè¦ç解ãè¿æ¶å°±éè¦ThingJSäºã
ThingJSæ¯æ´ä¸ºä¸å±çæ½è±¡ï¼ä¸ç¨å ³å¿ï¼æ¸²æï¼meshï¼å 线çå¤ææ¦å¿µãå®æ½è±¡æ¯ä¸ä¸ªä¸ªå ·ä½ç模åï¼ThingJSå°è£ äºå¯¹æ¨¡å交äºäºä»¶çåç§apiï¼æ¯å¦åå»ï¼å·¦é®ï¼é¼ æ æ»è¿çï¼ThingJSå°è£ äºå¯¹æ¨¡åçæä½ï¼ä¾å¦ç§»å¨ï¼æ¾å¤§ç¼©å°ï¼ä¸è²ï¼å¾è¾¹ï¼çè³å¼é¨ï¼ThingJSè¿å°è£ äºæ¨¡åçå±æ¬¡å ³ç³»ï¼ä¾å¦ç©çåä½æ¯æ¾å¨æ个æ¿é´éçï¼æ¿é´åå¨æ个楼å±ï¼æ¥¼å±åæ¯æ个大楼çã大楼å¨ååºéã
æ´å¤äºè§£å¯ä»¥çä¸ä¸ç½é¡µé¾æ¥
怎样将电网频率用于多媒体取证?面向音频取证的电网频率检测与增强有源码
多媒体来源取证与真伪取证的方法有很多种,其中一种有趣的源码取证方法是通过分析音频中的电网频率(俗称电流声)在音频中留下的痕迹,可以有效地检测音视频文件的视灯数据产生时间,并进行各种取证。源码该方法由武汉大学的视灯数据华光等老师提出,文末有源代码,源码laravel强制下载源码供感兴趣的视灯数据老师和同学参考。
电网频率(electric network frequency,源码ENF)是视灯数据指交流电网的传输频率,我国标称值为 Hz(其他国家也有 Hz),源码是视灯数据被动多媒体取证的重要判据。它之所以能够成为取证判据,源码主要有三个原因:首先,视灯数据交流电和用电器的源码活动会产生以标称频率为基波的声学震动以及照明设备的灯光闪烁,这些不易被人感知的视灯数据振动和闪烁可以被音视频录制设备捕捉,形成一种“被动不可见水印”;其次,电网频率在标称值附近随机小范围波动,赋予了电网频率轨迹的独特性;第三,电网频率波动模式在同一电网内部所有位置保持一致,赋予了电网频率波动的一致性。经过多年的发展,电网频率判据已可用于音视频文件产生时间溯源、篡改检测与定位、地理位置溯源、通达信td九转指标源码重放攻击检测等取证任务。目前,电网频率分析是录音文件产生时间被动溯源的唯一有效方法。
然而,基于电网频率判据的数字取证研究仍面临一些困难。首先,并不是任意设备在任意条件下都能成功捕捉电网频率;其次,电网频率相对于录音内容和环境噪声十分微弱,在无法控制录音条件的实际取证任务中难以进行有效提取和分析。针对这两个问题,本项工作分别提出了录音文件中电网频率的检测和增强算法,并建立并开源了目前最大的“电网频率-武汉大学”(ENF-WHU)真实世界录音文件数据集,用于对相关算法进行全面评估。
为确认待验录音文件中是否存在电网频率以保证后续取证分析有效,本工作从信号检测理论出发,逐步放宽对信号模型的假设,推导出电网频率的一系列理论和实际检测器。其中,只有本工作提出的TF-detector为恒虚警率(CFAR)检测器。
由于信号模型和特性的巨大差异,现有语音(或其他信号)的增强的方法均无法有效增强电网频率信号。对于检测到电网频率的录音文件,为提升其可用性,b2c商城系统.net源码本工作提出了一种适合电网频率随机小范围缓慢波动特性的鲁棒滤波算法(robust filtering algorithm,RFA),将观测到的带噪电网频率信号调制到正弦频率调频(SFM)解析信号的瞬时频率,并引入核函数,通过处理其产生的正弦时频分布,逐个恢复去噪后的电网频率观测样本,显著提升了电网频率轨迹的质量,为后续取证分析提供了可靠数据。
以上工作为提升电网频率判据在实际取证中的可靠性,促进基于电网频率判据的录音文件取证从实验室走向实际应用提供了技术支撑。相关成果于和年分别发表在IEEE Transactions on Information Forensics and Security,作者为武汉大学华光、张海剑、廖晗、王清懿、叶登攀。
ENF-WHU数据集和MATLAB程序已开源:
github.com/ghuawhu/ENF-...
Guang Hua and Haijian Zhang*, “ENF signal enhancement in audio recordings,” IEEE Transactions on Information Forensics and Security, vol. , pp. -, .
Guang Hua, Han Liao, Qingyi Wang, Haijian Zhang*, and Dengpan Ye, “Detection of electric network frequency in audio recordings – from theory to practical detectors,” IEEE Transactions on Information Forensics and Security, vol. , pp. -, .
纯CSS实现炫酷背景霓虹灯文字效果
解析CSS代码实现炫酷背景霓虹灯文字效果
通过CSS代码,可以创建出一个如图所示的炫酷霓虹灯文字效果,背景也极具吸引力,仿佛是由多个闪烁着不同颜色的灯光组成。
首先,设置根元素变量,例如,net微信三级分销源码--rotate用于控制旋转动画的角度,--radius、--bg、--width等变量定义背景和形状的基本属性。
接着,在body标签中设置基础背景样式,利用径向渐变(radial-gradient)创建特殊纹理效果,结合background-size和background-position实现默认背景效果。
通过conic-gradient和radial-gradient配合animation动画实现背景旋转效果,使用@keyframes创建一个圆环效果,--rotate值在一定周期内从0deg变化到deg,实现完整的旋转周期。添加radial-gradient和调整background-size,达到所需效果。
为背景添加霓虹灯文字效果,利用text-shadow属性,结合自定义变量--color1至--color4创建动态阴影,进一步添加动画效果模拟灯光闪烁。
实现悬停效果,使用.gd:hover选择器,当鼠标悬停在元素上时,改变边框样式,增加边框效果,手机h5拼图游戏源码提升用户交互体验。
通过CSS代码的解析,我们可以看到,CSS不仅用于定义网页的基本样式,还能创造复杂的视觉效果和动画,提高网页美观性和用户交互体验。
随着前端技术的发展,更多创新设计和实现将为网页带来丰富和动态的视觉效果。关注公众号,回复指定关键词获取完整源代码。
易语言怎么弄一个窗口播放幻灯片(源码)
建立如图所标组件,3个标签组件,2个编辑框组件,2个按钮组件插入窗口组件,并且添加如图所标组件,1个框组件,1个时钟组件。
启动窗口程序集写入以下代码
在窗口1程序集写入以下代码
.版本 2.程序集 窗口程序集_窗口1
.程序集变量 a1, 文本型, , "0"
.程序集变量 a2, 整数型
.程序集变量 a3, 整数型
.子程序 _窗口1_创建完毕
a2 = 1
子程序1 ()
移动 (0, 0, 取屏幕宽度 (), 取屏幕高度 ())
框1. = 读入文件 (a1 [1])
时钟1.时钟周期 = 到数值 (_启动窗口.编辑框2.内容) ×
.子程序 子程序1
.局部变量 文件名, 文本型
.局部变量 文件目录, 文本型
.局部变量 a, 文本型
文件目录 = _启动窗口.编辑框1.内容
.如果真 (文件目录 ≠ “”)
文件目录 = 选择 (取文本右边 (文件目录, 1) ≠ “\”, 文件目录 + “\”, 文件目录)
文件名 = 寻找文件 (文件目录 + “*.*”, )
.判断循环首 (文件名 ≠ “”)
.如果真 (文件名 ≠ “.” 且 文件名 ≠ “..”)
a = 到小写 (取文本右边 (文件名, 3))
.如果真 (a = “jpg” 或 a = “gif” 或 a = “bmp”)
加入成员 (a1, 文件目录 + 文件名)
.如果真结束
.如果真结束
文件名 = 寻找文件 (, )
.判断循环尾 ()
.如果真结束
.子程序 _窗口1_尺寸被改变
框1.移动 (0, 0, 取用户区宽度 (), 取用户区高度 ())
.子程序 _窗口1_将被销毁
_启动窗口.可视 = 真
.子程序 _窗口1_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #Esc键)
_启动窗口.可视 = 真
销毁 ()
.如果真结束
.子程序 _时钟1_周期事件
a2 = a2 + 1
a3 = 取数组成员数 (a1)
.如果 (a2 ≤ a3)
框1. = 读入文件 (a1 [a2])
.否则
a2 = 0
.如果结束
.子程序 _框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
_启动窗口.可视 = 真
销毁 ()
如果按照提示的方法操作失败,或者出现错误,请下载下面附件。
按键精灵颜色里的秘密 - RGB篇
在探索色彩世界的宁静夜晚,你是否曾想象过满天星光的奥秘?在使用按键精灵编程时,你是否对FindColor命令查找的颜色感到好奇?
对于按键精灵而言,颜色以固定6位的字符串形式存在,可以表示多种颜色。有时,多个颜色会被捆绑使用,如查找多个点或与偏色值结合。
在其他编程语言中,颜色常以位整数表示,占据4字节,能表示从-到的整数范围。这种表示方式与按键精灵的表示有何差异呢?
以红色为例,按键精灵使用"FF",而其他语言可能用或表示。数值"FF"与"0xFF"亦表示相同红色,这里解释为何这些数字都能代表红色。
三原色揭示了颜色的秘密,包括红、绿、蓝。当我们放大屏幕,真相显现:屏幕上所有颜色由这三种基本色混合而成。大千世界因此呈现出多彩面貌。
为什么是红绿蓝三色?因为人眼中的视锥细胞仅能识别这三种颜色,通过运算形成我们所见色彩。显示设备据此服务于人类视觉。
颜色查找的目标是一个点,这个点由红绿蓝三色组成,每个点包含三个亮度数据。按键精灵以6位字符串表示颜色,其他语言以位整数表示。
不同软件对颜色表示的差异源自于二进制与十六进制的转换,使得数据简洁易读。十六进制简化二进制,每个字节(0-)足以表示一个灯珠的亮度。
表示红色的十六进制数值"FF "与按键精灵的"FF"有何关系?两者表示的是同一概念,只是基于不同进制读取数据。
在编程中,我们可能看到如"RGB(, 0, )"这样的表示方式,其原理与上述解释相仿,都是使用三个字节表示红绿蓝分量。
实际上,颜色的表示方式多样,包括RGB和BGR排列,这取决于软件标准。因此,在不同环境下,可能需要进行颜色转换,如RGB到BGR的转换。
掌握了颜色的奥秘,颜色处理便变得简单。例如,去除中的绿色和蓝色部分,只需调整代码。大漠插件中的二值化功能即通过判断颜色范围来实现黑白图像生成。
尝试实现这一功能,将是一次有趣的实践。代码虽可能复杂,但原理简单明了。欲获取源码或素材,推荐关注按键精灵论坛、知乎账号或微信公众号“按键精灵”。如有疑问,欢迎在下方留言或私信。
低代码单片机快速实现网络摄像机+温湿度+LED灯控
本文介绍基于 FlexLua 低代码单片机技术实现网络摄像机、温湿度监测与 LED 灯控的快速开发流程。无需复杂的单片机 C 语言编程,即使是新手也能轻松上手,更多学习教程请参考 FlexLua 官网。
实现功能包括:
1. 将开发板作为网络摄像机,允许通过电脑或手机的 Web 浏览器查看实时视频流。
2. 控制开发板上的 LED 灯亮灭。
3. 实时获取并显示开发板上的温湿度数据。
若电脑或手机在相同局域网内,可以实现上述功能。基于此例程,还可以衍生出更多实用方案。
硬件介绍及设计图未展示。
完整代码示例如下:
硬件配置及源代码如下:
硬件包括 ShineBlink Mini 开发板、Wi-Fi 模块、摄像头、温湿度传感器与 LED 灯。开发板上的硬件配置及操作步骤请参考 FlexLua 官网。
完整代码示例包括:
1. 开发板 Lua 源代码,用于设置 Wi-Fi 连接、配置摄像头参数、启动 HTTP 服务器以流式传输视频、获取温湿度数据并实时显示、控制 LED 灯的亮灭。
2. 网页界面代码,存于 ESP-CAM 摄像头模块板子上的 TF 卡的 index.html 文件中,用于展示实时视频流、温湿度数据及用户交互操作。
运行代码后,通过串口调试助手可查看动态分配的 IP 地址。在相同局域网内的电脑浏览器输入该 IP 地址即可访问实时视频流,实现网络摄像机功能。
实现外网访问局域网内的摄像头与 Web 服务器,需将开发板 IP 地址改为静态,通过修改 Lua 代码中 IP 配置表实现。
总结,使用 FlexLua 技术,开发者可快速构建功能丰富的 IoT 硬件,如网络摄像机、温湿度监测与 LED 灯控系统,且无需深入掌握复杂单片机编程知识。通过本文示例代码与步骤,新手也能轻松完成开发。
2024-11-13 10:54
2024-11-13 10:27
2024-11-13 10:22
2024-11-13 09:43
2024-11-13 09:05