gpt4 book ai didi

iphone - 将点数组转换为三角形带的快速方法?

转载 作者:行者123 更新时间:2023-12-03 21:24:21 26 4
gpt4 key购买 nike

我有一个 CGPoints 数组(带有两个 float 的基本结构:x 和 y)。我想使用 OpenGL ES 使用这些点绘制纹理曲线。我只用两个点就可以做到这一点,但当我需要从几个点画一条线时,它会变得更难。

目前,我水平画一条线,根据给定的点计算其角度,然后旋转它。我认为对曲线中的所有线都这样做不是一个好主意。可能有更快的方法。

我想我可以一次“放大”或“收缩”所有点以形成具有某种宽度的曲线。

最佳答案

我不确定你想要完成什么,但请考虑一下:

基于点的有序列表,您可以使用这些点绘制折线。如果您想要一 strip 有 2D 纹理的折线,您可以绘制一系列四边形(当然,每个四边形使用两个三角形)。您可以使用类似于 catmul-rom 样条生成的想法来生成这些四边形。

考虑一系列点 p[i-1]、p[i]、p[i+1]。现在,对于每个 i,您可以沿着垂直于连接 p[i-1] 和 p[i+1] 的线找到两个点,每个点距 p[i] 一个 epsilon 距离。您可以通过多种方式确定为端点生成的两个点,例如使用从 p[0] 到 p[1] 的直线的垂线。

我不确定这是否比您的方法更快,但您应该缓存结果。如果您计划每帧都执行此操作,则可能需要另一种类型的解决方案来解决您的问题。

关于iphone - 将点数组转换为三角形带的快速方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1967812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com