OGeek|极客世界-中国程序员成长平台

标题: objective-c - 在之前绘制的两个点之后绘制第三个点。 Cocos2d [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 14:13
标题: objective-c - 在之前绘制的两个点之后绘制第三个点。 Cocos2d

好的,让我试着用我能做到的最好的方式来解释。

我有两个点绘制为“A”和“B”,我正在尝试绘制第三个点“C”,使其经过点“B”但沿相同的坡度。我有线条的角度,我会发布一些代码,但我真的不知道从哪里开始。

任何帮助都会很棒!

我有一些代码

CGPoint vector = ccpSub(touchedPoint, fixedPoint);
CGFloat rotateAngle = -ccpToAngle(vector);



Best Answer-推荐答案


假设你的意思是你需要添加第三个点 C 使得所有点都是共线的,你需要做的就是计算从 A 到 B 的向量,然后通过添加倍数生成一个新点这个向量到点 B。根据你希望 C 到 B 的距离选择倍数。

例如,假设 A = (2,2), B = (4,3)。然后从 A 到 B 的向量由 (2,1) 给出。

然后您需要做的就是计算出您的新点距 B 有多远,并将倍数 K*(2,1) 添加到您的点 B,其中选择 K 以满足您的距离要求

我假设你是二维的,但同样的方法也适用于更高的维度

关于objective-c - 在之前绘制的两个点之后绘制第三个点。 Cocos2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11059425/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4