PHPで作図
このページの末尾へ
図形のコピー
: ピクリン酸(picric acid)
ヘルプ
ドット数(幅
高
)形式(
gif
jpg
)
set_scale($scale = 10, $org_x_percent = 50, $org_y_percent = 50); function draw_benzene_ring($cx, $cy, $rad, $sa = 0, $wrate = 0.3) { $ret_polygon = array(); $u1 = 0; $v1 = 0; $s1 = 0; $t1 = 0; for($i = 0; $i <= 6; ++$i){ $rang = deg2rad($i * 60 + $sa); $cos_ang = cos($rang); $sin_ang = sin($rang); $u2 = $cx + $rad * $cos_ang; $v2 = $cy + $rad * $sin_ang; if($i == 2 || $i == 4 || $i == 6){ $sang = deg2rad($i * 60 + $sa + 120); }else{ $sang = deg2rad($i * 60 + $sa - 120); } $cos_sang = cos($sang); $sin_sang = sin($sang); $s2 = $u2 + $rad * $wrate * $cos_sang; $t2 = $v2 + $rad * $wrate * $sin_sang; if($i > 0){ draw_line($u1, $v1, $u2, $v2); } if($i == 2 || $i == 4 || $i == 6){ draw_line($s1, $t1, $s2, $t2); } if($i < 6){ $u1 = $u2; $v1 = $v2; $s1 = $s2; $t1 = $t2; $ret_polygon[] = $u2; $ret_polygon[] = $v2; } } return $ret_polygon; } $polygon = draw_benzene_ring($cx = 0, $cy = 0, $rad = 2, $sa = 30, $wrate = 0.2); $angs = array(90, 30, -30, -90, 210, 150); $txts = array("1", "2", "3", "4", "5", "6"); $poss = array(O_POS_LOW_LEFT, O_POS_UP_LEFT, O_POS_UP_LEFT, O_POS_UP_RIGHT, O_POS_UP_RIGHT, O_POS_LOW_RIGHT); $idxs = array(1 * 2, 0 * 2, 5 * 2, 4 * 2, 3 * 2, 2 * 2); foreach($angs as $i => $ang){ $rad_ang = deg2rad($ang); $cos30 = cos($rad_ang); $sin30 = sin($rad_ang); $idx = $idxs[$i]; $idy = $idxs[$i] + 1; //allocate_text_color('red'); //draw_formula($formula_text = '$ '.$txts[$i], $size = 8, $polygon[$idx] + 0.2 * $cos30, $polygon[$idy] + 0.2 * $sin30, $poss[$i]); //allocate_text_color('black'); if($i == 1 || $i == 3 || $i == 5){ draw_line($polygon[$idx], $polygon[$idy], $polygon[$idx] + $cos30, $polygon[$idy] + $sin30); if($i == 1){ draw_formula($formula_text = '$ NO_2', $size = 12, $polygon[$idx] + 2 * $cos30, $polygon[$idy] + 2 * $sin30 - 0.5, O_POS_MIDDLE_LEFT); }else if($i == 3){ draw_formula($formula_text = '$ NO_2', $size = 12, $polygon[$idx] + 2 * $cos30 + 1.2, $polygon[$idy] + 2 * $sin30, O_POS_UP_CENTER); }else if($i == 5){ draw_formula($formula_text = '$ O_2 N', $size = 12, $polygon[$idx] + 2 * $cos30, $polygon[$idy] + 2 * $sin30 - 0.5, O_POS_MIDDLE_RIGHT); } } } draw_line($polygon[2], $polygon[3], $polygon[2], $polygon[3] + 1); draw_formula($formula_text = '$ OH', $size = 12, $polygon[2] - 0.5, $polygon[3] + 1, O_POS_LOW_LEFT);
テンプレートを選択するとプログラムに追加されます。
set_scale(...);
allocate_color('black');
allocate_color('gray');
allocate_color('red');
allocate_color('blue');
allocate_color('green');
allocate_color('purple');
allocate_bgcolor('white');
transparent_bgcolor();
set_thick($thick = 1);
set_dashlen($dashlen = 7);
set_arrow_size(...);
draw_line(...);
draw_horizontal($y);
draw_vertical($x);
draw_dash_line(...);
draw_rect(...);
draw_arrow_head(...);
draw_xaxis(...);
draw_yaxis(...);
draw_xyaxis();
draw_circle(...);
draw_arc_deg(...);
draw_arc(...);
draw_dash_arc(...);
M_PI = 3.1415926535898
M_PI_2 = pi/2
M_PI_4 = pi/4
fill_rect(...);
fill_circle(...);
fill_arc_deg(...);
fill_triangle(...);
fill_quadrangle(...);
fill_polygon();
fill_toborder($x, $y, $border_color_x, $border_color_y);
allocate_text_color('black');
allocate_text_color('gray');
allocate_text_color('red');
allocate_text_color('blue');
allocate_text_color('green');
allocate_text_color('purple');
allocate_text_bgcolor('white');
transparent_text_bgcolor();
set_text_size($text_size);
set_text_margin($text_margin);
set_mark_size($mark_size);
draw_text(...);
O_POS_LOW_LEFT
O_POS_LOW_RIGHT
O_POS_UP_RIGHT
O_POS_UP_LEFT
O_POS_LOW_CENTER
O_POS_MIDDLE_RIGHT
O_POS_UP_CENTER
O_POS_MIDDLE_LEFT
O_POS_MIDDLE_CENTER
get_o_pos_by_ang($ang);
draw_formula(...);
ARC_TYPE_NONE
ARC_TYPE_SOLID
ARC_TYPE_DASH
BEG_TYPE_ARROW
END_TYPE_ARROW
draw_arc_mark(...);
draw_corner_mark(...);
draw_marked_triangle(...);
CMARK_NONE 0
CMARK_1_ARC 1
CMARK_2_ARC 2
CMARK_D_ARC 3
CMARK_1_PIE 4
CMARK_2_PIE 5
CMARK_D_PIE 6
CMARK_SQUARE
CMARK_CROSS
CMARK_CIRCLE
CMARK_DOT
draw_mark(...);
draw_mark_on_line(...);
draw_mark_on_circle(...);
MARK_1_LINE
MARK_2_LINE
MARK_3_LINE
MARK_SQUARE
MARK_CROSS
MARK_CIRCLE
MARK_DOT
set_x_def_range(...);
df1_ax_b($a, $b);
df1_x_y($x, $y);
df1_2p($x1, $y1, $x2, $y2);
df2_ax2_bx_c(...);
df2_ax_p2_q(...);
df2_a_x_al_x_be(...);
df_y_fx($y_fx);
df_xt_yt(...);
unit_vector(...);
calc_angle(...);
normalize_ang($ang);
calc_da(...);
calc_intersec_pt_of_lines(...);
calc_intersec_pt_of_lns(...);
rot90_vec(...);
rot_vec(...);
calc_perpendicular_bisector(...);
calc_distance(...);
calc_circumscribed_circle(...);
calc_didtance_to_line(...);
calc_foot_of_perpendicular_line(...);
calc_parallel_line(...);
calc_foot_of_perpendicular_circle(...);
calc_intersec_pts_of_line_circle(...);
calc_intersec_pts_of_circles(...);
calc_inscribed_circle(...);
calc_2p_arc(...);
calc_3dview(...);
clear_canvas();
set_alphablending($alpha = 50);
set_antialias($antialias = true);
transparent_gif_bgcolor();
xf($x)
x_rev($x)
yf($y)
y_rev($y)
作図プログラムをコンパイルして図形を仮表示する
仮表示
作図プログラムをサーバに保存するには、やる勉にログインしてください。
日付順
名前順
図形の新規作成
ログイン
図形の新規作成
ログイン
このページの先頭へ