tbox的vector容器沿用了stl库中vector的命名,说白了就是以数组方式存储元素,也是整个容器库中最基础的容器之一。
当然,在c中用tbox的vector跟用stl的vector其实差不了太多,用起来都很方便。
先看个简单的例子熟悉下:
```c
// 初始化一个维护大小写敏感字符串的vector容器,第一参数设置元素自动增长大小,这里使用0表示默认大小
tb_vector_ref_t vector = tb_vector_init(0, tb_element_str(tb_true));
if (vector)
{
// 在头部插入元素
tb_vect
继续阅读 »
向量的归一化
从起始点A到目标点B的路径上的碰撞检测
常见的一个应用场景:游戏技能里有玩家冲一个地方闪现到另外一个指定点,中间不能有阻挡物, 否则就停在阻挡物那里。
在几何空间中, A每次移动一个单位长度dir,逐步靠近B,就是A每次增加一个unit vector
归一化:即将一个向量, 使它的模(length)等于1,并且方向不变, normalize后的向量dir, 就是一个单位向量了
用做在空间中,向量往前增加一个单位长度, 即 += dir
继续阅读 »
下面介绍一下 Android 5.0 官方推出了一个全新的标签 vector --> 官网地址
创建矢量图片
在 Android 5.0(API 级别 21)及更高版本中,您可定义矢量图片,而且图片可在不丢失定义的情况下缩放。您只需一个资产文件即可创建一个矢量图像,而位图图像则需要为每个屏幕密度提供一个资产文件。如果要创建一个矢量图像,请您在 XML 元素中定义形状的详情。
下列示例以心形定义一个矢量图像:
```xml
android:height="256dp"
android:width="256dp"
android:viewportWidth="32"
androi
继续阅读 »
window.location.href = "https://www.zybuluo.com/ShawnNg/note/582813"
继续阅读 »
more
```cpp
include
include
define MAX_SIZE 10
using namespace std;
inline vector to_vec(int n) {
vector v;
v.reserve(MAX_SIZE);
while (n) {
v.push_back(n % 10);
n /= 10;
}
return v;
}
继续阅读 »
游戏服务端碰撞检测
最近看了一些游戏碰撞检测相关的一些内容,然后开始读了一些我们游戏里关于碰撞检测的代码,我们游戏里现在的碰撞检测按我暂时阅读完的代码, 应该分为2块,相对来说我们基本的碰撞检测算法是比较简单的, 后面也记录一下网上看到的关于分离轴多边形的碰撞检测。
继续阅读 »
AITrace的基本路数
先记录几个经常用到和碰到的三角函数和向量点计算时用到的tips:
有二维向量 A(x, y), B(x, y)
1, 向量的模, 可以看做是向量点在x,y坐标系下的向量长度, 记作 |A| = sqrt(A.x*A.x + A.y*A.y);
2, 向量相减产生一个新的Vector point, A - B = (A.x-B.x, A.y-B.y), 一个新的Vec point;
3, 相减后的new point,计算出模, 可以看做是A 点与 B点的距离差额(暂时理解如此);
4, 点积, 也就是相乘,A*B = A.x * B.x + A.y * B.y, 点积有个三角函数相关的
继续阅读 »
前几天去一个公司参加面试遇到这个问题,Java中Collection和Collections的区别,当时不会,回来从网上找到,现在记录一下。
1、java.util.Collection 是一个 集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack└Set
2、java.util.Collections 是一个包装类。它包含有各
继续阅读 »
前言
Android 从5.0(代号L)开始支持矢量图,心想,这个好哇,drawable/mipmap图片资源终于可以瘦身了!后来还特地翻墙在YouTube上观看了Google IO大会上在Android Studio中创建Vector drawable的视频。本着匆用新版本的原则。一直对它处于了解阶段。并未在项目中实践。前一阵子,实践了一把,结果差点被坑死。下面列举一下本人亲自踩过的坑。
继续阅读 »
此题最简单、直观的办法是递归求解:
more
```cpp
vector a; //待登船的汽车长度(单位厘米)数组
int L; //车道长度,单位厘米
//当左右两个车道可用容量分别为left、right时,
//从a[i]到a[n - 1]可登船的最多汽车数
int solve(int i, int left, int right) {
if (i >= a.size() || (a[i] > left && a[i] > right))
return 0;
int l = 0;
int r = 0;
//如果a[i]放在左边
if (a[i] <= left)
l = solve(i
继续阅读 »