翻译的出乎意料的外表倾向于冻结语言的形式,并且一些决定对于"递归函数......"而言相当轻松,后来证明是不幸的.这些包括用于条件表达式的COND表示法,其导致不必要的括号深度,并且使用数字零来表示空列表NIL和真值false.除了鼓励色情编程外,对地址0进行特殊解释也给后来的所有实施带来了困难.
他在说什么?
我正在使用带有RaphaelJS的javascript通过输出到SVG的随机点绘制一条平滑线.该线严格水平,不会在X轴返回.目前,我使用立方贝塞尔曲线从一点到另一点画线.
问题是,线条看起来不够好.两条曲线在一个点处具有难看的连接,其中一条曲线结束而另一条曲线开始,在关节中具有相当随机的角度.如何使前一曲线平滑地转换为下一曲线,同时仍保持线路通过给定点?
在后记中,roll
操作员非常通用且难以可视化.你如何确保你正朝着正确的方向前进?
我希望得到一个可靠的处理,roll
因为我希望能够使用变量转换函数
/f { % x y z
/z exch def
/y exch def
/x exch def
x dup mul
y dup mul
z dup mul add add % x^2+y^2+z^2
} def
Run Code Online (Sandbox Code Playgroud)
使用堆栈操作进入函数,更像是
/f { % x y z
3 1 roll dup mul % y z x^2
3 1 roll dup mul % z x^2 y^2
3 1 roll dup mul % x^2 y^2 z^2
add add % x^2+y^2+z^2
} def
Run Code Online (Sandbox Code Playgroud)
要么
/f { % …
Run Code Online (Sandbox Code Playgroud) 我给了一个字符串2*x + 5 - (3*x-2)=x + 5
,我需要解决x
.我的思维过程是我将它转换为表达式树,比如,
=
/ \
- +
/\ /\
+ - x 5
/\ /\
* 5 * 2
/\ /\
2 x 3 x
Run Code Online (Sandbox Code Playgroud)
但是如何从这里实际减少树?还有其他想法吗?
这是一个wiki问题,为各种体系结构学习汇编语言收集有用的参考资料.
我最近尝试从1964年开始阅读Basic Pdp-1 Lisp的源代码,并且需要广泛搜索参考资料,以便从代码中获得最微小的意义.我觉得我收集的链接可能对尝试阅读类似年份代码的人有用,比如SpaceWar!
所以一个好的答案应包括:
我将通过收集的参考资料开始阅读Pdp-1 LISP.
我想更改 gv 的 GUI 丑陋的默认外观。我使用 editres 来获取 gv 的 x 资源树,并尝试使用以下设置删除按钮的边框:
GV.control.MButton.borderWidth: 0
GV.control.MButton.borderColor: white
Run Code Online (Sandbox Code Playgroud)
它们都不起作用。后来我发现相关资源可能是:
GV.control.MButton.unsetFrameStyle: sunken/raised/ledged
Run Code Online (Sandbox Code Playgroud)
凹陷、凸起、壁架 3 个选项确实改变了框架的风格。但我找不到使框架成为简单线条或消失的选项。
似乎 gv 基于 Xaw3d(我不确定)。不知道这些资源是Xlib、Xt、Xaw提供的还是gv自己提供的。它们不太可能是特定于 gv 的。如果它们是由 Xlib、Xt 或 Xaw 提供的,一旦找到要设置的正确资源和选项,我就可以以相同的方式更改类似 x 窗口程序的外观。
所以我的问题是如何找到正确的 x 资源和选项来删除 x 小部件的边框?
PS:editres 只提供资源列表,不提供选项列表。如果我将它们用于 gv,appres 和 listres 会显示一个非常短的资源设置列表。
我过早地发布了一个代码高尔夫挑战来使用这个数据集(只是茶壶)绘制犹他茶壶.(经过修订和发布的茶壶挑战)但是当我深入研究数据以便掀起一个小例子时,我意识到我不知道这些数据是怎么回事.我对2D中的Bezier曲线有很好的理解,实现了deCasteljau.但对于3D它的工作原理是否相同?
是! 它确实!
数据包含每个包含16个顶点的补丁.这些是如何布局的标准顺序?如果它们对应于2D曲线,则四个角点实际接触表面,其余12个是控制,对吧?
是!
我的"原始计划"是将形状简化为矩形,将它们投影到画布上,然后绘制灰色的填充形状,通过与光矢量垂直的贴片的点积计算.如果我将它简化到那么远,它甚至会看起来像茶壶吗?是否必须使用光线追踪来获得可识别的图像?
这是主观的.:-(
虽然这可能看起来像几个问题,但它们都是这一个问题的所有方面:"请,请好的Guru,在一些Bezier Patches上学习我?我需要知道什么才能画出茶壶?"
这是我到目前为止编写的代码.(使用此矩阵库:mat.ps)
%!
%%BoundingBox: 115 243 493 487
%-115 -243 translate
(mat.ps)run %include matrix library
/tok{ token pop exch pop }def
/s{(,){search{ tok 3 1 roll }{ tok exit }ifelse }loop }def
/f(teapot)(r)file def
/patch[ f token pop { [ f 100 string readline pop s ] } repeat ]def
/vert[ f token pop { [ f 100 string readline pop s …
Run Code Online (Sandbox Code Playgroud) 如何引发32位浮点错误(通常称为协处理器错误[INT 16:8086].
我正在C语言程序中为多精度整数编写一些数学例程,我希望能够轻松编写表达式,但用我自己的函数处理数学运算.所以我想要一些让我这样做的方法:
MPI x=mpi(5),y=mpi(6),z;
z=mpimath(x,+,y);
Run Code Online (Sandbox Code Playgroud)
通过以某种方式对角色进行编码,这在C中是否可行?我知道没有运算符重载所以它必须是函数调用,+
-sign不能是函数名的一部分.
我正在构建一套函数来处理多维数组数据结构,我希望能够定义数组的任意切片,这样我就可以实现两个任意矩阵(又称Tensors或nd数组)的广义内积.
一个APL论文我看了(老实说,我无法找到它-我已经看了这么多)定义的矩阵产品上左矩阵X
,其尺寸A;B;C;D;E;F
和右矩阵Y
,尺寸G;H;I;J;K
,其中F==G
作为
Z <- X +.× Y
Z[A;B;C;D;E;H;I;J;K] <- +/ X[A;B;C;D;E;*] × Y[*;H;I;J;K]
Run Code Online (Sandbox Code Playgroud)
其中+/
是和的和,并且×将元素逐个元素应用于两个相同长度的向量.
所以我需要左边的"行"切片和右边的"列"切片.我当然可以使用转置,然后使用"行"切片来模拟"列"切片,但我宁愿更优雅地做.
维基百科关于切片的文章引出了关于涂料载体的存根,这似乎是我正在寻找的奇迹治疗,但是没有太多可以继续下去.
如何使用涂料矢量来实现任意切片?
(很久以后我注意到了一个有一些细节的数组的Stride.)
c transpose slice multidimensional-array matrix-multiplication