python - عربي - حل مكعب روبيك بالهاتف



رسم مكعب ملون في ماتلوتليب (1)

قد ترغب في إلقاء نظرة على mayavi إذا كنت تستخدم ويندوز، فإنه يأتي بشكل افتراضي مع بيثون (x، y) .

https://src-bin.com

أعمل على رمز إحصائي يولد مجموعة متنوعة من الرسوم البيانية مع ماتلاب. وتتراوح أنواع الرسوم البيانية من الرسوم البيانية فطيرة والشريط بسيطة لشبكات الرسم البياني 3D.

الآن نود واجهة المستخدم الرسومية لطيفة للذهاب مع البرنامج. لدينا نموذج ماتلاب واجهة المستخدم الرسومية، ولكن واجهة المستخدم الرسومية ماتلاب لديه عدد من القضايا، لذلك نود أن الانتقال إلى واجهة المستخدم الرسومية أكثر قوة. أفضل خيار لي يبدو أن بيزيد + ماتلوتليب، ولكن حتى الآن لم أجد وسيلة لرسم 3D شعرية. يستخدم رمز ماتلاب كونتورسليس. هناك لا يبدو أن يكون مكالمة مماثلة في ماتلوتليب. لذلك، يمكن لأي شخص مساعدتي معرفة كيف يمكنني الحصول على الرسم البياني مثل هذا مع ماتلوتليب؟ حتى الآن فكرتي الوحيدة هي الرسم البياني 6 الأسطح لجعل مكعب.

في الواقع، توصيات ل غوي / تركيبات مكتبة الرسم البياني هي أيضا موضع ترحيب. قواعد القانون الأساسي هو C ++، لذلك بيثون هو واحد فقط من العديد من الخيارات. انطلاقا من بعض الإجابات التي رأيتها على ستاكوفيرفلو، قد يكون ماتلوتليب بطيئا بشكل غير مقبول في 3D. ربما R سيكون أفضل؟

إليك شفرة ماتلاب:

clf
xlo = -1.800000e+01; 
xhi = 1.000000e+01; 
ylo = 1.000000e+01; 
yhi = 3.000000e+01; 
zlo = -1.000000e+03; 
zhi = 1.000000e+03; 
X=zeros(16,16,16);
Y=zeros(16,16,16);
Z=zeros(16,16,16);
V=zeros(16,16,16);
% fill in X, Y, Z, and V  huge amount of text
xt = [-1.800000e+01:2.800000e-01:1.000000e+01];
yt = [1.000000e+01:2.000000e-01:3.000000e+01];
zt = [-1.000000e+03:2.000000e+01:1.000000e+03];
isoval = -1.428280e+01;
h = patch(isosurface(X,Y,Z,V,isoval),... 
'FaceColor', 'blue', ... 
'EdgeColor', 'none', ... 
'AmbientStrength', 0.2, ... 
'SpecularStrength', 0.7, ... 
'DiffuseStrength', 0.4);
isonormals(X,Y,Z,V,h);
patch(isocaps(X,Y,Z,V,isoval), ...
'FaceColor', 'interp', ... 
'EdgeColor', 'none'); 
axis([xlo xhi ylo yhi zlo zhi])
daspect([2.800000e+01,2.000000e+01,2.000000e+03])
set(gca,'linewidth',2)
set(gca,'fontweight','bold')
set(gca,'fontsize',12)
grid on
box on
colormap('default'); colorbar

view(3) 
set(gcf,'Renderer','zbuffer')
lighting phong
cin = 'n';
if (cin == 'y')
xin = questdlg('Axis to slide through ?', 'Axis', 'X', 'Y', 'Z', 'X');
xin = lower(xin);
for i = 1 : 101
if gcf ~= plotFigure
return
end
if (xin == 'y')
h = contourslice(X,Y,Z,V,xt(i),[],[],101);
elseif (xin == 'x')
h = contourslice(X,Y,Z,V,[],yt(i),[],101);
elseif (xin == 'z')
h = contourslice(X,Y,Z,V,[],[],zt(i),101);
end
axis([-1.8000e+01  1.0000e+01  1.0000e+01  3.0000e+01 -1.0000e+03  1.0000e+03 -8.6774e+01  4.2066e+02])
set(gca,'linewidth',2)
set(gca,'fontweight','bold')
set(gca,'fontsize',12)
grid on
box on
view(3)
set(h, 'Linewidth', 10)
colorbar
pause(0.3)
if (i < 101)
clf
end
end
end




matplotlib