Faits : A. Par jugement du 12 décembre 2013, le Juge de police de l'arrondissement de la Sarine a reconnu le prévenu X._ coupable de lésions corporelles par négligence, violation grave des règles de la circulation routière et violation de l'interdiction de circuler de nuit; il l'a condamné à vingt jours-amende à 80 fr. par jour, avec sursis durant deux ans, et à une amende de 200 francs. Le prévenu était également condamné à payer une indemnité de réparation morale de 1'500 fr. à la partie plaignante A._. La Cour d'appel pénal du Tribunal cantonal du canton de Fribourg a statué le 27 novembre 2014 sur l'appel du prévenu. Celui-ci n'attaquait pas le verdict portant sur l'interdiction de circuler de nuit. La Cour a partiellement accueilli l'appel, en ce sens que la partie plaignante est renvoyée à élever ses prétentions civiles par les voies judiciaires civiles; le jugement est confirmé pour le surplus. En substance, les faits sont constatés comme suit: Le 17 janvier 2011 à 16h00, le prévenu circulait dans la commune du Mouret, sur la route du Pafuet en direction de Bonnefontaine, au volant d'un tracteur à sellette avec semi-remorque. Ces deux engins composaient un véhicule articulé long de 16m50. Le prévenu conduisait à la vitesse d'environ 50 km/h; il approchait du débouché de la route du Moulin-à-Benz et du passage pour piétons qui se trouve à proximité. Avant ce passage, il a serré à droite pour croiser un tracteur agricole qui était équipé d'un godet, lequel se trouvait en position haute. Le prévenu et son véhicule articulé ont ensuite passé devant les deux enfants A._ et B._, alors que ceux-ci, sur le passage pour piétons, traversaient la route depuis son côté gauche. Les enfants étaient âgés de six ans et six ans et demi. A._ est tombé sur la chaussée. Il a subi un choc à la tête; ce heurt, dont on ignore s'il s'est produit contre la semi-remorque ou contre le sol, a causé un traumatisme crânien qui n'a lui-même entraîné ni perte de connaissance ni danger de mort. Le passage pour piétons a une longueur de 7m15, correspondant à la largeur de la chaussée, et une largeur de 4 mètres. En tant que la visibilité n'était pas obstruée par le tracteur agricole, le prévenu aurait pu voir les enfants qui s'approchaient de la route dès qu'ils se sont trouvés à moins de 5 m du passage. Selon l'appréciation juridique de la Cour d'appel, en engageant son véhicule sur le passage pour piétons sans avoir envisagé que des piétons surgiraient derrière le tracteur agricole, et sans avoir réduit sa vitesse pour l'adapter aux conditions de visibilité qui étaient défavorables, le prévenu a commis une violation grave des règles de la circulation. B. Agissant par la voie du recours en matière pénale, X._ requiert le Tribunal fédéral de l'acquitter de toute infraction. Selon des conclusions subsidiaires, le recourant doit être reconnu coupable de violation simple des règles de la circulation. A titre plus subsidiaire encore, le recourant demande l'annulation du jugement d'appel et le renvoi de la cause à la Cour d'appel pour nouvelle décision.