我想在matplotlib中绘制3D屈服面和破坏面。我要绘制的表面类型的示例可以在https://en.wikipedia.org/wiki/Von_Mises_yield_criterion和https://en.wikipedia.org/wiki/Yield_surface中找到。在Maple中,我使用了implicitplot3d来生成此类图形。在Python环境中,可以使用Mayavi。
作为示例,我能够根据此处http://rspa.royalsocietypublishing.org/content/472/2185/20150713所示的方程式,通过将此处https://www.researchgate.net/post/How_can_I_plot_Mohr-Coulomb_yield_criterion_in_3D_using_matlab所示的安东·波波夫(Anton Popov)的MATLAB代码转换为等效的Python代码,为Matsuoka-Nakai准则生成3D破坏面。我只是在Anton的代码中搜索了Python中与MATLAB函数相对应的函数,因此,我确信可以改进我的版本。我对创建3D图不太熟悉,想知道是否有更好的方法来生成相同的图。也请在此处3D plot: Matsuoka-Nakai failure surface上找到图片。
'use strict';
// ES6 class definition
class A {
constructor(msg) {
if(!msg) throw new Error('Give me the message');
this.message = msg;
}
}
// test.js
describe('A constructor', function() {
it('Should throw an error with "Give me the message" text if msg is null', function() {
(() => new A()).should.throw(Error, /Give me the message/);
});
});