怎么利用VB 6.0制作函数图像,请高手帮忙解决一下问题,万分感谢!!!!

如题所述

分思路和代码两步说:
思路[就是伪代码]:读取数据[不知道你的数据来源和方式]--画点连线[坐标点,点色,大小;折线,线色,粗细]

代码:不知道数据来源、多少组数据、数据大小范围、不知道是静态的还是动态的图表?无法写代码。

能不能把“不确定表达式的多个函数”给你看下。
........张志晨:您的问题==我的课题......愿携手共进..........追问

你看看这个题目能否用vb帮忙编写一下啊,
杆件在拉伸与压缩变形下的强度及刚度计算
输入:
1.几何尺寸输入(杆件长度)
坐标(0,L)或(0,L1,L2,….)
2.截面参数输入(形状,大小,如为阶梯状杆件,则给出各截面面积A1,A2,….)
3.材料常数输入(E,γ,[σ])
4,载荷输入(集中力Fi大小及位置、方向)
输出:
1 轴力图
2 交合结果(强度条件满足与否)
非常感谢啊!!!!追加剩下的所有分数!!!!

追答

假设要绘制轴力图:
  需要知道有几个点在图上:这些点的X值决定拆线的横向间距,决定X轴单位长。这些点的Y值最大多少最小多少,决定Y轴的单位长。
  你不知道VB编写,正如我不明白你的专业原理一样。
  你给我点坐标,我就能画同图象。但我不会取得点!!

追问

我设计的力学求解器和计算器差不多,当用户任意输入数值进行加法运算时,如何利用数组去储存用户的数值,然后当单击计算时,系统会再次调用数组进行计算,最后得出结果。所以如何用一个文本框和一个按钮去实现呢???最好有代码。非常感谢你帮我解答这么多,再次的感谢!!!完事以后会把我的所有分追加给你!!!谢谢

追答

文本框中输入值对地:用英语逗号隔开,如 25,40;表示x=25,y=40。
两点按钮(不如回车省事),这个点与上一个点的直线便上屏了。
as3代码:
import flash.display.Graphics;

var linesize:Number=1;//线粗
var startY:Number=300-0;

box.graphics.lineStyle(linesize,0xff0000);
box.graphics.moveTo(0,startY);

inNum_txt.addEventListener(KeyboardEvent.KEY_DOWN,run);
function run(e) {
if (e.keyCode==13) {
var n=[];
n=inNum_txt.text.split(",");
inNum_txt.text="";
box.graphics.lineTo(Number(n[0]),300-Number(n[1]));
}
}

追问

高手不好意思,我没学过C语言,只学了vb,请高手用vb给小的写一下代码可以吗? 再就是我想在文本框输入多个数据,比如输入以后单击一个按钮后再输入一个,再单击按钮再输入一个.........
我想把从文本框中输入的多个数据存到一个数组中,再用一个按钮去调用数组画线,现在积分一百多,不管结果如何都会加给高手!!!请问高手能否给个qq号,可以方便以后联系。我是一个学生以后有需帮助的,尽管开口!!!

追答

代码很简单了。我通过QQ给你。
效果图:http://hiphotos.baidu.com/xlzzc/pic/item/70756a08acd168e8d1581bcd.jpg

参考资料:http://hiphotos.baidu.com/xlzzc/pic/item/70756a08acd168e8d1581bcd.jpg

追问

高手,我想从一个按钮调用另一个按钮下的数组,能否给代码,如何调用啊?谢谢
再就是麻烦高手给解释一下你的代码!谢谢,不再追问,回答完后给你我的追加分

追答

我发在空间里了。你去看下。
Private Sub Command1_Click()
Dim p '定义数组
p = Split(Text1.Text, ",") '把文本框里的字符转换为数组
For i = 0 To UBound(p) - 3 Step 2
’UBound(p)'数组最大的下标,就是数组 长度-1
  'leng-3 是保证数组不越界,另外本应减去2,
  '就是说最后一个点是封闭的,不能再画下去了。
  '减去3是为避免出现输入奇数个数据的错误,
  '比如9个数,第9个数只是点x的值,没有y值,略去
  '两个点画一条线段,所以要step 2;
Picture1.ForeColor = RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
  '线段颜色,一段一个随机颜色
Picture1.Line (p(i), 1800 - p(i + 1))-(p(i + 2), 1800 - p(i + 3))
  ‘画线
Picture1.ForeColor = vbRed '绘图的颜色 红色
Picture1.Circle (p(i), 1800 - p(i + 1)), 20’画点,红色
Picture1.Circle (1800 - p(i + 2), 1800 - p(i + 3)), 20’画点,红色
Next
End Sub
效果新图:http://hiphotos.baidu.com/xlzzc/pic/item/1fd71450f93840e58d5430e4.jpg

...........................
从一个按钮调用另一个按钮下的数组:
只把那个要调用的数组放在“通用”下定义即可。全局函数!
Dim p‘这句放在通用里,成为全局函数,可以在任何地方调用了。
’以下没变化
Private Sub Command1_Click()
p = Split(Text1.Text, ",")
For i = 0 To UBound(p) - 3 Step 2
Picture1.ForeColor = RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
Picture1.Line (p(i), 1800 - p(i + 1))-(p(i + 2), 1800 - p(i + 3))
Picture1.ForeColor = vbRed
Picture1.Circle (p(i), 1800 - p(i + 1)), 20
Picture1.Circle (1800 - p(i + 2), 1800 - p(i + 3)), 20
Next
End Sub

参考资料:http://hi.baidu.com/xlzzc/blog/item/e3c48200ccca45147aec2c24.html

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-15
在vb中,可以再窗体或PicTureBox上(其他不知道)绘图,可以通过修改DrawWidth控制宽度。
比如Line,需要定位两个点的坐标,用法是Line(第一个点的X坐标,第一个点的Y坐标)-(第二个点的X坐标,第二个点的Y坐标),便可以在窗体上画一条线。(纯手写原创:仰望_星空_愁思 就是我),还有pset(画点),用法是pset(点的X坐标,点的Y坐标),还有Circle,知道里搜“vb Circle”。等等等等…………反正,只要用上这些函数,再加以控制,就可以画出图了。(我快累趴了)追问

真是太感谢你了!!我想画的函数图象是不确定表达式的多个函数的绘制,能不能给点提示啊,万分感激

追答

'虽然我玩vb一般不用这些个,但是我仍然乐意为你解决。
'里面的参数可以用变量啊。
'给你一个代码
'放一个Command1,Picture1
Private Sub Command1_Click()
Picture1.DrawWidth = 5 '
Picture1.ForeColor = vbBlue '绘图的颜色
Picture1.Line (5, 5)-(50, 50) '画一条线
Picture1.ForeColor = vbRed '绘图的颜色
Picture1.Circle (50, 50), 20 '画一个圆
Picture1.ForeColor = RGB(Int(Rnd * 254) + 1, Int(Rnd * 254) + 1, Int(Rnd * 254) + 1) '随机分配一个颜色
Picture1.PSet (Int(Rnd * 201) + 1, Int(Rnd * 201) + 1) '在随机的位置画一个点
End Sub
'不要抄袭,纯属原创,引用请说明

追问

你看看这个题目能否用vb帮忙编写一下啊,
杆件在拉伸与压缩变形下的强度及刚度计算
输入:
1.几何尺寸输入(杆件长度)
坐标(0,L)或(0,L1,L2,….)
2.截面参数输入(形状,大小,如为阶梯状杆件,则给出各截面面积A1,A2,….)
3.材料常数输入(E,γ,[σ])
4,载荷输入(集中力Fi大小及位置、方向)
输出:
1 轴力图
2 交合结果(强度条件满足与否)
非常感谢啊!!!!追加剩下的所有分数!!!!

第2个回答  2011-08-21
ytdmj,.kg追问

不要捣乱,闲着没事干点正事!!!!

相似回答