首页
学习
活动
专区
圈层
工具
发布

高斯告诉你:如何让手中的比萨保持坚挺

油管 Numberphile 频道用卡尔·弗雷德里克·高斯的绝妙定理(Theorema Egregium)解释了一下:不管你怎么弯曲一块比萨,它至少有一个区域是平的。...高斯管它叫做“绝妙定理”,它从一个新的角度来观察一个扁平的物体。他想要定义表面的曲率,无论它是否弯曲,定义都不用改变。...这时候,“平”的方向不再出现在比萨的顶部,而是在折合的中心线部分,从人的手一直延伸到比萨末尾,你实际上控制了比萨“平”的方向。 Cliff Stoll在视频上说:“我有一块比萨,我也会这样叠着吃。”...Stoll在视频上一边演示着沿纸张中间画一条线,一边解释说:“如果在这儿画一条线,然后把纸张弯曲成圆筒形,纸张还是平的”。...一块比萨,就像一张纸,完完全全是扁平的。如果直接就这样吃,比萨倾斜的一端朝下,曲率为负,横向是扁平的,曲率为0。这样的形状显然不利于大朵快颐。

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

    创建华丽 UI 的 7条规则 第一部分 (2019年更新)

    这是因为它与屏幕本身处于同一个平面,光线就不能轻易的照到它了。有人可能会说,我们在现实生活中看到的所有按键都是暗的,因为我们的手去按按钮时挡住了光线。...扁平化设计的另一个例子:谷歌的 Material Design language。 这才是我身边最常出现的事物,它使用微妙的现实世界的线索来表达展示事件特征。...这意味着,在 Retina 屏幕中,得想象页面上的交互在一个手机上是否行得通。 这种限制是有好处的,这有助于简化思想。...从较难的问题开始(在小屏幕上可用的应用程序),然后采用更容易的问题的解决方案(在大屏幕上可用的应用程序)。 这里有另一个类似的结束:黑白优先。...或者看看列表标题。“播放列表” 和下划线之间有 15px 的空间。这比字体本身还要高,更别提每个列表之间间隔了 25 个像素了。 顶部的导航条有更多的空间。文字“搜索音乐”占了整个导航条高度的20%。

    1.5K40

    扁平化设计开始流行啦~

    然后我们过去仍然担心一个遗漏的按钮如果它不在屏幕上。我们现在更愿意去探索细致的交互。Windows 8 和安卓的Chrome浏览器甚至支持从屏幕外滑入的触摸指令,没有任何的视觉指示。...屏幕的大小和分辨率是硬件的限制。很小的界面限制每个元素的设计。排版的伸缩以及字号决定了扁平设计的美学性以及可用性。...响应式设计并不要求特别的美学,很明显扁平化的设计比其他设计更容易实现响应式。最小化设计的另一个优势是可以减少页面加载时间。...以下的与扁平设计相关贴士是普遍适用的。 在你开始之前### 对于任意一个项目,第一步是确认你选择的风格是有意义的。在投身于扁平设计之前,确认它与你的目标用户的情感以及平台,设备和应用类型一致。...考虑一个更广的调色板。如果你喜欢我,你会觉窄的调色板会导致更功能化的界面。现在你有机会去延伸,处理更少的元素,你能感觉良好去拓展调色板。

    68640

    前端基础篇css

    :last-child 匹配每个父元素下最后一个子元素 eg: .box a:last-child{color:blue;} 匹配.box下最后一个子元素a(此时,a必须是.box下最后一个子元素) eg...: .box :last-child{color:blue;} 匹配.box下每个父元素下的最后一个子元素 注: :last-child 《=》 :nth-last-child(1) 都是匹配父元素下的最后一个子元素...:last-of-type 匹配父元素下指定类型的最后一个子元素 eg: .uls li:last-of-type{background:yellow;} 匹配.uls下li这种类型的最后一个子元素 注...::last-of-type 《=》 nth-last-of-type(1) 都是匹配父元素下指定类型的最后一个子元素 9....屏幕尺寸是指屏幕对角线的长度,单位为英寸,1英寸=2.54厘米 2.屏幕分辨率 屏幕分辨率是指横纵方向上的像素点数,单位为px,1个像素点=1px (这里的1px是指物理设备上的一个像素点) 常见移动端设备屏幕分辨率

    2.2K30

    折叠屏 ② | 华为资深专家深入解读折叠屏单页面布局设计

    1)自适应动态布局 随着屏幕设备规格的变化,界面中所呈现的信息量有增加,但信息架构不变。常见的自适应动态布局的表现形式为:相对拉升,相对缩放,延伸效果等。...延伸效果 布局特点:延伸布局的特点是当组件内元素横向布局,元素间的距离是固定时,布局可显示元素的数量可随着显示宽度的改变而发生变化。...适应场景:内容呈现型界面,单页面内信息架构扁平,内容元素为单层列表或分组列表结构,如内容门户网站首页面。...重复效果 布局特点:重复布局的特点是,利用屏幕的宽度优势,将相同属性的布局组件(例如:歌单列表,应用列表等),横向并列同时排布。 适应场景:对于内容运营类列表信息,适合在⼤屏上展示更多内容。...Columns的宽度在保证Margins和Gutters符合规范的情况下,根据实际设备的宽度和Columns数量自动计算每一个Columns的宽度。

    1.8K20

    鸿蒙 Flex 容器组件全解析:响应式布局与多端适配权威指南

    它能够根据不同设备的屏幕尺寸、分辨率和方向自动调整布局结构,完美适配手机、平板、智慧屏、车机等多端设备。...// 换行策略 justifyContent: FlexAlign.Center // 主轴对齐}) { // 子组件声明区域}2.2 核心布局优势自适应能力:自动适配不同屏幕尺寸...WrapReverse 模式:新行沿交叉轴反向排列最佳实践:结合space属性设置行间距(建议 8-16vp)Flex({ direction: FlexDirection.Row, wrap:...12)} }) { // 动态生成的卡片组件,超出宽度自动换行}五、空间对齐系统:精准控制子组件分布5.1 主轴对齐策略(justifyContent)对齐方式效果描述典型场景Start(默认)子组件沿主轴起点对齐左对齐列表...: 15, left: 10, right: 10 } // 车机增加内边距 } return 0 }}八、工程实践最佳指南8.1 性能优化策略布局扁平化

    30400

    Verilog实现偶数、奇数、半整数、分数(小数)分频,画电路图用D触发器实现分频

    通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、半整数、分数(小数)。...图1 用D触发器分频 2.奇数分频 Verilog:N为奇数,使用一个计数器循环0-(N-1)进行计数,控制(N-1)/2个高电平,(N+1)/2个低电平,称为A;然后将此A电平信号延迟半个时钟周期称为...B,最后输出C = A|B,即为占空比为50%的奇数分频器。...图2 奇数分频波形 采用D触发器的话,采用方法1,用一个下降沿的D触发器锁存A=clkp1得到信号B=clkn1,把信号A和信号B做逻辑“与”就得到了占空比50%的分频时钟信号clkout[1]。...原理是用计数器循环计数0-10即11个周期,控制输出X前6周期高电平,后5周期低电平,然后再使用计数器得到一个下降沿触发的5低6高的输出Y,最后输出Z = X&Y。 ?

    3.9K10

    大型 Rust 项目经验分享

    然而当涉及到大型的、多 crate 的项目时,Cargo 就不那么统一了,它被组织成一个 Cargo 工作空间。而工作空间是灵活的 —— Cargo 对工作空间的布局并没有一个偏好统一。...回到标题,我认为对于代码行数在一万到一百万之间的项目,扁平化结构是最为合理的。...即使是比较大的列表也比小的树更容易让人一目了然。ls ./crates 给出了项目的层级概览,而且这看起来足够小。 ```shell > ls ....嵌套结构确实比扁平结构更容易扩展。但常数很重要 —— 在你达到一百万行代码之前,项目中的 crates 数量可能会充满一个屏幕。 1.层级布局的最后一个问题是:没有完美的分层结构。...将代码放在一个已存在但是不是很理想的目录中(所以结构会随着维护而慢慢恶化) 对于长期维护的多人项目来说,这是一个重要的问题 —— 树状结构往往会随着时间的推移而恶化,而扁平结构则不怎么需要维护。

    1.4K60

    UITableView在Flutter中是什么?

    那么,当这些基本元素的排列布局超过屏幕显示尺寸(即超过一屏)时,我们就需要引入列表控件来展示视图的完整内容,并根据元素的多少进行自适应滚动展示。...ListView 在Flutter中,ListView可以沿一个方向(垂直或者水平方向)来排列其所有子Widget,因此常被用于需要展示一组连续视图元素的场景,比如通讯录、优惠券、商家列表等。...不过,这种创建方式要求提前将所有子Widget一次性创建好,而不是等到他们真正在屏幕上显示的时候才会创建,所以有一个很明显的缺点,就是性能不好。因此,这种方式仅适用于列表中含有少量元素的场景。...; 最后,将它们一并交由CustomScrollView的Slivers参数统一管理。...对于前两个问题,我们可以使用ScrollController进行滚动信息的监听,以及相应的滚动控制;而最后一个问题,则需要接收ScrollNotification通知进行滚动事件的获取。

    7.4K10

    NumPy 1.26 中文文档(四十二)

    默认值是计算数组的扁平版本沿中位数。自版本 1.9.0 以来支持轴序列。 out ndarray,可选 替代输出数组,其中放置结果。...如果 axis 为负数,则从最后一个轴到第一个轴计数。 新功能在版本 1.7.0 中。 如果轴是整数元组,则对元组中指定的所有轴执行平均值计算,而不是以前的单个轴或所有轴。...换句话说,如果bins为: [1, 2, 3, 4] 那么第一个箱子是[1, 2)(包括 1,但不包括 2),第二个是[2, 3)。然而,最后一个箱子是[3, 4],它包括4。...x中的值沿第一个维度进行直方图处理,而y中的值沿第二个维度进行直方图处理。 xedges ndarray,形状(nx+1,) 第一个维度的 bin 边缘。...相反,x沿数组的第一个维度(垂直)进行直方图处理,y沿数组的第二个维度(水平)进行直方图处理。这确保与histogramdd的兼容性。

    82510

    提高效率 |ArcGIS Pro 中所有快捷键一网打尽

    右箭头键或左箭头键 在功能区或窗格中从一个选项卡移至另一选项卡。 Tab 键或 Shift+Tab 在功能区、窗格、视图或对话框上的命令或项目之间移动。 上箭头键或下箭头键 在列表中的元素之间移动。...J 沿向下靠近视图的方向下移。 在 2D 中,这类似于持续放大。在 3D 中,照相机会垂直向下移动。 向上翻页键 向上移动一个屏幕大小。 在 2D 中,向前平移一个屏幕宽度。...向上翻页键向上移动一个屏幕大小。在 2D 中,向前平移一个屏幕宽度。 在 3D 中,照相机在保持照相机角度和高度不变的同时会向前移动一个屏幕宽度。向下翻页键向下移动一个屏幕大小。...在 2D 中,向下平移一个屏幕宽度。 在 3D 中,照相机在保持照相机角度和高度不变的同时会向下移动一个屏幕宽度。Home向左移动一个屏幕大小。在 2D 中,向左平移一个屏幕宽度。...Ctrl+End 转至最后一行的最后一个单元格。 上箭头、下箭头、左箭头、右箭头 随箭头键的方向移动。 Ctrl + 上箭头 转至同一列的第一行。 Ctrl + 下箭头 转至同一列的最后一行。

    7.9K20

    折叠屏④ | 华为资深专家解读折叠屏各类型应用的典型场景设计实现案例

    下面我们以购物类的应用为例子做分析: 1.单页面延伸 在购物类应用首页、店铺页面等内容展示型页面,开发者可以尝试通过“延伸布局”在同一屏内向用户展示更丰富内容。...通过将搜索栏延伸到用户手指更易接触的屏幕两侧,降低用户操作成本,让用户购物体验更方便。...这类的核心场景都是沉浸式的视频播放和互动,围绕这个核心场景,此类应用有如下特点: 门户和列表页面,海量视频内容资源(一目十行) 沉浸式视频播放状态(持续粘性) 简单的信息架构,层级扁平(适合做特殊设计优化...在折叠屏展开态下,此页面在保持原有结构的情况下,因为屏幕宽度变宽,视频的左右撑满屏已经与沉浸式播放模式相当,用户已经不必须切换到全屏沉浸播放态去最大化欣赏视频,此种显示模式使用了相对拉伸和延伸布局的方式...此种场景,还有一种轻量化模式,可以在小视频独占沉浸播放的模式下,采用推挤的手势,将一个类似于精简列表的单列视频流以边条形式拖入屏幕,从而更好地保持视频沉浸播放的状态。

    1.9K30

    HarmonyOS 应用列表场景性能提升实践

    缓存列表项:提供屏幕可视区域外列表项长度的自定义调节能力,配合懒加载设置可缓存列表项参数,通过预加载数据提升列表滑动体验。...即,屏幕可以展示多少列表项组件,就按需创建多少个ListItem组件节点挂载在List组件树根节点上。屏幕可视区只展示部分组件。...ChatModel类表示聊天列表中列表项,包含联系人信息、最后一条消息内容、时间戳、未读消息数量等信息;totalCount()和getData(index: number)是实现数据源接口类IDataSource...应用可以通过增加cachedCount参数,调整屏幕外预加载项的数量。提供一个开关用于设置是否使能该属性,如下所示。...因此在开发过程中,要尽可能减少布局嵌套,使布局更加扁平化。那么应该如何进行布局优化呢?布局优化思路对于这些常见问题,将通过优化一个聊天列表项的页面布局,来展示布局优化的方法和思路。

    58620

    FPGA学习altera 系列 第二十六篇 奇分频设计

    对于每一个的小实验,我们都可以把它看作是一个小项目,逐步的去分析,设计,调试,最后完成功能。下面我们就开始我们的“小项目”。...项目名称:奇分频; 具体要求:奇分频且占空比为50%; 项目分析:将外部的时钟进行奇数分频,且要求占空比为50%。 ? 架构图如下: ? 系统设计: 1. 工程的名称:div_freq。 2....假设进行奇分频(3分频),只在上升沿的时候发生动作是不可能完成占空比为50%(占空比是1/3或者2/3)。所以我们考虑在时钟的上升沿和下降沿发生动作。 3....设计方法 使用两个计数器,一个计数器在上升沿计数,一个计数器在下降沿计数(假设5分频)。 ? 然后根据两个计数器形成对应的波形(前面3周期的高电平,后面两个低电平): ?

    36710

    用Wolfram语言绘制一笔画环形迷宫

    下面这个的初始状态是一眼可以看出来的迷宫: 02 随机角度选择 第一个观察是这个角度列表长度必须是奇数,不然中心拓扑上就是圆的内部,怎么走也是走不到外面的。...不说结合第一个观察,从内到外偶数位置的缺口怎么走也走不到的,即便相邻的偶数接口在圆的同一个位置,也无关紧要。所以这一条原则又可以修正为相邻奇数位置的角度不能一样,而是要尽可能的差异化。...根据上面的观察我们可以定义一个随机生成角度列表的函数,当然在此之前我们需要定义一些辅助函数。...通过观察可以发现,其实对于一个角度序列,就是要连通奇数位置的(假定起始位置是1)角度。而从哪个方向走取决于偶数位置的角度,要偶数位置的角度没有挡在奇数位置之间。...后者很好办: 然后就是根据三个弧度来生成解圆弧的函数了: 最后我们把线段和圆弧交替穿插起来,就拼成了完整的解路径。交替穿插是为了能够给后面解路径的动画生成提供方便。 从最后效果看,也蛮不错的: ?

    1.9K40

    leetcode.328奇偶链表——Javascript实现方案

    ,然后返回重新排序的列表。...第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。...奇偶指针循环链表,奇数指针不断串连奇数节点,偶数指针不断串连偶数节点,最后奇数指针的结尾连接偶数节点的开始 首先判断如果输入为空,那么直接返回null 定义两个指针,odd 指向奇数位,even...最后奇数位的next 指向偶数位的链表 时间复杂度在O(n) 空间复杂杜在O(1) 代码 var oddEvenList = function(head) { if (head ==...我深知还有很多不足,希望大家能多提建议,还是想舔着脸皮,向屏幕前的大帅比们,大漂亮们,恳请一个小小的点赞,这会是对我莫大鼓励。也祝愿点赞的大帅比们,大漂亮们升职加薪走向人生巅峰!

    35210

    APP性能测试—过度绘制

    过度绘制就是在同一个区域中叠加了多个控件,也就是说一个像素点上会出现多个像素的叠加,实际上呈现在我们眼前的只是最上面的一个。...下面是有关输出的几点注意事项: 沿水平轴的每个竖条代表一个帧,每个竖条的高度表示渲染该帧所花的时间(以毫秒为单位),不同颜色代表不同的渲染阶段。 水平绿线表示16 毫秒。...XCode 9之后的版本则直接需要在Xcode菜单中运行项目时进行调试,如下图所示: ? 开启之后在设备上就可以看到图层混合情况: ? 红色:存在混合图层。 绿色:没有使用混合。...使视图层次结构扁平化 借助先进的布局设计方法,您可以轻松对视图进行堆叠和分层,从而打造出精美的设计。...降低透明度 在屏幕上渲染透明像素,即所谓的透明度渲染,是导致过度绘制的重要因素。

    3.8K21
    领券