问题:
我正在尝试在地图上缩放多边形,它似乎在水平(经度)中工作, 但垂直(纬度)保持不变。
我是如何接近它的
使用以下步骤进行转换:
1)将纬度和经度转换为笛卡尔点
2)通过对每个点和多边形质心进行差异来将点移动到对象空间
3)按因子缩放每个点
4)通过在质心中加回来将它们移回世界空间。
可能的原因:
在翻译和缩放期间,我只是操纵x和y值。自从 缩放只是2D形状我认为它可以被忽略,但也许我需要操纵 它也在这个过程的某个地方。
我的代码:主执行堆栈,后跟他们使用的所有功能。
protected void btnSend_Click(object sender, EventArgs e)
{
if (Request.Form.GetValues("sendme") != null && Request.Form.GetValues("vidsend") != null)
{
string _docValues = String.Join("<br>", Request.Form.GetValues("sendme"));
string _vidValues = String.Join("<br>", Request.Form.GetValues("vidsend"));
}
else
{
string _docValues = "";
string _vidValues = "";
}
}
答案 0 :(得分:0)
您可能需要的是 SLERP (球面线性插值):https://en.wikipedia.org/wiki/Slerp。只是slerp&#34;之间&#34;多边形的每个点和所选的放大中心,使用参数t
作为缩放因子。