浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
桌面GIS
/
问题详情
三维折线GeoLine3D按等分取线上的点
petergis
66EXP
2017年04月25日
三维组件开发一个动态可视域的功能,比如画一条折线(由5个点组成),写了一个timer,想要根据线上的点动态设置viewshed3D.ViewerPosition的位置,以达到动态可视域的功能,可是不知道如何获取GeoLine3D线上的点(比如100等分),请赐教.
三维
请
登录
或者
注册
后回答这个问题。
1个回答
您好,一个GeoLine3D的节点可以通过GeoLine3D.item获取,示例代码如下所示:
for (int i = 0; i < geoLine3D.PartCount; i++)
{
Point3Ds point3Ds = geoLine3D[i];
foreach (Point3D point3D in point3Ds)
{
// point3D就是取到的节点
}
}
郭宇杰
11EXP
2017年04月25日
显示前 8 条评论
为啥还获取折线的节点?
直接通过节点动画来获取线上的节点啊。
我的场景如下:
1,对节点动画设置一个运动轨迹(NodeAnimation.SetTrack(GeoLine3D)),运动轨迹为一条折线,由5个节点组成(node1-node2-...-node5)
2,播放节点动画,并根据NodeAnimation.Postition设置Viewshed3D的ViewerPosition,但是可视域一直是朝着同一个方向的.而我想要的是可视域方向是沿着折线,所以需要设置Viewshed3D的目标点(通过SetDistDirByPoint方法)
另外一个问题是,如果开启第一人称模式及场景随视角移动?(这些功能在桌面有)
(1)您用了节点动画来改变位置,就没必要关心指定的轨迹的的节点了。
(2)视角也是需要调整的,桌面应该是另外写算法实现的,也是基于用到的类也是Viewshed3D,实时调整SetDistDirByPoint。
1,有必要,因为如果运动轨迹是折线的话,我需要根据下一个节点设置目标点,这样扇区才能以折线对折,计算分析出来的结果才是正确的.
2,第一人称模式及场景随视角移动如何通过组件代码实现?能给些思路或例子吗
目前没有哈,想到了告诉您。
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
怎么在三维地图上添加折线,多边形?
如何进行三维等高线分析?
如何根据一个点取指定偏移距离三维线上的下一个点
GeoLine3D 的线型能否设置为虚线型
画折线撤销新建点和修改已画线段的属性
webgl上已绘制的线面是否支持通过鼠标拖动节点等在线进行矢量编辑?
超图9D获取三维线上距一个端点五分之一线长距离的点
如何将分析结果按等级显示在地图上?
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...