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

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

于 2023-08-07 发布 文件大小:208.87 kB
0 40
下载积分: 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# Access版资产管理系统
    C# Access版资产管理系统源代码,SQL数据库版,数据库初始用户名为sa,密码为sa;本程序在界面方面使用IrisSkin2.dll进行了美化。关于数据库配置的说明:正常情况下本软件不需要人工配置,程序会自动配置运行环境。如果自动配置失败,有如下方法配置:   1.在C目录下建立名为Solut_EquipentMgr_Dat的文件夹,并把本软件根目录下的Data文件夹下Equipment_Manage_dat.mdf 、 Equipment_Manage_log.ldf、BuidDatabase.sql、KillProcessProcedure.sql 四个文件复制到该文件夹内。   2.打开SQL Server 2005 附加Equipment_Manage数据库。   3.在运行Data目录下KillProcess.bat文件即可。
    2022-02-06 04:12:23下载
    积分:1
  • C# 在Vista、Win7中显示XP风格的文件对话框
    C#自定义打开文件对话框,并在文件打开对话框中添加自定义区域,可以在非Windows XP系统中调用XP风格的对话框,比如本例子演示了在Vista或Windows7 中显示XP风格的文件对话框:   private void button1_Click(object sender, EventArgs e)   {//在文件打开对话框中添加自定义区域    this.openFileDialog1.AutoUpgradeEnabled = true;    this.openFileDialog1.CustomPlaces.Add(@"F:");    this.openFileDialog1.ShowDialog();   }   private void button2_Click(object sender, EventArgs e)   {//在Vista中显示XP风格的文件对话框    this.openFileDialog1.AutoUpgradeEnabled = false;    this.openFileDialog1.ShowDialog();   }
    2022-03-15 22:57:57下载
    积分:1
  • 104规约IEC60870-5-104
    完整的能通过vs2010运行的IEC-104主站和辅站源代码,本人在公司实习亲自编写的。对初学者帮助很大而且对104协议的剖析很清楚。
    2023-05-22 09:00:20下载
    积分:1
  • LIVE555协议
    环境为VS2010+Win7,文件里包含编译好的live555、提取的4个lib、myLive555Header和编译截图,具体过程可以参考博文:http://www.cnblogs.com/skyseraph/
    2022-05-22 12:22:07下载
    积分:1
  • C++实现XY坐标
    框架为MFC,语言为C++,利用这两个实现了画XY坐标系的功能,功能测试公国,源码已上传!不足之处请大家多多指教!谢谢!!!! 好的功能想法,也可以留言 谢谢
    2023-05-13 07:30:07下载
    积分:1
  • C# 利用“[^]”通配符进行查询
    C# 利用“[^]”通配符进行查询   string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串    @"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");   string P_Str_SqlStr = string.Format(//创建SQL查询字符串    "SELECT 学生姓名,年龄,性别,家庭住址 FROM tb_Student");   SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器    P_Str_SqlStr, P_Str_ConnectionStr);   DataTable P_dt = new DataTable();//创建数据表   P_SqlDataAdapter.Fill(P_dt);//填充数据表   return P_dt;//返回数据表
    2022-03-20 15:58:24下载
    积分:1
  • C# 禁止鼠标左键单击的实现
    C# 禁止鼠标左键单击,附上例子源码,禁止后将不响应鼠标左键消息,当然也可恢复鼠标左键,直接关闭本程序即可恢复,实现方法也很简单,看如下代码:   private void button1_Click(object sender, EventArgs e)   {//禁止鼠标左键单击    Application.AddMessageFilter(this);    MessageBox.Show("鼠标左键已经被禁止,请用Tab键执行操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);   }   private void button2_Click(object sender, EventArgs e)   {//允许鼠标左键单击    Application.RemoveMessageFilter(this);    MessageBox.Show("鼠标左键已经被解禁,可以执行操作!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);   }   public bool PreFilterMessage(ref System.Windows.Forms.Message MySystemMessage)   {//不响应鼠标左键消息    if (MySystemMessage.Msg >= 513 && MySystemMessage.Msg
    2022-03-09 09:45:43下载
    积分:1
  • CA ciso
    数字证书的demo程序,用于KPI建设。基于openssl实现。采用vc6.0编译。
    2022-06-28 03:32:13下载
    积分:1
  • C# 显示DataGridView控件中选定的单元格、行和列
    Visual C#显示选择的DataGridView单元格,获取DataGridView控件中选定的单元格、行和列,测试前请连接好数据库,实现此功能核心代码如下:   if (customersDataGridView.AreAllCellsSelected(true))   {    MessageBox.Show("所有单元格已经被选择!", "信息提示",MessageBoxButtons.OK);   }   else   {    System.Text.StringBuilder MyInfo =new System.Text.StringBuilder();    for (int i = 0;    i < MyCount; i++)    {    MyInfo.Append("行号: ");    MyInfo.Append(customersDataGridView.SelectedCells[i].RowIndex.ToString());    MyInfo.Append(", 列号: ");    MyInfo.Append(customersDataGridView.SelectedCells[i].ColumnIndex.ToString());    MyInfo.Append(", 单元格值: ");    MyInfo.Append(customersDataGridView.SelectedCells[i].Value.ToString());    MyInfo.Append(Environment.NewLine);    }    MyInfo.Append("一共选择了: " + MyCount.ToString()+"个单元格");    MessageBox.Show(MyInfo.ToString(), "信息提示", MessageBoxButtons.OK);   }
    2022-03-18 13:11:05下载
    积分:1
  • C# 编写多种窗口排列方式的MDIForm窗体
    C# 实现MDIForm窗体功能,代码中实现了3个MDI子窗口,并以水平平铺、垂直平铺、层叠排列的方式实现多种子窗口的排列布局,其主要代码在form1.cs中,其它文件为生成子窗口的文件,关键代码如下:   private void toolStripMenuItem1_Click(object sender, EventArgs e)   {    Form2 frm2 = new Form2();//实例化Form2    frm2.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm2.Show();//使用Show方法打开窗体    Form3 frm3 = new Form3();//实例化Form3    frm3.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm3.Show();//使用Show方法打开窗体    Form4 frm4 = new Form4();//实例化Form4    frm4.MdiParent = this;//设置MdiParent属性,将当前窗体作为父窗体    frm4.Show();//使用Show方法打开窗体   }   private void 水平平铺ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.TileHorizontal);//使用MdiLayout枚举实现水平平铺   }   private void 垂直平铺ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.TileVertical);//使用MdiLayout枚举实现垂直平铺   }   private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)   {    LayoutMdi(MdiLayout.Cascade);//使用MdiLayout枚举实现层叠排列   }
    2022-03-07 15:00:14下载
    积分:1
  • 696518资源总数
  • 104269会员总数
  • 31今日下载