热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

三角形箭头向右的_鼠标箭头居然不是对称的!我一定不是最后一个发现

我一定不是最后一个发现的。电脑桌面上的鼠标光标,居然不是对称的。来,我给你们发大一点看看↓那些早就发现的小机灵鬼也别急着得意。你们发现是发现了ÿ
27ff749ac3bdc4b8ad81c07f6cef7d21.png我一定不是最后一个发现的。电脑桌面上的鼠标光标,居然不是对称的。来,我给你们发大一点看看↓

660a393dfca2f5161263331ac3e9a066.png

那些早就发现的小机灵鬼也别急着得意。95b7a0aef70d5b687aa84c5d019199d6.png你们发现是发现了,但你们知道它为什么不是对称的嘛?原因有两点:一、像素的原因。要知道世界所有的图都是由一个个细小的像素组成的。3b1c77cb7769ca81105657d066711557.png如果将我的头像无限放大,我们最后看的将是这样的↓fe7ef5ce883fc99ec3511951061d5f85.gif鼠标的光标图案也不例外。f175e74f9e4c034193c7e121dd45347d.png鼠标的发明者道格拉斯·恩格尔巴特,起初是有意将光标设计成竖直的。

b23fe247d78bc0ffa62a3da39e8cbb41.png

但是在帕罗奥多研究中心的电脑将其开发出来时,却变成了略向右倾斜的。831610a5515b95bad4131c8e57920cf7.png这主要是因为当时的显示器分辨率太低了,鼠标光标上的像素就像锯齿一样,很容易就能被肉眼看见。

d7294c0dd55bbae3dc8de2e54ba78d9c.png

所以为了让“锯齿”美观,当时的设计师选择让箭头左边的这条边成垂直像素。f17f91467b965dfb2e4e90c0f39000f6.png而右边的那条成45°斜角像素。这也就意味着,这个箭头的对称轴的角度,是22.5°。

6ae81a940c4ce6a25f1f88f81419e661.png

如果为了让光标整体对称。那么箭柄的倾斜度就也应该是22.5°,而22.5°的tan值是0.41左右。90c67a1573fdc2472e880a82568a6537.pngtan 22.5°换化成图形结构,就是BC=CD,AB=BD。AD与箭头的对称轴成平行状态。

d266b7688b131b2191c1d0a105dbc1a9.png

接下来进一步抽象,如果把CD看作是1个像素的边。263aaa2009e6846efaf4c3b7a56a8c0a.png那么BC刚好也是1个像素的边。但AB却是1个像素之多,却又不够2个像素。所以,从像素上就没办法填充出一个成22.5°角的光滑斜边。36504b29f6f6a9b507dba5e3d2383eec.png更别说是画出一个好看的箭柄了。

56308dc72f3f370b1c99c6530fb0e621.png

然而要是多加一点度数,设计成26.57°对称的话,情况就会变得截然不同。tan 26.57°值刚好是0.5,使得AB=BC=CD。5ee4430239197d526a18fb2885833512.png这样,像素在填充箭柄时,只需每横移1个像素就固定往下画2个像素就可以了。边缘就会变的比较好看。

ccf7133d51b5f3032e3fb1f5e99b2732.png

二、视觉效应。从视觉上来讲,对称的设计必然看起来很舒服。423406e3947ef54ac8fa3796bc20c910.png但是舒服久了就容易产生视觉疲劳,造成鼠标光标在显示器上看不那么明显。失去了原本其指向性的意义。

bb20b2fd7a82626c2a8722787b4f7409.png

而偏斜的却不会,再加上光标箭头本就尖锐。aaf30f3ee8709927b8ab84df73340286.png二者合一,则会给视觉上一记最锋利的冲击。很多弯刀的设计就是这么理,你品,你细品。

bde79405ccffb0e8ac1b7a531dbdc960.png

至于鼠标光标为什么向左上倾斜,而不是右、右下、左下。d5628f0de7262765214b7a710bf0f2f7.png原因也很简单,多数人是用右手拿鼠标,而光标的主要意义在于替代我们手显示在桌面上。所以它要尽可能的模仿我们。其次,人们看东西时也是习惯从左向右。

e454f40b8269d73314c113c3bf81675b.png

不要小看一个小小的鼠标光标,它内涵着很多学问。光是我今天说的,就有数学、美学和社会学。5b666c9be2d07cbeb8c2e71a04bd3d25.png我们只是习惯了鼠标箭头的样式,才会固定思维觉得它很平常,但对于创造者来说,鼠标光标的样式在他脑中是为零的。所以,它算得上是历史上最伟大的设计之一。

1c3561f8b6fc4e95768d35600df3cd37.png

只是辛苦一些强迫症盆友了。22bea3d861295f73cb80e094a9e9104c.png对不起,告诉你们了这样一个知识。

b27083c45a24088d056ca380d96fc61a.gifed976a713338c3e8eb0d6b6aa270dcf9.gif

喜欢唐唐的,点zan




推荐阅读
  • Python实现照片磨皮效果
    本文介绍如何使用Python和OpenCV库来实现照片的磨皮效果,使图片更加平滑并提升整体美感。 ... [详细]
  • 刘备三顾茅庐的故事流传千古,象征着诚心诚意地邀请贤才。公元207年,47岁的刘备聘请了27岁的诸葛亮,这一段佳话不仅展现了古代君主求贤若渴的精神,也为现代企业招聘管理提供了宝贵的启示。 ... [详细]
  • 使用Dreamweaver创建用户注册表单的详细步骤
    本文将详细介绍如何使用Adobe Dreamweaver创建一个功能完整的用户注册表单。通过本教程,您将掌握从插入表单元素到设置属性的每一个步骤,帮助您快速上手并完成高质量的网页设计。 ... [详细]
  • 本文探讨了《魔兽世界》中红蓝两方阵营在备战阶段的策略与实现方法,通过代码展示了双方如何根据资源和兵种特性进行战士生产。 ... [详细]
  • 本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 使用GDI的一些AIP函数我们可以轻易的绘制出简 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 切比雪夫多项式
    本文主要介绍关于切比雪夫,多项式,矩阵的知识点,对【切比雪夫多项式】和【切比雪夫多项式零点公式】有兴趣的朋友可以看下由【voevie】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的【数学】相关技 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文详细介绍了如何在CAD中自定义快捷键,特别是F1到F12功能键及其组合键的设置方法,帮助用户提高绘图效率。 ... [详细]
  • 本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ... [详细]
  • 深入解析JMeter中的JSON提取器及其应用
    本文详细介绍了如何在JMeter中使用JSON提取器来获取和处理API响应中的数据。特别是在需要将一个接口返回的数据作为下一个接口的输入时,JSON提取器是一个非常有用的工具。 ... [详细]
author-avatar
顽童0006_648
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有