有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 2735|回复: 47
收起左侧

[普通教程] 踢馆帝之【抛砖引玉系列】,第一集【线性代数的应用】

 关闭 [复制链接]

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

9

主题

11

好友

1118

积分

Continue

积分
1118
发表于 2012-4-28 13:03:03 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
本帖最后由 踢馆帝 于 2012-4-28 13:26 编辑

可能很多童鞋以前思考过或者现在正在思考,数学究竟对于我们所学的专业起到了多大的作用?我本人是电子工程专业,我就以我微薄的经验,仅仅从电子工程和计算机相关的领域来简单的探讨一下一个重要的数学分支<线性代数>
线性代数可以说是工程领域最重要,应用最广的数学分支之一。
线性代数的应用如此之广,主要是因为它的“简单”
仅仅只有乘加运算,运算载体是矩阵,这都非常有利于线代在计算机上的实现。

说它“简单”,是因为我们将最基本的元素运算交给了计算机,但这仅仅是线代的计算层面,而我们思考问题,应该在更加抽象的层面。
我本人习惯将线代分为两层,计算层,抽象概念层。我们将一些基本运算交给计算机(当然,计算方法也需要我们自己预先编写出来),而我们自己则利用抽象概念来设计算法,脱离繁琐运算,将问题简单化。(这也正是线代的优势)

电子系的童鞋一定还记得电路原理教材前面的坑爹的KVL,KCL例题,巨大的电阻网络加上各种电压源,电流源,列出方程都已经吓尿了。但是有了线代,只需要将它表示为Ax=b,你可以选择用行化简手工计算,如果你用计算机,更是可以祭出LU分解,A求逆,克拉默法则来完爆它。
其实复杂的模拟电路也可以简化为基本“电路网图”,然后用线代来求解,我们常常使用的电路仿真软件就是基于这个原理。

学计算机的童鞋更是离不开线代了,往广了说,众所周知的图形学,应用广泛的图论。
往细了说,网络搜索,数据分析常用的马尔科夫链,奇异值分解,等等。


下面我以一个简单的图形学例子来讲解线代的思考方法。
首先大家必须对线代的一些概念有一个整体的了解,所以下面假定大家已经了解了这些。




                               
登录/注册后可看大图
(图1)

                               
登录/注册后可看大图
(图2)

                               
登录/注册后可看大图
(图3)

如(图1),在oxy坐标系,给定三角形的三个顶点ABC坐标,
求外接圆圆心O坐标。
我们可以发现两种直观的解法
(1)圆心到三个顶点的距离相等,根据两点距离公式,可以得到方程


                               
登录/注册后可看大图

映入眼帘的是大量的平方运算,这是在线代中不愿意看到的,大家可以拿纸笔计算一下,体会一下过程的繁琐。

(2)我们进一步思考由OA=OB=OC可以得到什么,假设只考虑AB两点,如果有某一点到AB距离相等,那么这个点是唯一的吗?显然连接AB,作AB的垂直平分线,这条线上每一点都和AB距离相等。那么BCAC亦然。总结出来就是,abc三边的垂直平分线的交点,就是O
现在看(图2),分别取得ABBCAC的中点EFG,于是得到了(图3)中的线段a=ABb=BCc=ACe=EOf=FOg=GO
于是得到ae,bf,cg三对垂直关系,也就是说两个未知数,三个方程,解出来是没问题的。有的童鞋可能会说,两个方程不就足够了嘛?那么先来看看下面这种情况

                               
登录/注册后可看大图

这个三角形某一个边非常短,另外两边很长,大家可以试想一下用一条长边和一条短边的垂直平分线的两个方程,因为交点距离短边非常远,而距离长边非常近,短边垂直平分线的细微误差,会造成交点更大的误差,而如果选择两个长边的方程就不会这样。所以我们的算法引入三个方程。

下面的图片比较小,大家可以点开来看


                               
登录/注册后可看大图


                               
登录/注册后可看大图


                               
登录/注册后可看大图


                               
登录/注册后可看大图

这一集就差不多这样子啦,希望大家能从中得到帮助。



                               
登录/注册后可看大图

这是这个算法的程序实现


评分

参与人数 3宅魂 +12 宅币 +47 收起 理由
oyoy + 2 Σ( ° △ °|||)︴ 碉堡了
天人 + 7 + 25 Σ( ° △ °|||)︴ 碉堡了
EricHo + 5 + 20 Σ( ° △ °|||)︴ 碉堡了

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

1

主题

0

好友

952

积分

New Game

积分
952
发表于 2012-4-28 13:12:19 | 显示全部楼层
虽不知犹觉厉
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

16

好友

5160

积分

序章

积分
5160
发表于 2012-4-28 13:32:15 | 显示全部楼层
矩阵、向量什么的都是图形学的基础。例如在三维空间中对于模型顶点的控制,主要就依靠矩阵乘法。
游戏开发必学啊
推荐一本入门书籍《3D数学基础:图形与游戏开发》,
这是豆瓣链接,简介什么的,戳我
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

163

主题

73

好友

4万

积分

第二章

积分
45516
发表于 2012-4-28 13:35:55 | 显示全部楼层
非常好!!我细看一下先~~
[url=http://www.gn00.com/forum-110-1.html]<font color="DarkOrange">跟着船长起航
回复 支持 反对

使用道具 举报

该用户从未签到

388

主题

2042

好友

10万

积分

懒人

积分
104579
发表于 2012-4-28 13:42:29 | 显示全部楼层
...........瞎了
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

9

主题

11

好友

1118

积分

Continue

积分
1118
 楼主| 发表于 2012-4-28 13:46:49 | 显示全部楼层
本帖最后由 踢馆帝 于 2012-4-28 13:48 编辑
firzencode 发表于 2012-4-28 13:32
矩阵、向量什么的都是图形学的基础。例如在三维空间中对于模型顶点的控制,主要就依靠矩阵乘法。
游戏开发 ...

其实矩阵只是线性代数的外在表象,更加重要的是线性空间的一些抽象概念
个人认为许多图形学的书给出的算法或者变换矩阵太过直接,很容易陷入知其然而不知其所以然的状况,
所以还是先买一本比较好的线代,好好看看,结合着看图形学的书
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

16

好友

5160

积分

序章

积分
5160
发表于 2012-4-28 14:08:01 | 显示全部楼层
踢馆帝 发表于 2012-4-28 13:46
其实矩阵只是线性代数的外在表象,更加重要的是线性空间的一些抽象概念
个人认为许多图形学的书给出的算法 ...

所言甚是,
打基础打基础
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

746

主题

732

好友

10万

积分

吃货

积分
100198
发表于 2012-4-28 14:33:24 | 显示全部楼层
@14* 这个我能看懂
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

9

主题

11

好友

1118

积分

Continue

积分
1118
 楼主| 发表于 2012-4-28 14:49:34 | 显示全部楼层
natalisilver 发表于 2012-4-28 14:33
这个我能看懂

是版主吗,我感觉我这个帖子放错地方了,你觉得呢?
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

746

主题

732

好友

10万

积分

吃货

积分
100198
发表于 2012-4-28 14:56:38 | 显示全部楼层
踢馆帝 发表于 2012-4-28 14:49
是版主吗,我感觉我这个帖子放错地方了,你觉得呢?

@7* 地研的数学区~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

746

主题

732

好友

10万

积分

吃货

积分
100198
发表于 2012-4-28 14:57:33 | 显示全部楼层
natalisilver 发表于 2012-4-28 14:56
地研的数学区~

偶尔在IT区看到一篇能看懂的帖子真是鸡冻@9*
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

9

主题

11

好友

1118

积分

Continue

积分
1118
 楼主| 发表于 2012-4-28 14:58:38 | 显示全部楼层
natalisilver 发表于 2012-4-28 14:57
偶尔在IT区看到一篇能看懂的帖子真是鸡冻

能不能帮忙移动帖子

点评

这个要肉丸子移,或者hcl或者荒冬 我木有这个区的权限  发表于 2012-4-28 14:59
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

258

主题

314

好友

3万

积分

第二章

积分
35715
发表于 2012-4-28 15:12:54 | 显示全部楼层
很多问题都可以用矩阵相乘来解决的
像图论中S到T的走k步共有多少种走法
另外经典的求第n个斐波那契数也可以化为矩阵乘法
博客什么的求人气 http://bimania.org
回复 支持 反对

使用道具 举报

该用户从未签到

58

主题

229

好友

3万

积分

第二章

积分
36384
发表于 2012-4-28 17:16:30 | 显示全部楼层
数学白学了
[url=http://weibo.com/hinatashuishui]男なら、谁かのために强く
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

7

好友

1万

积分

第一章

积分
10526
发表于 2012-4-28 20:25:56 | 显示全部楼层
不会矩阵的路过。。。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(基宅) ( 粤ICP备18082987号-1 | 浙公网安备 33010902001746号 )

GMT+8, 2024-4-25 20:24 , Processed in 0.324442 second(s), 34 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表