新手求助C#编程问题

zhengqian0009 2018-02-16 07:34:12
http://blog.csdn.net/tsp1600202113/article/details/78107439

前天问过如何通过大量网格坐标生成三维曲面,有个热心网友提供了上述生成三角网的方法。
里面有个Tinline应该是个自建类吧,哪位大神指导一下这是个什么类?应该如何命名啊
...全文
234 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengqian0009 2018-02-17
  • 打赏
  • 举报
回复
谢谢各位大咖的帮助,不过我还是觉得这样做有点简单,还是选择用csgl做出来的效果好一些。谢谢大家
threenewbee 2018-02-16
  • 打赏
  • 举报
回复
是arraylist,你替换成你的数据结构就可以了。
xuzuning 2018-02-16
  • 打赏
  • 举报
回复
        // 将三维点投影到二维屏幕上(单点透视)
public PointF Point2D(double viewX, double viewY, double viewZ)
{
return new PointF(
(float)(X * viewX),
(float)(Y * viewY));
}

viewX、viewY、viewZ 是视口参数(一般表示显示区域的大小,包括放大缩小,viewZ 目的是微调深度,这里未用)

如果你认为讨论可以结束了,那就点击
zhengqian0009 2018-02-16
  • 打赏
  • 举报
回复
怎么给分啊,对我有用就可以吗
zhengqian0009 2018-02-16
  • 打赏
  • 举报
回复
大神你好!谢谢指导!我还有个问题 我自定义了一个类,想添加上z坐标: public class Point3D { public int x,y,z; public Point3D(int x,int y,int z) { this.x = x; this.y = y; this.z = z; } } 我看这个pointf只有x,y两个分量吧,提示不能转换: 无法将类型“System.Drawing.PointF”隐式转换为“System.Drawing.Point” 参数 3: 无法从“System.Drawing.PointF”转换为“WindowsFormsApplication3.Form1.Point3D” 大神,我这样把point替换成point3D能实现三维坐标连点吗? 您说的生长法生成三角网我也在研究
xuzuning 2018-02-16
  • 打赏
  • 举报
回复

但不管是什么算法,都不是一件简单的事情
xuzuning 2018-02-16
  • 打赏
  • 举报
回复
是的,少了个 TinLine

    class TinLine
    {
        public PointF Begin;
        public PointF End;
        public int ID;
    }
虽然你链接中的算法可以满足你的需要(注意要适当变换起点),但该算法并不能产生真正意义上的三角网 建议使用生长法产生,虽然效率低些,但因为是原始算法,数学概念清晰,不易出错
zhengqian0009 2018-02-16
  • 打赏
  • 举报
回复
哪位大神能指导一下啊。还有如何根据坐标点生成三维曲面?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧