algorithm - 将多边形缩放到边缘?

标签 algorithm language-agnostic math transformation

我知道要缩放顶点我只需要乘以一个比例因子。但我注意到大多数矢量绘图应用程序都显示形状边界框,通过拖动其中一条边,它会将几何体缩放到相反的边缘,然后如果你越过这条边,它最终会在该轴上镜像几何体。如何向边缘扩展?示例:如果您选择圆的最上边缘,它将向其边界框的下边缘缩放,直到它看起来什么都没有,有点像雨滴落到地面时会坍塌。我希望这已经足够清楚了。谢谢

最佳答案

跟踪两条边之间的原始距离,并在移动时计算新的边距。将每个点缩放到原始/新比例,并使用不移动的边缘作为零点,即在缩放之前从每个坐标中减去该值,并在缩放后将其加回去。当两条边相遇并且距离变为零时,小心不要崩溃。

关于algorithm - 将多边形缩放到边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3249246/

相关文章:

php - 计算频率

web-applications - 在编写 Web 应用程序时最常见的编程场景是什么?

创建学校时间表的算法

javascript - 给定 3D 空间中的一条线,我如何找到从它到一个点的 Angular ?

java - Euler 项目 #5 Java- if 语句不执行

java - 如何获得两个整数之间的差

algorithm - 2 个 while 循环嵌套在 1 个 while 循环中的复杂性

分层着色节点的算法

math - float 学有问题吗?

java - 为什么冒泡排序外循环在n-1处结束?