c# - 试图获得等距阴影长度的公式?

标签 c# wpf isometric

我正在创建一个 Canvas ,上面有等距 block 。我想做的是从街区转换出阴影。我目前有一个可以使用的版本,但阴影看起来比应有的要长得多。我想知道是否有任何公式可以计算出如何正确转换阴影。

我想要的是阴影比高度稍短。

So far
(来源:net84.net)

问候 彼得

最佳答案

公式?

它的三角函数:

光源矢量是三角形的 c 边,您的 block 是 a 边。

a^2 + b^2 = c^2

或者阴影的长度为b

b^2 = c^2 - a^2

b = square root of (c^2 - a^2)

PS 这是基于 a 和 b 的角度为 90 度,也就是你的方 block 笔直站立的情况。否则,您需要使用 a 和 c 之间的角度,然后使用 cos、sin 和/或正切来计算边 b 的长度。具体我忘了,不过你可以在这里问:https://math.stackexchange.com/

查看此计算器:http://www.carbidedepot.com/formulas-trigright.asp

关于c# - 试图获得等距阴影长度的公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10386410/

相关文章:

c# - PropertyGroupDescription 未按预期工作

c# - 使用 Entity Framework 时发生内存泄漏

c# - DependencyProperty 中的属性已更改

c# - 如何以编程方式将文本添加到位图图像? WPF

algorithm - 需要基于图 block 的编辑器的算法

javascript - html Canvas 中的等距立方体投影

c# - 在多线程环境中返回 C# 中的字典

c# - 不了解在系统架构中的何处创建 IoC 容器

c# - 如何让我的通用比较器 (IComparer) 处理空值?