Tag: math

将euler转换为矩阵,将矩阵转换为euler

我正在尝试使用.NET / C#将使用欧拉角度描述的3D旋转转换为矩阵然后返回。 我的约定是: 左撇子系统(x右,y上,z前进) 旋转顺序:绕y前进,绕x旋转,绕z倾斜 使用左手规则(拇指指向+无穷大)旋转是正的 我的试用期是: Euler到矩阵 (为了简化,我删除了x,y,z平移部分) Matrix3D matrix = new Matrix3D() { M11 = cosH * cosB – sinH * sinP * sinB, M12 = – sinB * cosP, M13 = sinH * cosB + cosH * sinP * sinB, M21 = cosH * sinB + sinH * sinP * cosB, […]

C#找到最大的公约数

“两个整数的最大公约数是最大的整数,它将两个数字中的每一个均分。写入方法Gcd返回两个整数的最大公约数。将方法合并到一个应用程序中,该用户从用户读取两个值并显示结果。” (这不是作业,只是我正在使用的书中的练习) 你能帮我解决这个问题吗? 这是我到目前为止所得到的。 谢谢 (编辑 – 我可以提交两个号码,但不会为我计算Gcd) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Greatest_Common_Divisor { class Program { static int GetNum(string text) { bool IsItANumber = false; int x = 0; Console.WriteLine(text); do { IsItANumber = int.TryParse(Console.ReadLine(), out x); } while (!IsItANumber); return x; } static void Main(string[] args) […]

数学表达式解析器

可能重复: .NET中是否有字符串数学计算器? 我需要实现数学表达式解析器。 它必须评估以下表达式: 基本运算符(+, – ,*,/,%[模运算符]) 优先操作如2 *(4-1) sin,cos,tan,cotan,log(base,number)函数 允许像罪一样的成分(cos(log(2,32))) 电源操作如2 ^ 5 首先,我想使用JScript eval函数。 但这不是不安全的,也不是电力运营商。 中学我在互联网上搜索了一些图书馆。 但事实certificate,我不能使用它们。 所以问题如下:JScript eval函数调用的安全性如何,是否有任何标准的.net工具可用于我的任务? 如果没有,哪种算法最好? 截至目前,我正在尝试构建表达式树,然后编译它以获得结果。

如何警告类型转换导致的潜在算术错误?

我正在使用C#编写计算模块,我碰到了这个: double v = 4 / 100; 我知道这是一个错误的初始化,返回v = 0.0而不是v = 0.04 c#规则说我必须确保至少有一个成员是双重的 ,如下所示: double v = (double) 4 / 100; double v = 4.0 / 100; 但是,我有很多涉及整数变量操作的初始化,我觉得懒得逐行浏览我的代码来检测这样的错误。 相反, 是否有可能被编译器警告这个?

围绕中心向量2点旋转对象

我应该在这个前言,我不是一个数学家附近。 我在另一个问题中找到的代码似乎有点工作……除了它导致我放置的对象大部分在屏幕外旋转。 这是代码: public void Update(GameTime gameTime) { Location = RotateAboutOrigin(Center, Origin, 0.01f); } public Vector2 RotateAboutOrigin(Vector2 point, Vector2 origin, float rotation) { var u = point – origin; //point relative to origin if (u == Vector2.Zero) return point; var a = (float)Math.Atan2(uY, uX); //angle relative to origin a += rotation; //rotate //u is now […]

C#桌面应用程序中的漂亮打印数学

在C#(winforms)桌面应用程序中打印数学方程的最佳方法是什么? 源的格式并不重要; 我可以用一点点努力生成几乎任何东西。 重要的是它应该是相对较高的性能和较低的开销(我知道,我只应该选择2个{性能,大小,function},但我想要所有3.) 我考虑过的事情: LaTeX通过System.Process() – > dvipng。 问题:即使最小的LaTeX安装大约200 MB。 考虑到我的应用目前约为400k,我认为这有点过分了。 某种基于JS的数学渲染库,专为Web设计,例如JSMath。 问题:创建HTML输出,仍然需要在WebBrowser中显示。 性能低(可能非常低)。 滚动我自己。 问题:需要花费大量的时间和精力来复制那些曾经去过的人的作品。 很难用C#绘制文本。 有什么建议? 你们中的任何一个人过去都做过这种事吗?

计算文件复制的剩余时间

我有一个应用程序,通过网络将大量文件复制到文件服务器(而不是Web)。 我试图显示剩余时间的一半估计。 我已经查看了很多关于SO的文章,但问题得到了解决,我没有尝试过我真正想做的事情。 我希望估计的剩余时间相对稳定IE不会在整个地方跳转,这取决于波动的传输速度。 所以我看到的第一个解决方案是计算传输速度,以每秒字节数为单位 double bytePerSec = totalBytesCopied / TimeTaken.TotalSeconds; 然后将剩余的总字节除以传输速率。 double secRemain = (totalFileSizeToCopy – totalBytesCopied) / bytePerSec; 我认为,一旦复制了几MB,剩余的时间会变得更加稳定(虽然期望它会改变。但事实并非如此,它的不稳定性和跳跃遍布整个地方。 然后我在SO上尝试了一个解决方案…. double secRemain = (TimeTaken.TotalSeconds / totalBytesCopied) * (totalFileSizeToCopy – totalBytesCopied); 这是一个类似的计算,但希望它可能有所作为! 所以现在我有点想我需要从不同的角度来解决这个问题。 IE使用平均值? 使用某种倒数计时器并重置时间往往每隔一段时间? 只是寻找已经遇到过这个问题的人的意见或建议。

如何在C#中解析数学表达式?

可能重复: .NET中是否有字符串数学计算器? C#可以将数学表达式(如y = 3 * x + 3)解析为字符串吗? 如果是的话,好吗? 我感谢您的帮助。

NHibernate中有任何算术运算预测吗?

我想从NHibernate获取这个SQL: SELECT SUM(color_pages) * SUM(total_pages) FROM connector_log_entry GROUP BY department_name 但我无法在任何地方找到任何算术运算(*)投影。 这是我到目前为止的代码: Session.QueryOver() .SelectList(list => list .SelectGroup(m => m.DepartmentName) .WithAlias(() => dto.Department) .Select(Projections.Sum(m => m.TotalPages)) //.Select(Projections.Sum(m => m.ColorPages)) .WithAlias(() => dto.TotalColorPercentage)) .TransformUsing(Transformers.AliasToBean());

%(mod)解释

今天我用C#编写了一个程序,我用%来计算一些索引…我的程序没有用,所以我调试了它,我意识到“ % ”不像我知道的其他程序语言那样工作。 例如: 在Python中, %返回如下值: for x in xrange (-5, 6): print x, “% 5 =”, x % 5 -5 % 5 = 0 -4 % 5 = 1 -3 % 5 = 2 -2 % 5 = 3 -1 % 5 = 4 0 % 5 = 0 1 % 5 = 1 […]