登录
首页 » C#源码 » C# 3DTools.dll WPF 3D建模、透视、动画效果演示实例

C# 3DTools.dll WPF 3D建模、透视、动画效果演示实例

于 2023-08-07 发布 文件大小:208.87 kB
0 5408
下载积分: 2 下载次数: 1

代码说明:

这是一个使用C# 3DTools.dll WPF技术实现的 3D建模、透视、动画效果演示实例,本源码包括了以下演示范围:使用ScreenSpaceLines3D绘制的3D坐标系、3D立方体、球、不同光源的折射、不同材质的视觉效果、2D房子、3D房子,用MatrixCamera模拟透视相机等功能,关于透视的若干参数设置和实现原理,请参考PerspectiveByMatrixCamera.xaml.cs,在此文件中包括了正射投影的若干参数, 计算M坐标系下的三个轴单位向量 Mx,My,Mz,计算平移矩阵的dx,dy,dz,计算正射投影矩阵的Sx,Sy,Sz,dz等。   创建相机和光源、坐标系请参考Sphere.xaml.cs文件,如果line3D非空,则需要绘制构建的三角网,计算出来的点,然后加入到MeshGeometry3D的Positions属性。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • C# 拖放打开图片 并平铺窜窗口背景
    C# 拖放打开图片 并平铺窜窗口背景,选择一张图片拖动到窗口中(在本程序中其实不用拖动,只要选中图片超过2秒),就可以在窗口中显示该图片。在编写本程序的时候,不要忘了添加两个比较重要的名称空间:   using System.IO;//对文件进行操作   using System.Threading;//线程程序   同时本程序还自定义了图片和文件操作类:在窗体背景中显示被拖放的图片、向TreeView控件添加被拖放的文件夹目录,返回上一级目录、显示文件夹下所有子文件夹及文件的名称、获取文件夹中所有文件和文件夹、对单个FileSystemInfo进行判断,如果是文件夹则进行递归操作等,这些类可以用在其它的C#程序开发中。
    2023-06-22 09:05:03下载
    积分:1
  • C# 立方体三维旋转动画实例代
    C# 玩转三维空间,编写实现一个立方体的三维旋转动画特效,运行本程序,会看到窗口中有一个3D立方体,不停旋转,视角改变平滑,看似简单的动画,实际上编写起来挺麻烦,代码文件比较多,而且是一个来自国外的C# 源代码,注释也是英文的,这个实例用到了C#的float、ThreeDMatrix()、ThreeDObject()、ThreeDPolygon(points)、ThreeDPoint、ArrayList()等众多方法,对学习C#的图像渲染有一定参考价值。
    2023-01-09 01:55:03下载
    积分:1
  • C#将listBox值添加到Textbox控件中
    C#将listBox值添加到Textbox控件中,在Listbox中输入任意内容,单击添加按钮即可将此内容添加到Textbox文本框中显示,同时还将值从ListBox中移除:   添加值:   listBox1.Items.Add(textBox1.Text);   textBox1.Text = "";   将值从listBox移除:   listBox1.Items.Remove(listBox1.SelectedItem);
    2022-06-15 11:46:02下载
    积分:1
  • C# 设置制表位控制文本项的输出位置
    C# 设置制表位控制文本项的输出位置,将文字输出成表格的样式:   设置制表位控制文本项的输出位置    string MyText = " 姓名 高等数学 离散数学 数据结构 ";    MyText = MyText + "李开斌 95 81 92 ";    MyText = MyText + "汤小敏 78 84 75 ";    MyText = MyText + "汤柱兰 84 76 82 ";    MyText = MyText + "蒋兰坤 85 92 66 ";    MyText = MyText + "黄 丽 83 91 75 ";    MyText = MyText + "张中姣 75 88 82 ";    FontFamily MyFontFamily = new FontFamily("宋体");    Font MyFont = new Font(MyFontFamily, 10, FontStyle.Regular, GraphicsUnit.Point);    Rectangle MyRect = new Rectangle(25, 70, 280, 110);    SolidBrush MyBrush = new SolidBrush(Color.FromArgb(255, 0, 128, 255));    StringFormat MyFormat = new StringFormat();    float[] MyTabArray = { 60, 80, 80 };    MyFormat.SetTabStops(0, MyTabArray);    e.Graphics.DrawString(MyText, MyFont, MyBrush, MyRect, MyFormat);
    2022-02-28 17:10:41下载
    积分:1
  • 贪吃蛇
    游戏贪吃蛇源代码,c语言编写,学习用。
    2022-12-05 05:10:03下载
    积分:1
  • C# 使用COMPUTE BY 统计查询数据库中各部门工资
    C# COMPUTE BY数据库查询实例,本查询可用于统计各部门总工资,测试前请附加好数据库。定义以下代码完成此查询:   DataSet P_ds = GetPay();//得到数据集   txt_Pay1.Text = P_ds.Tables[1].Rows[0][0].ToString();//得到部门总工资   txt_Pay2.Text = P_ds.Tables[3].Rows[0][0].ToString();//得到部门总工资   txt_Pay3.Text = P_ds.Tables[5].Rows[0][0].ToString();//得到部门总工资   string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串    @"server=LVSHUANGSHJ;database=db_TomeTwo;uid=sa;pwd=");   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    "SELECT * FROM tb_Employee ORDER BY 所属部门 COMPUTE SUM(工资) BY 所属部门");//创建COMPUTE BY 查询语句   SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器    P_Str_SqlStr, P_Str_ConnectionStr);   DataSet P_ds = new DataSet();//创建数据集   P_SqlDataAdapter.Fill(P_ds);//填充数据集   return P_ds;//返回数据集   本查询将结果返回DataTable到对象中显示,完整源代码请下载。
    2022-02-05 08:50:14下载
    积分:1
  • C# 根据用户输入的防伪生成随机数
    C# 根据用户输入的防伪码生成随机数,测试时请输入防伪码的长度和个数(以空格来分开),请键入任意字符以结束,这个过程适时显示生成个数:{0},运行时间:{1}ms。根据指定字符生成随机数,这个在平时应用广泛,希望这个源码在生成随机数方面会给你一定参考。
    2022-02-01 00:12:10下载
    积分:1
  • C# 读取SQL Server数据库结构,包括表结构
    Visual C# 2012读取SQL Server数据库结构,在SQL2000中可以顺利通过测试,获取到所有的数据库和指定库的数据表,本程序主要针对用户表进行操作,在进行操作时要求用户名为sa密码为空。
    2022-03-15 16:11:23下载
    积分:1
  • C# 自定义组件的小例子及
    C# 自定义组件的小例子及源代码,包含自定义的UserControl组件和应用该组件的MainFrame主窗体程序,需要在工具箱里右键-》选项-》.Net组件注册一下就能用了。主要通过将xml绑定到TreeView控件完成菜单导航功能,可以在同一窗体中导航不同panel,也可以导航多窗口,需要添加新菜单,只需配置Menu.xml,Menu.xml中显示treeView树形菜单中的各节点数据,将除菜单外所有panel设置为不显示。
    2022-11-10 22:05:03下载
    积分:1
  • C# 实现凹凸按钮(立体按钮效果)
    Visual C# 实现凹凸按钮(立体按钮效果),鼠标放在按钮上,按下鼠标左键,即可看到凹凸效果:   private void Window_Loaded(object sender, RoutedEventArgs e)   {//(上凸效果)    BevelBitmapEffect MyBevelEffect = new BevelBitmapEffect();    MyBevelEffect.BevelWidth = 20;    MyBevelEffect.EdgeProfile = EdgeProfile.CurvedIn;    MyBevelEffect.LightAngle = 320;    MyBevelEffect.Relief = 0.4;    MyBevelEffect.Smoothness = 0.4;    this.button1.BitmapEffect = MyBevelEffect;    bShift = true;   }   private void button1_Click(object sender, RoutedEventArgs e)   {//凹凸显示按钮(下凸效果)    if (bShift)    {    BevelBitmapEffect MyBevelEffect = new BevelBitmapEffect();    MyBevelEffect.BevelWidth = 20;    this.button1.BitmapEffect = MyBevelEffect;    bShift = false;    }    else    {    BevelBitmapEffect MyBevelEffect = new BevelBitmapEffect();    MyBevelEffect.BevelWidth = 20;    MyBevelEffect.EdgeProfile = EdgeProfile.CurvedIn;    MyBevelEffect.Ligh
    2022-04-20 03:11:38下载
    积分:1
  • 696516资源总数
  • 106658会员总数
  • 16今日下载