当然,你可以同时做这两件事。 3D 图形是一个巨大的领域,很多想法不需要数学。另一方面,许多图形算法是建立在数学思想之上的,并用对你来说可能没有多大意义的方程来描述,你可能不明白为什么这些算法有效,或者为什么它们有时不有效。但是现在您将有动力和背景来学习这些技术所依赖的数学,并且您会发现这两个思想领域相互启发。您知道的基本数学越多,您对图形的理解就越好。您对图形的理解越好,数学对您的意义就越大,因为它不会是纯粹抽象的(根据您的问题,我假设您不是为了数学本身而被数学吸引)。传统上,大多数图形都是基于线性代数的。虽然这不是正确的工具(格拉斯曼代数更好,但可能更难学习),但它是一个很好的起点。 Gilbert Strang 写的任何东西都不会出错 - 一个很好的起点是他的“线性代数导论,第 5 版”。当您进入采样(例如,光线追踪)和过滤等想法时,您将需要一些微积分。一本好的大学(或高中)微积分课本将为您提供所需的一切。令人高兴的是,其中一些书非常精彩,以清晰明了的方式解释事物。然后,您可以继续阅读有关信号和系统的书籍。对于图形上下文中的内容,您可以阅读我的教科书“数字图像合成原理”。您可以免费获得这本书 - 请参阅“数字图像合成原理”现在免费下载有一个了解图形和基础数学的朋友或同事会很有帮助。然后,如果您遇到障碍,或者您不确定下一步要采取的最佳步骤,他们可以为您指明正确的方向。作为一个既喜欢数学又喜欢图形的人,我会说你永远不会对这两个主题了解太多!您会发现,当您阅读更多数学知识时,您会看到它如何帮助您制作出色的图形。随着您学习更多图形,您将更多地了解为什么数学是一种必不可少的工具,可以帮助您构建正确有效地工作的算法。
取决于您对 3D 技能的意图。对于建模、装配、动力学、动画,您几乎不需要广泛的数学技能。最多欧拉和四元数旋转,一些矩阵和基本数学。但是,如果您进入 3D 编程(着色器、3D 引擎编程),我建议您首先学习数学。
我做了很多 3D 工作,但都不需要数学。我对这个数学问题感到困惑——有人告诉你,你需要知道很多数学才能做 3D 吗?如果他们这样做了,他们就错了。完全错误。我使用最多的两个程序(并且都是开源的)是 DAZ3D 和 Sketchup。 DAZ 主要用于创建有机角色、动物和人,而 Sketchup 主要用于创建无机作品,例如建筑、结构或制成品(椅子、咖啡机等)。您还可以从这两个程序中导出 STL 文件以进行 3D 打印。除非你喜欢数学,否则一定要学习,但你不需要它来从事 3D 工作。对于 Sketchup,请上网查找 2017 版——不要使用 2018 版。下载并试一试。我使用的另外两个 3D 程序是 Cararra(不是开源但成本不太高,也是 DAZ 产品)和 Blender(开源)。两者都有比 Sketchup 更陡峭的学习曲线,但它们允许认真深入的 3D 工作,我也经常使用它们。他们都不会强迫你知道或使用数学。在所有这些程序中,您都在使用形状和塑造工具(而不是数学)来完成您的工作。我建议你尝试我推荐的所有开源程序,并且一开始不要感到沮丧——首先尝试 Sketchup 2017——它是迄今为止最简单、最有趣的工作,YouTube 上有大量的 Sketchup 教程。玩得开心,随时给我发电子邮件,让我知道进展如何! 3D 工作可以很充实。