摘要: 最近在使用Android的Bitmap.compress方法保存4K png图片时,发现其耗时在1秒钟以上,通过询问deepseek得知相比Bitmap.compress,使用libpng提升png图片的保存速度。接下来本文将阐述在Android中如何集成libpng,以及在使用过程中遇到的问题和最 阅读全文
posted @ 2025-08-24 16:52 Huntto 阅读(122) 评论(0) 推荐(0)
摘要: 现在使用的电子设备大部分都支持触控操作,如手机、平板电脑,这些设备上的应用基本都依赖触摸事件的一些特性,如根据触摸事件移动速度计算视图控件的动画效果。在Android的API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 阅读全文
posted @ 2025-08-17 14:46 Huntto 阅读(232) 评论(0) 推荐(1)
摘要: 根据上一篇文章介绍的方法进行匀速贝塞尔曲线运动时,实际使用时会发现两个问题。 计算失效问题 当\(A=0\),此时不能用\(L(t)\)计算二阶贝塞尔曲线的长度: \[\begin{align} L(t) =& \frac{1}{8A^\frac{3}{2}} \big(T_1T_0-T_2ln(T 阅读全文
posted @ 2025-08-02 17:39 Huntto 阅读(40) 评论(0) 推荐(0)
摘要: 关于二阶贝塞尔曲线匀速运动的实现,网上有很多文章介绍: 匀速贝塞尔曲线运动的实现(一) | 我的博客和笔记 匀速贝塞尔曲线运动算法-CSDN博客 How to achieve uniform speed of movement on a bezier curve? 但每次艰难理解后,下次再看时又得重 阅读全文
posted @ 2025-07-27 16:08 Huntto 阅读(237) 评论(0) 推荐(1)
摘要: 前言 最小二乘法是最小化每个点到直线的垂直误差,由于误差采用的是垂直误差,导致越接近垂直线(平行于\(y\)轴),拟合效果越差,无法拟合垂直线。 通过最小化每个点到直线的距离误差可以解决最小二乘法无法拟合垂直线的问题,也就是总体最小二乘法(Total Least Squares)。 总体最小二乘法 阅读全文
posted @ 2024-03-18 21:31 Huntto 阅读(1663) 评论(0) 推荐(0)
摘要: Android的部分图片编辑应用中需要对图片进行移动、缩放和旋转,这些变化都依赖于触摸手势实现,而本文主要阐述移动、缩放和旋转手势的简单实现。 一、移动 首先需要从触摸事件(MotionEvent)中获取每个手指(Pointer)的坐标,随后计算这些坐标的中心(重心)位置,那么本次触摸事件与前一次触 阅读全文
posted @ 2024-01-01 09:44 Huntto 阅读(365) 评论(0) 推荐(0)
摘要: Gson是一个Java库,可用于将Java对象转换为它们的JSON表示。它还可以用于将JSON字符串转换为等效的Java对象。Gson可以处理任意Java对象,包括您没有源代码的已有对象。 一、简单使用 1. 导入 在Android的build.gradle中添加依赖: dependencies { 阅读全文
posted @ 2023-12-17 13:15 Huntto 阅读(3218) 评论(0) 推荐(0)
摘要: 1. 概述 可以通过线段的跨立实验[1]判断两条线段是否相交,但是想要进一步求它们的交点还是比较麻烦。[2]给出的方法更加简单,其原理来自求三维空间两条线段的交点[3]。为了更好的理解,本文将详细介绍二维空间两条线段的交点求解过程。 2. 两条线段交点求解过程 给定两条线段\(\overline{P 阅读全文
posted @ 2023-06-19 22:23 Huntto 阅读(2431) 评论(0) 推荐(0)
摘要: Vulkan学习笔记之开发环境搭建 一、概述 最近因为工作需要开始学习Vulkan的相关知识,作为初学者,发现相对较好的学习资料莫过于vulkan-tutorial,在自己学习Vulkan的过程中,决定将自己的理解记录下来,一是为了加深记忆,二是为了分享给大家一起探讨学习,因此有了本系列文章,开发环境搭建是本系列文章的第一篇。 二、开 阅读全文
posted @ 2023-05-07 20:26 Huntto 阅读(1633) 评论(0) 推荐(0)