零基础学图形学(11) 几何知识 您所在的位置:网站首页 三角函数在圆中图像 零基础学图形学(11) 几何知识

零基础学图形学(11) 几何知识

2024-07-12 05:26| 来源: 网络整理| 查看: 265

除了点,向量,法向量,矩阵,最后一个在线性代数中有用的渲染图片的技术是将向量表达为球体坐标。我们当然可以不用使用它们渲染图片,但是你可以看到使用它们可以简化很多的问题,特别是提到阴影的时候,这个章节是一个很好的复习三角函数的机会。

(1)三角函数(Trigonometric Functions)

渲染一张计算机生成的图片基本上都是几何相关的问题,因此如果不懂或者是没有使用三角函数(和勾股定理Phythagorean theorem)去创建这样一副图像无疑是很困难的。

让我们先从复习sine 和cosine函数开始,在2D平面上计算它们的角度。通常这些函数定义在单位圆中(也就是半径为1).当我们在P上话一个单位圆是,

我们可以通过上图计算p点的x,y坐标,p点和x轴的夹角的余弦值在x轴上的投影就是x轴的坐标,p点和y轴的夹角在y轴上的投影就是y轴的坐标。这个角我们通常称之为Q(希腊字母theta)。记住这个角度使用弧度(radians)表示的。很容易将角度定义为degrees,但是我们在使用C++三角函数的时候需要内部将它转换成弧度:

记住一个绕着单位圆完整的转一圈的角度代表360度,弧度表示为2pi.

有一点也很重要的是记住余弦,正弦,正切函数它们的关系都是在一个直角三角形中进行计算的。

这个正切的公式很有趣,因为我们的例子使用的是单位圆。可以看到它是  y / x。另外一个有用的函数是反正切函数。换句话说,如果你使用反正切函数去求正切函数的结果你会得到角度Q.在编程中,你可以使用atan函数,但是这个函数不会考虑x, y的正负值。比如,如果P点的坐标是(0.707, 0.707),那么Q的值就是pi / 4.如果P点的坐标是(-0.707, -0.707)那么它们的值应该是3pi / 4;但是正切函数会计算-0.707 / -0.708为1,那么反正切函数求得的值就是pi / 4.很显然这是错的。为了解决这个问题,你需要使用C/C++的atan2函数,它会将点的正负坐标值考虑进去。和atan2类似,你可以计算正弦,余弦的的反正弦,反余弦公司,使用C++中arcsine和arccosine.让我们总结一下当前我们讨论的所有函数。

查阅相关的资料看这些函数确切地会返回什么。一件有趣的事情的是atan2返回的角度是逆时针的正数(上半轴,y > 0),和顺时针的负数(y < 0).它产生的结果范围是[-pi, pi].最后,我们会提到勾股定理ÿ



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有